1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package chimesdkmessaging
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAssociateChannelFlow = "AssociateChannelFlow"
17
18// AssociateChannelFlowRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateChannelFlow operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AssociateChannelFlow for more information on using the AssociateChannelFlow
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AssociateChannelFlowRequest method.
34//    req, resp := client.AssociateChannelFlowRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/AssociateChannelFlow
42func (c *ChimeSDKMessaging) AssociateChannelFlowRequest(input *AssociateChannelFlowInput) (req *request.Request, output *AssociateChannelFlowOutput) {
43	op := &request.Operation{
44		Name:       opAssociateChannelFlow,
45		HTTPMethod: "PUT",
46		HTTPPath:   "/channels/{channelArn}/channel-flow",
47	}
48
49	if input == nil {
50		input = &AssociateChannelFlowInput{}
51	}
52
53	output = &AssociateChannelFlowOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateChannelFlow API operation for Amazon Chime SDK Messaging.
60//
61// Associates a channel flow with a channel. Once associated, all messages to
62// that channel go through channel flow processors. To stop processing, use
63// the DisassociateChannelFlow API.
64//
65// Only administrators or channel moderators can associate a channel flow. The
66// x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
67// of the user that makes the API call as the value in the header.
68//
69// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
70// with awserr.Error's Code and Message methods to get detailed information about
71// the error.
72//
73// See the AWS API reference guide for Amazon Chime SDK Messaging's
74// API operation AssociateChannelFlow for usage and error information.
75//
76// Returned Error Types:
77//   * BadRequestException
78//   The input parameters don't match the service's restrictions.
79//
80//   * ForbiddenException
81//   The client is permanently forbidden from making the request.
82//
83//   * NotFoundException
84//   One or more of the resources in the request does not exist in the system.
85//
86//   * UnauthorizedClientException
87//   The client is not currently authorized to make the request.
88//
89//   * ConflictException
90//   The request could not be processed because of conflict in the current state
91//   of the resource.
92//
93//   * ThrottledClientException
94//   The client exceeded its request rate limit.
95//
96//   * ServiceUnavailableException
97//   The service is currently unavailable.
98//
99//   * ServiceFailureException
100//   The service encountered an unexpected error.
101//
102// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/AssociateChannelFlow
103func (c *ChimeSDKMessaging) AssociateChannelFlow(input *AssociateChannelFlowInput) (*AssociateChannelFlowOutput, error) {
104	req, out := c.AssociateChannelFlowRequest(input)
105	return out, req.Send()
106}
107
108// AssociateChannelFlowWithContext is the same as AssociateChannelFlow with the addition of
109// the ability to pass a context and additional request options.
110//
111// See AssociateChannelFlow for details on how to use this API operation.
112//
113// The context must be non-nil and will be used for request cancellation. If
114// the context is nil a panic will occur. In the future the SDK may create
115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
116// for more information on using Contexts.
117func (c *ChimeSDKMessaging) AssociateChannelFlowWithContext(ctx aws.Context, input *AssociateChannelFlowInput, opts ...request.Option) (*AssociateChannelFlowOutput, error) {
118	req, out := c.AssociateChannelFlowRequest(input)
119	req.SetContext(ctx)
120	req.ApplyOptions(opts...)
121	return out, req.Send()
122}
123
124const opBatchCreateChannelMembership = "BatchCreateChannelMembership"
125
126// BatchCreateChannelMembershipRequest generates a "aws/request.Request" representing the
127// client's request for the BatchCreateChannelMembership operation. The "output" return
128// value will be populated with the request's response once the request completes
129// successfully.
130//
131// Use "Send" method on the returned Request to send the API call to the service.
132// the "output" return value is not valid until after Send returns without error.
133//
134// See BatchCreateChannelMembership for more information on using the BatchCreateChannelMembership
135// API call, and error handling.
136//
137// This method is useful when you want to inject custom logic or configuration
138// into the SDK's request lifecycle. Such as custom headers, or retry logic.
139//
140//
141//    // Example sending a request using the BatchCreateChannelMembershipRequest method.
142//    req, resp := client.BatchCreateChannelMembershipRequest(params)
143//
144//    err := req.Send()
145//    if err == nil { // resp is now filled
146//        fmt.Println(resp)
147//    }
148//
149// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/BatchCreateChannelMembership
150func (c *ChimeSDKMessaging) BatchCreateChannelMembershipRequest(input *BatchCreateChannelMembershipInput) (req *request.Request, output *BatchCreateChannelMembershipOutput) {
151	op := &request.Operation{
152		Name:       opBatchCreateChannelMembership,
153		HTTPMethod: "POST",
154		HTTPPath:   "/channels/{channelArn}/memberships?operation=batch-create",
155	}
156
157	if input == nil {
158		input = &BatchCreateChannelMembershipInput{}
159	}
160
161	output = &BatchCreateChannelMembershipOutput{}
162	req = c.newRequest(op, input, output)
163	return
164}
165
166// BatchCreateChannelMembership API operation for Amazon Chime SDK Messaging.
167//
168// Adds a specified number of users to a channel.
169//
170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
171// with awserr.Error's Code and Message methods to get detailed information about
172// the error.
173//
174// See the AWS API reference guide for Amazon Chime SDK Messaging's
175// API operation BatchCreateChannelMembership for usage and error information.
176//
177// Returned Error Types:
178//   * ServiceFailureException
179//   The service encountered an unexpected error.
180//
181//   * ServiceUnavailableException
182//   The service is currently unavailable.
183//
184//   * UnauthorizedClientException
185//   The client is not currently authorized to make the request.
186//
187//   * BadRequestException
188//   The input parameters don't match the service's restrictions.
189//
190//   * ForbiddenException
191//   The client is permanently forbidden from making the request.
192//
193//   * ThrottledClientException
194//   The client exceeded its request rate limit.
195//
196// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/BatchCreateChannelMembership
197func (c *ChimeSDKMessaging) BatchCreateChannelMembership(input *BatchCreateChannelMembershipInput) (*BatchCreateChannelMembershipOutput, error) {
198	req, out := c.BatchCreateChannelMembershipRequest(input)
199	return out, req.Send()
200}
201
202// BatchCreateChannelMembershipWithContext is the same as BatchCreateChannelMembership with the addition of
203// the ability to pass a context and additional request options.
204//
205// See BatchCreateChannelMembership for details on how to use this API operation.
206//
207// The context must be non-nil and will be used for request cancellation. If
208// the context is nil a panic will occur. In the future the SDK may create
209// sub-contexts for http.Requests. See https://golang.org/pkg/context/
210// for more information on using Contexts.
211func (c *ChimeSDKMessaging) BatchCreateChannelMembershipWithContext(ctx aws.Context, input *BatchCreateChannelMembershipInput, opts ...request.Option) (*BatchCreateChannelMembershipOutput, error) {
212	req, out := c.BatchCreateChannelMembershipRequest(input)
213	req.SetContext(ctx)
214	req.ApplyOptions(opts...)
215	return out, req.Send()
216}
217
218const opChannelFlowCallback = "ChannelFlowCallback"
219
220// ChannelFlowCallbackRequest generates a "aws/request.Request" representing the
221// client's request for the ChannelFlowCallback operation. The "output" return
222// value will be populated with the request's response once the request completes
223// successfully.
224//
225// Use "Send" method on the returned Request to send the API call to the service.
226// the "output" return value is not valid until after Send returns without error.
227//
228// See ChannelFlowCallback for more information on using the ChannelFlowCallback
229// API call, and error handling.
230//
231// This method is useful when you want to inject custom logic or configuration
232// into the SDK's request lifecycle. Such as custom headers, or retry logic.
233//
234//
235//    // Example sending a request using the ChannelFlowCallbackRequest method.
236//    req, resp := client.ChannelFlowCallbackRequest(params)
237//
238//    err := req.Send()
239//    if err == nil { // resp is now filled
240//        fmt.Println(resp)
241//    }
242//
243// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ChannelFlowCallback
244func (c *ChimeSDKMessaging) ChannelFlowCallbackRequest(input *ChannelFlowCallbackInput) (req *request.Request, output *ChannelFlowCallbackOutput) {
245	op := &request.Operation{
246		Name:       opChannelFlowCallback,
247		HTTPMethod: "POST",
248		HTTPPath:   "/channels/{channelArn}?operation=channel-flow-callback",
249	}
250
251	if input == nil {
252		input = &ChannelFlowCallbackInput{}
253	}
254
255	output = &ChannelFlowCallbackOutput{}
256	req = c.newRequest(op, input, output)
257	return
258}
259
260// ChannelFlowCallback API operation for Amazon Chime SDK Messaging.
261//
262// Calls back Chime SDK Messaging with a processing response message. This should
263// be invoked from the processor Lambda. This is a developer API.
264//
265// You can return one of the following processing responses:
266//
267//    * Update message content or metadata
268//
269//    * Deny a message
270//
271//    * Make no changes to the message
272//
273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
274// with awserr.Error's Code and Message methods to get detailed information about
275// the error.
276//
277// See the AWS API reference guide for Amazon Chime SDK Messaging's
278// API operation ChannelFlowCallback for usage and error information.
279//
280// Returned Error Types:
281//   * BadRequestException
282//   The input parameters don't match the service's restrictions.
283//
284//   * ForbiddenException
285//   The client is permanently forbidden from making the request.
286//
287//   * UnauthorizedClientException
288//   The client is not currently authorized to make the request.
289//
290//   * ConflictException
291//   The request could not be processed because of conflict in the current state
292//   of the resource.
293//
294//   * ThrottledClientException
295//   The client exceeded its request rate limit.
296//
297//   * ServiceUnavailableException
298//   The service is currently unavailable.
299//
300//   * ServiceFailureException
301//   The service encountered an unexpected error.
302//
303// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ChannelFlowCallback
304func (c *ChimeSDKMessaging) ChannelFlowCallback(input *ChannelFlowCallbackInput) (*ChannelFlowCallbackOutput, error) {
305	req, out := c.ChannelFlowCallbackRequest(input)
306	return out, req.Send()
307}
308
309// ChannelFlowCallbackWithContext is the same as ChannelFlowCallback with the addition of
310// the ability to pass a context and additional request options.
311//
312// See ChannelFlowCallback for details on how to use this API operation.
313//
314// The context must be non-nil and will be used for request cancellation. If
315// the context is nil a panic will occur. In the future the SDK may create
316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
317// for more information on using Contexts.
318func (c *ChimeSDKMessaging) ChannelFlowCallbackWithContext(ctx aws.Context, input *ChannelFlowCallbackInput, opts ...request.Option) (*ChannelFlowCallbackOutput, error) {
319	req, out := c.ChannelFlowCallbackRequest(input)
320	req.SetContext(ctx)
321	req.ApplyOptions(opts...)
322	return out, req.Send()
323}
324
325const opCreateChannel = "CreateChannel"
326
327// CreateChannelRequest generates a "aws/request.Request" representing the
328// client's request for the CreateChannel operation. The "output" return
329// value will be populated with the request's response once the request completes
330// successfully.
331//
332// Use "Send" method on the returned Request to send the API call to the service.
333// the "output" return value is not valid until after Send returns without error.
334//
335// See CreateChannel for more information on using the CreateChannel
336// API call, and error handling.
337//
338// This method is useful when you want to inject custom logic or configuration
339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
340//
341//
342//    // Example sending a request using the CreateChannelRequest method.
343//    req, resp := client.CreateChannelRequest(params)
344//
345//    err := req.Send()
346//    if err == nil { // resp is now filled
347//        fmt.Println(resp)
348//    }
349//
350// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannel
351func (c *ChimeSDKMessaging) CreateChannelRequest(input *CreateChannelInput) (req *request.Request, output *CreateChannelOutput) {
352	op := &request.Operation{
353		Name:       opCreateChannel,
354		HTTPMethod: "POST",
355		HTTPPath:   "/channels",
356	}
357
358	if input == nil {
359		input = &CreateChannelInput{}
360	}
361
362	output = &CreateChannelOutput{}
363	req = c.newRequest(op, input, output)
364	return
365}
366
367// CreateChannel API operation for Amazon Chime SDK Messaging.
368//
369// Creates a channel to which you can add users and send messages.
370//
371// Restriction: You can't change a channel's privacy.
372//
373// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
374// of the user that makes the API call as the value in the header.
375//
376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
377// with awserr.Error's Code and Message methods to get detailed information about
378// the error.
379//
380// See the AWS API reference guide for Amazon Chime SDK Messaging's
381// API operation CreateChannel for usage and error information.
382//
383// Returned Error Types:
384//   * BadRequestException
385//   The input parameters don't match the service's restrictions.
386//
387//   * ForbiddenException
388//   The client is permanently forbidden from making the request.
389//
390//   * UnauthorizedClientException
391//   The client is not currently authorized to make the request.
392//
393//   * ConflictException
394//   The request could not be processed because of conflict in the current state
395//   of the resource.
396//
397//   * ResourceLimitExceededException
398//   The request exceeds the resource limit.
399//
400//   * ThrottledClientException
401//   The client exceeded its request rate limit.
402//
403//   * ServiceUnavailableException
404//   The service is currently unavailable.
405//
406//   * ServiceFailureException
407//   The service encountered an unexpected error.
408//
409// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannel
410func (c *ChimeSDKMessaging) CreateChannel(input *CreateChannelInput) (*CreateChannelOutput, error) {
411	req, out := c.CreateChannelRequest(input)
412	return out, req.Send()
413}
414
415// CreateChannelWithContext is the same as CreateChannel with the addition of
416// the ability to pass a context and additional request options.
417//
418// See CreateChannel for details on how to use this API operation.
419//
420// The context must be non-nil and will be used for request cancellation. If
421// the context is nil a panic will occur. In the future the SDK may create
422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
423// for more information on using Contexts.
424func (c *ChimeSDKMessaging) CreateChannelWithContext(ctx aws.Context, input *CreateChannelInput, opts ...request.Option) (*CreateChannelOutput, error) {
425	req, out := c.CreateChannelRequest(input)
426	req.SetContext(ctx)
427	req.ApplyOptions(opts...)
428	return out, req.Send()
429}
430
431const opCreateChannelBan = "CreateChannelBan"
432
433// CreateChannelBanRequest generates a "aws/request.Request" representing the
434// client's request for the CreateChannelBan operation. The "output" return
435// value will be populated with the request's response once the request completes
436// successfully.
437//
438// Use "Send" method on the returned Request to send the API call to the service.
439// the "output" return value is not valid until after Send returns without error.
440//
441// See CreateChannelBan for more information on using the CreateChannelBan
442// API call, and error handling.
443//
444// This method is useful when you want to inject custom logic or configuration
445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
446//
447//
448//    // Example sending a request using the CreateChannelBanRequest method.
449//    req, resp := client.CreateChannelBanRequest(params)
450//
451//    err := req.Send()
452//    if err == nil { // resp is now filled
453//        fmt.Println(resp)
454//    }
455//
456// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelBan
457func (c *ChimeSDKMessaging) CreateChannelBanRequest(input *CreateChannelBanInput) (req *request.Request, output *CreateChannelBanOutput) {
458	op := &request.Operation{
459		Name:       opCreateChannelBan,
460		HTTPMethod: "POST",
461		HTTPPath:   "/channels/{channelArn}/bans",
462	}
463
464	if input == nil {
465		input = &CreateChannelBanInput{}
466	}
467
468	output = &CreateChannelBanOutput{}
469	req = c.newRequest(op, input, output)
470	return
471}
472
473// CreateChannelBan API operation for Amazon Chime SDK Messaging.
474//
475// Permanently bans a member from a channel. Moderators can't add banned members
476// to a channel. To undo a ban, you first have to DeleteChannelBan, and then
477// CreateChannelMembership. Bans are cleaned up when you delete users or channels.
478//
479// If you ban a user who is already part of a channel, that user is automatically
480// kicked from the channel.
481//
482// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
483// of the user that makes the API call as the value in the header.
484//
485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
486// with awserr.Error's Code and Message methods to get detailed information about
487// the error.
488//
489// See the AWS API reference guide for Amazon Chime SDK Messaging's
490// API operation CreateChannelBan for usage and error information.
491//
492// Returned Error Types:
493//   * BadRequestException
494//   The input parameters don't match the service's restrictions.
495//
496//   * ForbiddenException
497//   The client is permanently forbidden from making the request.
498//
499//   * UnauthorizedClientException
500//   The client is not currently authorized to make the request.
501//
502//   * ConflictException
503//   The request could not be processed because of conflict in the current state
504//   of the resource.
505//
506//   * ResourceLimitExceededException
507//   The request exceeds the resource limit.
508//
509//   * ThrottledClientException
510//   The client exceeded its request rate limit.
511//
512//   * ServiceUnavailableException
513//   The service is currently unavailable.
514//
515//   * ServiceFailureException
516//   The service encountered an unexpected error.
517//
518// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelBan
519func (c *ChimeSDKMessaging) CreateChannelBan(input *CreateChannelBanInput) (*CreateChannelBanOutput, error) {
520	req, out := c.CreateChannelBanRequest(input)
521	return out, req.Send()
522}
523
524// CreateChannelBanWithContext is the same as CreateChannelBan with the addition of
525// the ability to pass a context and additional request options.
526//
527// See CreateChannelBan for details on how to use this API operation.
528//
529// The context must be non-nil and will be used for request cancellation. If
530// the context is nil a panic will occur. In the future the SDK may create
531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
532// for more information on using Contexts.
533func (c *ChimeSDKMessaging) CreateChannelBanWithContext(ctx aws.Context, input *CreateChannelBanInput, opts ...request.Option) (*CreateChannelBanOutput, error) {
534	req, out := c.CreateChannelBanRequest(input)
535	req.SetContext(ctx)
536	req.ApplyOptions(opts...)
537	return out, req.Send()
538}
539
540const opCreateChannelFlow = "CreateChannelFlow"
541
542// CreateChannelFlowRequest generates a "aws/request.Request" representing the
543// client's request for the CreateChannelFlow operation. The "output" return
544// value will be populated with the request's response once the request completes
545// successfully.
546//
547// Use "Send" method on the returned Request to send the API call to the service.
548// the "output" return value is not valid until after Send returns without error.
549//
550// See CreateChannelFlow for more information on using the CreateChannelFlow
551// API call, and error handling.
552//
553// This method is useful when you want to inject custom logic or configuration
554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
555//
556//
557//    // Example sending a request using the CreateChannelFlowRequest method.
558//    req, resp := client.CreateChannelFlowRequest(params)
559//
560//    err := req.Send()
561//    if err == nil { // resp is now filled
562//        fmt.Println(resp)
563//    }
564//
565// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelFlow
566func (c *ChimeSDKMessaging) CreateChannelFlowRequest(input *CreateChannelFlowInput) (req *request.Request, output *CreateChannelFlowOutput) {
567	op := &request.Operation{
568		Name:       opCreateChannelFlow,
569		HTTPMethod: "POST",
570		HTTPPath:   "/channel-flows",
571	}
572
573	if input == nil {
574		input = &CreateChannelFlowInput{}
575	}
576
577	output = &CreateChannelFlowOutput{}
578	req = c.newRequest(op, input, output)
579	return
580}
581
582// CreateChannelFlow API operation for Amazon Chime SDK Messaging.
583//
584// Creates a channel flow, a container for processors. Processors are AWS Lambda
585// functions that perform actions on chat messages, such as stripping out profanity.
586// You can associate channel flows with channels, and the processors in the
587// channel flow then take action on all messages sent to that channel. This
588// is a developer API.
589//
590// Channel flows process the following items:
591//
592// New and updated messages
593//
594// Persistent and non-persistent messages
595//
596// The Standard message type
597//
598// Channel flows don't process Control or System messages. For more information
599// about the message types provided by Chime SDK Messaging, refer to Message
600// types (https://docs.aws.amazon.com/chime/latest/dg/using-the-messaging-sdk.html#msg-types)
601// in the Amazon Chime developer guide.
602//
603// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
604// with awserr.Error's Code and Message methods to get detailed information about
605// the error.
606//
607// See the AWS API reference guide for Amazon Chime SDK Messaging's
608// API operation CreateChannelFlow for usage and error information.
609//
610// Returned Error Types:
611//   * BadRequestException
612//   The input parameters don't match the service's restrictions.
613//
614//   * ForbiddenException
615//   The client is permanently forbidden from making the request.
616//
617//   * UnauthorizedClientException
618//   The client is not currently authorized to make the request.
619//
620//   * ConflictException
621//   The request could not be processed because of conflict in the current state
622//   of the resource.
623//
624//   * ResourceLimitExceededException
625//   The request exceeds the resource limit.
626//
627//   * ThrottledClientException
628//   The client exceeded its request rate limit.
629//
630//   * ServiceUnavailableException
631//   The service is currently unavailable.
632//
633//   * ServiceFailureException
634//   The service encountered an unexpected error.
635//
636// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelFlow
637func (c *ChimeSDKMessaging) CreateChannelFlow(input *CreateChannelFlowInput) (*CreateChannelFlowOutput, error) {
638	req, out := c.CreateChannelFlowRequest(input)
639	return out, req.Send()
640}
641
642// CreateChannelFlowWithContext is the same as CreateChannelFlow with the addition of
643// the ability to pass a context and additional request options.
644//
645// See CreateChannelFlow for details on how to use this API operation.
646//
647// The context must be non-nil and will be used for request cancellation. If
648// the context is nil a panic will occur. In the future the SDK may create
649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
650// for more information on using Contexts.
651func (c *ChimeSDKMessaging) CreateChannelFlowWithContext(ctx aws.Context, input *CreateChannelFlowInput, opts ...request.Option) (*CreateChannelFlowOutput, error) {
652	req, out := c.CreateChannelFlowRequest(input)
653	req.SetContext(ctx)
654	req.ApplyOptions(opts...)
655	return out, req.Send()
656}
657
658const opCreateChannelMembership = "CreateChannelMembership"
659
660// CreateChannelMembershipRequest generates a "aws/request.Request" representing the
661// client's request for the CreateChannelMembership operation. The "output" return
662// value will be populated with the request's response once the request completes
663// successfully.
664//
665// Use "Send" method on the returned Request to send the API call to the service.
666// the "output" return value is not valid until after Send returns without error.
667//
668// See CreateChannelMembership for more information on using the CreateChannelMembership
669// API call, and error handling.
670//
671// This method is useful when you want to inject custom logic or configuration
672// into the SDK's request lifecycle. Such as custom headers, or retry logic.
673//
674//
675//    // Example sending a request using the CreateChannelMembershipRequest method.
676//    req, resp := client.CreateChannelMembershipRequest(params)
677//
678//    err := req.Send()
679//    if err == nil { // resp is now filled
680//        fmt.Println(resp)
681//    }
682//
683// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelMembership
684func (c *ChimeSDKMessaging) CreateChannelMembershipRequest(input *CreateChannelMembershipInput) (req *request.Request, output *CreateChannelMembershipOutput) {
685	op := &request.Operation{
686		Name:       opCreateChannelMembership,
687		HTTPMethod: "POST",
688		HTTPPath:   "/channels/{channelArn}/memberships",
689	}
690
691	if input == nil {
692		input = &CreateChannelMembershipInput{}
693	}
694
695	output = &CreateChannelMembershipOutput{}
696	req = c.newRequest(op, input, output)
697	return
698}
699
700// CreateChannelMembership API operation for Amazon Chime SDK Messaging.
701//
702// Adds a user to a channel. The InvitedBy field in ChannelMembership is derived
703// from the request header. A channel member can:
704//
705//    * List messages
706//
707//    * Send messages
708//
709//    * Receive messages
710//
711//    * Edit their own messages
712//
713//    * Leave the channel
714//
715// Privacy settings impact this action as follows:
716//
717//    * Public Channels: You do not need to be a member to list messages, but
718//    you must be a member to send messages.
719//
720//    * Private Channels: You must be a member to list or send messages.
721//
722// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
723// of the user that makes the API call as the value in the header.
724//
725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
726// with awserr.Error's Code and Message methods to get detailed information about
727// the error.
728//
729// See the AWS API reference guide for Amazon Chime SDK Messaging's
730// API operation CreateChannelMembership for usage and error information.
731//
732// Returned Error Types:
733//   * BadRequestException
734//   The input parameters don't match the service's restrictions.
735//
736//   * ForbiddenException
737//   The client is permanently forbidden from making the request.
738//
739//   * UnauthorizedClientException
740//   The client is not currently authorized to make the request.
741//
742//   * ConflictException
743//   The request could not be processed because of conflict in the current state
744//   of the resource.
745//
746//   * ResourceLimitExceededException
747//   The request exceeds the resource limit.
748//
749//   * ThrottledClientException
750//   The client exceeded its request rate limit.
751//
752//   * ServiceUnavailableException
753//   The service is currently unavailable.
754//
755//   * ServiceFailureException
756//   The service encountered an unexpected error.
757//
758// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelMembership
759func (c *ChimeSDKMessaging) CreateChannelMembership(input *CreateChannelMembershipInput) (*CreateChannelMembershipOutput, error) {
760	req, out := c.CreateChannelMembershipRequest(input)
761	return out, req.Send()
762}
763
764// CreateChannelMembershipWithContext is the same as CreateChannelMembership with the addition of
765// the ability to pass a context and additional request options.
766//
767// See CreateChannelMembership for details on how to use this API operation.
768//
769// The context must be non-nil and will be used for request cancellation. If
770// the context is nil a panic will occur. In the future the SDK may create
771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
772// for more information on using Contexts.
773func (c *ChimeSDKMessaging) CreateChannelMembershipWithContext(ctx aws.Context, input *CreateChannelMembershipInput, opts ...request.Option) (*CreateChannelMembershipOutput, error) {
774	req, out := c.CreateChannelMembershipRequest(input)
775	req.SetContext(ctx)
776	req.ApplyOptions(opts...)
777	return out, req.Send()
778}
779
780const opCreateChannelModerator = "CreateChannelModerator"
781
782// CreateChannelModeratorRequest generates a "aws/request.Request" representing the
783// client's request for the CreateChannelModerator operation. The "output" return
784// value will be populated with the request's response once the request completes
785// successfully.
786//
787// Use "Send" method on the returned Request to send the API call to the service.
788// the "output" return value is not valid until after Send returns without error.
789//
790// See CreateChannelModerator for more information on using the CreateChannelModerator
791// API call, and error handling.
792//
793// This method is useful when you want to inject custom logic or configuration
794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
795//
796//
797//    // Example sending a request using the CreateChannelModeratorRequest method.
798//    req, resp := client.CreateChannelModeratorRequest(params)
799//
800//    err := req.Send()
801//    if err == nil { // resp is now filled
802//        fmt.Println(resp)
803//    }
804//
805// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelModerator
806func (c *ChimeSDKMessaging) CreateChannelModeratorRequest(input *CreateChannelModeratorInput) (req *request.Request, output *CreateChannelModeratorOutput) {
807	op := &request.Operation{
808		Name:       opCreateChannelModerator,
809		HTTPMethod: "POST",
810		HTTPPath:   "/channels/{channelArn}/moderators",
811	}
812
813	if input == nil {
814		input = &CreateChannelModeratorInput{}
815	}
816
817	output = &CreateChannelModeratorOutput{}
818	req = c.newRequest(op, input, output)
819	return
820}
821
822// CreateChannelModerator API operation for Amazon Chime SDK Messaging.
823//
824// Creates a new ChannelModerator. A channel moderator can:
825//
826//    * Add and remove other members of the channel.
827//
828//    * Add and remove other moderators of the channel.
829//
830//    * Add and remove user bans for the channel.
831//
832//    * Redact messages in the channel.
833//
834//    * List messages in the channel.
835//
836// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
837// of the user that makes the API call as the value in the header.
838//
839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
840// with awserr.Error's Code and Message methods to get detailed information about
841// the error.
842//
843// See the AWS API reference guide for Amazon Chime SDK Messaging's
844// API operation CreateChannelModerator for usage and error information.
845//
846// Returned Error Types:
847//   * BadRequestException
848//   The input parameters don't match the service's restrictions.
849//
850//   * ForbiddenException
851//   The client is permanently forbidden from making the request.
852//
853//   * UnauthorizedClientException
854//   The client is not currently authorized to make the request.
855//
856//   * ConflictException
857//   The request could not be processed because of conflict in the current state
858//   of the resource.
859//
860//   * ResourceLimitExceededException
861//   The request exceeds the resource limit.
862//
863//   * ThrottledClientException
864//   The client exceeded its request rate limit.
865//
866//   * ServiceUnavailableException
867//   The service is currently unavailable.
868//
869//   * ServiceFailureException
870//   The service encountered an unexpected error.
871//
872// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/CreateChannelModerator
873func (c *ChimeSDKMessaging) CreateChannelModerator(input *CreateChannelModeratorInput) (*CreateChannelModeratorOutput, error) {
874	req, out := c.CreateChannelModeratorRequest(input)
875	return out, req.Send()
876}
877
878// CreateChannelModeratorWithContext is the same as CreateChannelModerator with the addition of
879// the ability to pass a context and additional request options.
880//
881// See CreateChannelModerator for details on how to use this API operation.
882//
883// The context must be non-nil and will be used for request cancellation. If
884// the context is nil a panic will occur. In the future the SDK may create
885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
886// for more information on using Contexts.
887func (c *ChimeSDKMessaging) CreateChannelModeratorWithContext(ctx aws.Context, input *CreateChannelModeratorInput, opts ...request.Option) (*CreateChannelModeratorOutput, error) {
888	req, out := c.CreateChannelModeratorRequest(input)
889	req.SetContext(ctx)
890	req.ApplyOptions(opts...)
891	return out, req.Send()
892}
893
894const opDeleteChannel = "DeleteChannel"
895
896// DeleteChannelRequest generates a "aws/request.Request" representing the
897// client's request for the DeleteChannel operation. The "output" return
898// value will be populated with the request's response once the request completes
899// successfully.
900//
901// Use "Send" method on the returned Request to send the API call to the service.
902// the "output" return value is not valid until after Send returns without error.
903//
904// See DeleteChannel for more information on using the DeleteChannel
905// API call, and error handling.
906//
907// This method is useful when you want to inject custom logic or configuration
908// into the SDK's request lifecycle. Such as custom headers, or retry logic.
909//
910//
911//    // Example sending a request using the DeleteChannelRequest method.
912//    req, resp := client.DeleteChannelRequest(params)
913//
914//    err := req.Send()
915//    if err == nil { // resp is now filled
916//        fmt.Println(resp)
917//    }
918//
919// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannel
920func (c *ChimeSDKMessaging) DeleteChannelRequest(input *DeleteChannelInput) (req *request.Request, output *DeleteChannelOutput) {
921	op := &request.Operation{
922		Name:       opDeleteChannel,
923		HTTPMethod: "DELETE",
924		HTTPPath:   "/channels/{channelArn}",
925	}
926
927	if input == nil {
928		input = &DeleteChannelInput{}
929	}
930
931	output = &DeleteChannelOutput{}
932	req = c.newRequest(op, input, output)
933	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
934	return
935}
936
937// DeleteChannel API operation for Amazon Chime SDK Messaging.
938//
939// Immediately makes a channel and its memberships inaccessible and marks them
940// for deletion. This is an irreversible process.
941//
942// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
943// of the user that makes the API call as the value in the header.
944//
945// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
946// with awserr.Error's Code and Message methods to get detailed information about
947// the error.
948//
949// See the AWS API reference guide for Amazon Chime SDK Messaging's
950// API operation DeleteChannel for usage and error information.
951//
952// Returned Error Types:
953//   * BadRequestException
954//   The input parameters don't match the service's restrictions.
955//
956//   * ForbiddenException
957//   The client is permanently forbidden from making the request.
958//
959//   * UnauthorizedClientException
960//   The client is not currently authorized to make the request.
961//
962//   * ThrottledClientException
963//   The client exceeded its request rate limit.
964//
965//   * ServiceUnavailableException
966//   The service is currently unavailable.
967//
968//   * ServiceFailureException
969//   The service encountered an unexpected error.
970//
971// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannel
972func (c *ChimeSDKMessaging) DeleteChannel(input *DeleteChannelInput) (*DeleteChannelOutput, error) {
973	req, out := c.DeleteChannelRequest(input)
974	return out, req.Send()
975}
976
977// DeleteChannelWithContext is the same as DeleteChannel with the addition of
978// the ability to pass a context and additional request options.
979//
980// See DeleteChannel for details on how to use this API operation.
981//
982// The context must be non-nil and will be used for request cancellation. If
983// the context is nil a panic will occur. In the future the SDK may create
984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
985// for more information on using Contexts.
986func (c *ChimeSDKMessaging) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInput, opts ...request.Option) (*DeleteChannelOutput, error) {
987	req, out := c.DeleteChannelRequest(input)
988	req.SetContext(ctx)
989	req.ApplyOptions(opts...)
990	return out, req.Send()
991}
992
993const opDeleteChannelBan = "DeleteChannelBan"
994
995// DeleteChannelBanRequest generates a "aws/request.Request" representing the
996// client's request for the DeleteChannelBan operation. The "output" return
997// value will be populated with the request's response once the request completes
998// successfully.
999//
1000// Use "Send" method on the returned Request to send the API call to the service.
1001// the "output" return value is not valid until after Send returns without error.
1002//
1003// See DeleteChannelBan for more information on using the DeleteChannelBan
1004// API call, and error handling.
1005//
1006// This method is useful when you want to inject custom logic or configuration
1007// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1008//
1009//
1010//    // Example sending a request using the DeleteChannelBanRequest method.
1011//    req, resp := client.DeleteChannelBanRequest(params)
1012//
1013//    err := req.Send()
1014//    if err == nil { // resp is now filled
1015//        fmt.Println(resp)
1016//    }
1017//
1018// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelBan
1019func (c *ChimeSDKMessaging) DeleteChannelBanRequest(input *DeleteChannelBanInput) (req *request.Request, output *DeleteChannelBanOutput) {
1020	op := &request.Operation{
1021		Name:       opDeleteChannelBan,
1022		HTTPMethod: "DELETE",
1023		HTTPPath:   "/channels/{channelArn}/bans/{memberArn}",
1024	}
1025
1026	if input == nil {
1027		input = &DeleteChannelBanInput{}
1028	}
1029
1030	output = &DeleteChannelBanOutput{}
1031	req = c.newRequest(op, input, output)
1032	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1033	return
1034}
1035
1036// DeleteChannelBan API operation for Amazon Chime SDK Messaging.
1037//
1038// Removes a user from a channel's ban list.
1039//
1040// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1041// of the user that makes the API call as the value in the header.
1042//
1043// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1044// with awserr.Error's Code and Message methods to get detailed information about
1045// the error.
1046//
1047// See the AWS API reference guide for Amazon Chime SDK Messaging's
1048// API operation DeleteChannelBan for usage and error information.
1049//
1050// Returned Error Types:
1051//   * BadRequestException
1052//   The input parameters don't match the service's restrictions.
1053//
1054//   * ForbiddenException
1055//   The client is permanently forbidden from making the request.
1056//
1057//   * UnauthorizedClientException
1058//   The client is not currently authorized to make the request.
1059//
1060//   * ThrottledClientException
1061//   The client exceeded its request rate limit.
1062//
1063//   * ServiceUnavailableException
1064//   The service is currently unavailable.
1065//
1066//   * ServiceFailureException
1067//   The service encountered an unexpected error.
1068//
1069// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelBan
1070func (c *ChimeSDKMessaging) DeleteChannelBan(input *DeleteChannelBanInput) (*DeleteChannelBanOutput, error) {
1071	req, out := c.DeleteChannelBanRequest(input)
1072	return out, req.Send()
1073}
1074
1075// DeleteChannelBanWithContext is the same as DeleteChannelBan with the addition of
1076// the ability to pass a context and additional request options.
1077//
1078// See DeleteChannelBan for details on how to use this API operation.
1079//
1080// The context must be non-nil and will be used for request cancellation. If
1081// the context is nil a panic will occur. In the future the SDK may create
1082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1083// for more information on using Contexts.
1084func (c *ChimeSDKMessaging) DeleteChannelBanWithContext(ctx aws.Context, input *DeleteChannelBanInput, opts ...request.Option) (*DeleteChannelBanOutput, error) {
1085	req, out := c.DeleteChannelBanRequest(input)
1086	req.SetContext(ctx)
1087	req.ApplyOptions(opts...)
1088	return out, req.Send()
1089}
1090
1091const opDeleteChannelFlow = "DeleteChannelFlow"
1092
1093// DeleteChannelFlowRequest generates a "aws/request.Request" representing the
1094// client's request for the DeleteChannelFlow operation. The "output" return
1095// value will be populated with the request's response once the request completes
1096// successfully.
1097//
1098// Use "Send" method on the returned Request to send the API call to the service.
1099// the "output" return value is not valid until after Send returns without error.
1100//
1101// See DeleteChannelFlow for more information on using the DeleteChannelFlow
1102// API call, and error handling.
1103//
1104// This method is useful when you want to inject custom logic or configuration
1105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1106//
1107//
1108//    // Example sending a request using the DeleteChannelFlowRequest method.
1109//    req, resp := client.DeleteChannelFlowRequest(params)
1110//
1111//    err := req.Send()
1112//    if err == nil { // resp is now filled
1113//        fmt.Println(resp)
1114//    }
1115//
1116// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelFlow
1117func (c *ChimeSDKMessaging) DeleteChannelFlowRequest(input *DeleteChannelFlowInput) (req *request.Request, output *DeleteChannelFlowOutput) {
1118	op := &request.Operation{
1119		Name:       opDeleteChannelFlow,
1120		HTTPMethod: "DELETE",
1121		HTTPPath:   "/channel-flows/{channelFlowArn}",
1122	}
1123
1124	if input == nil {
1125		input = &DeleteChannelFlowInput{}
1126	}
1127
1128	output = &DeleteChannelFlowOutput{}
1129	req = c.newRequest(op, input, output)
1130	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1131	return
1132}
1133
1134// DeleteChannelFlow API operation for Amazon Chime SDK Messaging.
1135//
1136// Deletes a channel flow, an irreversible process. This is a developer API.
1137//
1138// This API works only when the channel flow is not associated with any channel.
1139// To get a list of all channels that a channel flow is associated with, use
1140// the ListChannelsAssociatedWithChannelFlow API. Use the DisassociateChannelFlow
1141// API to disassociate a channel flow from all channels.
1142//
1143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1144// with awserr.Error's Code and Message methods to get detailed information about
1145// the error.
1146//
1147// See the AWS API reference guide for Amazon Chime SDK Messaging's
1148// API operation DeleteChannelFlow for usage and error information.
1149//
1150// Returned Error Types:
1151//   * BadRequestException
1152//   The input parameters don't match the service's restrictions.
1153//
1154//   * ForbiddenException
1155//   The client is permanently forbidden from making the request.
1156//
1157//   * UnauthorizedClientException
1158//   The client is not currently authorized to make the request.
1159//
1160//   * ThrottledClientException
1161//   The client exceeded its request rate limit.
1162//
1163//   * ConflictException
1164//   The request could not be processed because of conflict in the current state
1165//   of the resource.
1166//
1167//   * ServiceUnavailableException
1168//   The service is currently unavailable.
1169//
1170//   * ServiceFailureException
1171//   The service encountered an unexpected error.
1172//
1173// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelFlow
1174func (c *ChimeSDKMessaging) DeleteChannelFlow(input *DeleteChannelFlowInput) (*DeleteChannelFlowOutput, error) {
1175	req, out := c.DeleteChannelFlowRequest(input)
1176	return out, req.Send()
1177}
1178
1179// DeleteChannelFlowWithContext is the same as DeleteChannelFlow with the addition of
1180// the ability to pass a context and additional request options.
1181//
1182// See DeleteChannelFlow for details on how to use this API operation.
1183//
1184// The context must be non-nil and will be used for request cancellation. If
1185// the context is nil a panic will occur. In the future the SDK may create
1186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1187// for more information on using Contexts.
1188func (c *ChimeSDKMessaging) DeleteChannelFlowWithContext(ctx aws.Context, input *DeleteChannelFlowInput, opts ...request.Option) (*DeleteChannelFlowOutput, error) {
1189	req, out := c.DeleteChannelFlowRequest(input)
1190	req.SetContext(ctx)
1191	req.ApplyOptions(opts...)
1192	return out, req.Send()
1193}
1194
1195const opDeleteChannelMembership = "DeleteChannelMembership"
1196
1197// DeleteChannelMembershipRequest generates a "aws/request.Request" representing the
1198// client's request for the DeleteChannelMembership operation. The "output" return
1199// value will be populated with the request's response once the request completes
1200// successfully.
1201//
1202// Use "Send" method on the returned Request to send the API call to the service.
1203// the "output" return value is not valid until after Send returns without error.
1204//
1205// See DeleteChannelMembership for more information on using the DeleteChannelMembership
1206// API call, and error handling.
1207//
1208// This method is useful when you want to inject custom logic or configuration
1209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1210//
1211//
1212//    // Example sending a request using the DeleteChannelMembershipRequest method.
1213//    req, resp := client.DeleteChannelMembershipRequest(params)
1214//
1215//    err := req.Send()
1216//    if err == nil { // resp is now filled
1217//        fmt.Println(resp)
1218//    }
1219//
1220// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelMembership
1221func (c *ChimeSDKMessaging) DeleteChannelMembershipRequest(input *DeleteChannelMembershipInput) (req *request.Request, output *DeleteChannelMembershipOutput) {
1222	op := &request.Operation{
1223		Name:       opDeleteChannelMembership,
1224		HTTPMethod: "DELETE",
1225		HTTPPath:   "/channels/{channelArn}/memberships/{memberArn}",
1226	}
1227
1228	if input == nil {
1229		input = &DeleteChannelMembershipInput{}
1230	}
1231
1232	output = &DeleteChannelMembershipOutput{}
1233	req = c.newRequest(op, input, output)
1234	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1235	return
1236}
1237
1238// DeleteChannelMembership API operation for Amazon Chime SDK Messaging.
1239//
1240// Removes a member from a channel.
1241//
1242// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1243// of the user that makes the API call as the value in the header.
1244//
1245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1246// with awserr.Error's Code and Message methods to get detailed information about
1247// the error.
1248//
1249// See the AWS API reference guide for Amazon Chime SDK Messaging's
1250// API operation DeleteChannelMembership for usage and error information.
1251//
1252// Returned Error Types:
1253//   * BadRequestException
1254//   The input parameters don't match the service's restrictions.
1255//
1256//   * ForbiddenException
1257//   The client is permanently forbidden from making the request.
1258//
1259//   * UnauthorizedClientException
1260//   The client is not currently authorized to make the request.
1261//
1262//   * ConflictException
1263//   The request could not be processed because of conflict in the current state
1264//   of the resource.
1265//
1266//   * ThrottledClientException
1267//   The client exceeded its request rate limit.
1268//
1269//   * ServiceUnavailableException
1270//   The service is currently unavailable.
1271//
1272//   * ServiceFailureException
1273//   The service encountered an unexpected error.
1274//
1275// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelMembership
1276func (c *ChimeSDKMessaging) DeleteChannelMembership(input *DeleteChannelMembershipInput) (*DeleteChannelMembershipOutput, error) {
1277	req, out := c.DeleteChannelMembershipRequest(input)
1278	return out, req.Send()
1279}
1280
1281// DeleteChannelMembershipWithContext is the same as DeleteChannelMembership with the addition of
1282// the ability to pass a context and additional request options.
1283//
1284// See DeleteChannelMembership for details on how to use this API operation.
1285//
1286// The context must be non-nil and will be used for request cancellation. If
1287// the context is nil a panic will occur. In the future the SDK may create
1288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1289// for more information on using Contexts.
1290func (c *ChimeSDKMessaging) DeleteChannelMembershipWithContext(ctx aws.Context, input *DeleteChannelMembershipInput, opts ...request.Option) (*DeleteChannelMembershipOutput, error) {
1291	req, out := c.DeleteChannelMembershipRequest(input)
1292	req.SetContext(ctx)
1293	req.ApplyOptions(opts...)
1294	return out, req.Send()
1295}
1296
1297const opDeleteChannelMessage = "DeleteChannelMessage"
1298
1299// DeleteChannelMessageRequest generates a "aws/request.Request" representing the
1300// client's request for the DeleteChannelMessage operation. The "output" return
1301// value will be populated with the request's response once the request completes
1302// successfully.
1303//
1304// Use "Send" method on the returned Request to send the API call to the service.
1305// the "output" return value is not valid until after Send returns without error.
1306//
1307// See DeleteChannelMessage for more information on using the DeleteChannelMessage
1308// API call, and error handling.
1309//
1310// This method is useful when you want to inject custom logic or configuration
1311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1312//
1313//
1314//    // Example sending a request using the DeleteChannelMessageRequest method.
1315//    req, resp := client.DeleteChannelMessageRequest(params)
1316//
1317//    err := req.Send()
1318//    if err == nil { // resp is now filled
1319//        fmt.Println(resp)
1320//    }
1321//
1322// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelMessage
1323func (c *ChimeSDKMessaging) DeleteChannelMessageRequest(input *DeleteChannelMessageInput) (req *request.Request, output *DeleteChannelMessageOutput) {
1324	op := &request.Operation{
1325		Name:       opDeleteChannelMessage,
1326		HTTPMethod: "DELETE",
1327		HTTPPath:   "/channels/{channelArn}/messages/{messageId}",
1328	}
1329
1330	if input == nil {
1331		input = &DeleteChannelMessageInput{}
1332	}
1333
1334	output = &DeleteChannelMessageOutput{}
1335	req = c.newRequest(op, input, output)
1336	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1337	return
1338}
1339
1340// DeleteChannelMessage API operation for Amazon Chime SDK Messaging.
1341//
1342// Deletes a channel message. Only admins can perform this action. Deletion
1343// makes messages inaccessible immediately. A background process deletes any
1344// revisions created by UpdateChannelMessage.
1345//
1346// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1347// of the user that makes the API call as the value in the header.
1348//
1349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1350// with awserr.Error's Code and Message methods to get detailed information about
1351// the error.
1352//
1353// See the AWS API reference guide for Amazon Chime SDK Messaging's
1354// API operation DeleteChannelMessage for usage and error information.
1355//
1356// Returned Error Types:
1357//   * BadRequestException
1358//   The input parameters don't match the service's restrictions.
1359//
1360//   * ForbiddenException
1361//   The client is permanently forbidden from making the request.
1362//
1363//   * UnauthorizedClientException
1364//   The client is not currently authorized to make the request.
1365//
1366//   * ThrottledClientException
1367//   The client exceeded its request rate limit.
1368//
1369//   * ServiceUnavailableException
1370//   The service is currently unavailable.
1371//
1372//   * ServiceFailureException
1373//   The service encountered an unexpected error.
1374//
1375// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelMessage
1376func (c *ChimeSDKMessaging) DeleteChannelMessage(input *DeleteChannelMessageInput) (*DeleteChannelMessageOutput, error) {
1377	req, out := c.DeleteChannelMessageRequest(input)
1378	return out, req.Send()
1379}
1380
1381// DeleteChannelMessageWithContext is the same as DeleteChannelMessage with the addition of
1382// the ability to pass a context and additional request options.
1383//
1384// See DeleteChannelMessage for details on how to use this API operation.
1385//
1386// The context must be non-nil and will be used for request cancellation. If
1387// the context is nil a panic will occur. In the future the SDK may create
1388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1389// for more information on using Contexts.
1390func (c *ChimeSDKMessaging) DeleteChannelMessageWithContext(ctx aws.Context, input *DeleteChannelMessageInput, opts ...request.Option) (*DeleteChannelMessageOutput, error) {
1391	req, out := c.DeleteChannelMessageRequest(input)
1392	req.SetContext(ctx)
1393	req.ApplyOptions(opts...)
1394	return out, req.Send()
1395}
1396
1397const opDeleteChannelModerator = "DeleteChannelModerator"
1398
1399// DeleteChannelModeratorRequest generates a "aws/request.Request" representing the
1400// client's request for the DeleteChannelModerator operation. The "output" return
1401// value will be populated with the request's response once the request completes
1402// successfully.
1403//
1404// Use "Send" method on the returned Request to send the API call to the service.
1405// the "output" return value is not valid until after Send returns without error.
1406//
1407// See DeleteChannelModerator for more information on using the DeleteChannelModerator
1408// API call, and error handling.
1409//
1410// This method is useful when you want to inject custom logic or configuration
1411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1412//
1413//
1414//    // Example sending a request using the DeleteChannelModeratorRequest method.
1415//    req, resp := client.DeleteChannelModeratorRequest(params)
1416//
1417//    err := req.Send()
1418//    if err == nil { // resp is now filled
1419//        fmt.Println(resp)
1420//    }
1421//
1422// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelModerator
1423func (c *ChimeSDKMessaging) DeleteChannelModeratorRequest(input *DeleteChannelModeratorInput) (req *request.Request, output *DeleteChannelModeratorOutput) {
1424	op := &request.Operation{
1425		Name:       opDeleteChannelModerator,
1426		HTTPMethod: "DELETE",
1427		HTTPPath:   "/channels/{channelArn}/moderators/{channelModeratorArn}",
1428	}
1429
1430	if input == nil {
1431		input = &DeleteChannelModeratorInput{}
1432	}
1433
1434	output = &DeleteChannelModeratorOutput{}
1435	req = c.newRequest(op, input, output)
1436	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1437	return
1438}
1439
1440// DeleteChannelModerator API operation for Amazon Chime SDK Messaging.
1441//
1442// Deletes a channel moderator.
1443//
1444// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1445// of the user that makes the API call as the value in the header.
1446//
1447// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1448// with awserr.Error's Code and Message methods to get detailed information about
1449// the error.
1450//
1451// See the AWS API reference guide for Amazon Chime SDK Messaging's
1452// API operation DeleteChannelModerator for usage and error information.
1453//
1454// Returned Error Types:
1455//   * BadRequestException
1456//   The input parameters don't match the service's restrictions.
1457//
1458//   * ForbiddenException
1459//   The client is permanently forbidden from making the request.
1460//
1461//   * UnauthorizedClientException
1462//   The client is not currently authorized to make the request.
1463//
1464//   * ThrottledClientException
1465//   The client exceeded its request rate limit.
1466//
1467//   * ServiceUnavailableException
1468//   The service is currently unavailable.
1469//
1470//   * ServiceFailureException
1471//   The service encountered an unexpected error.
1472//
1473// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DeleteChannelModerator
1474func (c *ChimeSDKMessaging) DeleteChannelModerator(input *DeleteChannelModeratorInput) (*DeleteChannelModeratorOutput, error) {
1475	req, out := c.DeleteChannelModeratorRequest(input)
1476	return out, req.Send()
1477}
1478
1479// DeleteChannelModeratorWithContext is the same as DeleteChannelModerator with the addition of
1480// the ability to pass a context and additional request options.
1481//
1482// See DeleteChannelModerator for details on how to use this API operation.
1483//
1484// The context must be non-nil and will be used for request cancellation. If
1485// the context is nil a panic will occur. In the future the SDK may create
1486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1487// for more information on using Contexts.
1488func (c *ChimeSDKMessaging) DeleteChannelModeratorWithContext(ctx aws.Context, input *DeleteChannelModeratorInput, opts ...request.Option) (*DeleteChannelModeratorOutput, error) {
1489	req, out := c.DeleteChannelModeratorRequest(input)
1490	req.SetContext(ctx)
1491	req.ApplyOptions(opts...)
1492	return out, req.Send()
1493}
1494
1495const opDescribeChannel = "DescribeChannel"
1496
1497// DescribeChannelRequest generates a "aws/request.Request" representing the
1498// client's request for the DescribeChannel operation. The "output" return
1499// value will be populated with the request's response once the request completes
1500// successfully.
1501//
1502// Use "Send" method on the returned Request to send the API call to the service.
1503// the "output" return value is not valid until after Send returns without error.
1504//
1505// See DescribeChannel for more information on using the DescribeChannel
1506// API call, and error handling.
1507//
1508// This method is useful when you want to inject custom logic or configuration
1509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1510//
1511//
1512//    // Example sending a request using the DescribeChannelRequest method.
1513//    req, resp := client.DescribeChannelRequest(params)
1514//
1515//    err := req.Send()
1516//    if err == nil { // resp is now filled
1517//        fmt.Println(resp)
1518//    }
1519//
1520// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannel
1521func (c *ChimeSDKMessaging) DescribeChannelRequest(input *DescribeChannelInput) (req *request.Request, output *DescribeChannelOutput) {
1522	op := &request.Operation{
1523		Name:       opDescribeChannel,
1524		HTTPMethod: "GET",
1525		HTTPPath:   "/channels/{channelArn}",
1526	}
1527
1528	if input == nil {
1529		input = &DescribeChannelInput{}
1530	}
1531
1532	output = &DescribeChannelOutput{}
1533	req = c.newRequest(op, input, output)
1534	return
1535}
1536
1537// DescribeChannel API operation for Amazon Chime SDK Messaging.
1538//
1539// Returns the full details of a channel in an Amazon Chime AppInstance.
1540//
1541// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1542// of the user that makes the API call as the value in the header.
1543//
1544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1545// with awserr.Error's Code and Message methods to get detailed information about
1546// the error.
1547//
1548// See the AWS API reference guide for Amazon Chime SDK Messaging's
1549// API operation DescribeChannel for usage and error information.
1550//
1551// Returned Error Types:
1552//   * BadRequestException
1553//   The input parameters don't match the service's restrictions.
1554//
1555//   * ForbiddenException
1556//   The client is permanently forbidden from making the request.
1557//
1558//   * UnauthorizedClientException
1559//   The client is not currently authorized to make the request.
1560//
1561//   * ThrottledClientException
1562//   The client exceeded its request rate limit.
1563//
1564//   * ServiceUnavailableException
1565//   The service is currently unavailable.
1566//
1567//   * ServiceFailureException
1568//   The service encountered an unexpected error.
1569//
1570// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannel
1571func (c *ChimeSDKMessaging) DescribeChannel(input *DescribeChannelInput) (*DescribeChannelOutput, error) {
1572	req, out := c.DescribeChannelRequest(input)
1573	return out, req.Send()
1574}
1575
1576// DescribeChannelWithContext is the same as DescribeChannel with the addition of
1577// the ability to pass a context and additional request options.
1578//
1579// See DescribeChannel for details on how to use this API operation.
1580//
1581// The context must be non-nil and will be used for request cancellation. If
1582// the context is nil a panic will occur. In the future the SDK may create
1583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1584// for more information on using Contexts.
1585func (c *ChimeSDKMessaging) DescribeChannelWithContext(ctx aws.Context, input *DescribeChannelInput, opts ...request.Option) (*DescribeChannelOutput, error) {
1586	req, out := c.DescribeChannelRequest(input)
1587	req.SetContext(ctx)
1588	req.ApplyOptions(opts...)
1589	return out, req.Send()
1590}
1591
1592const opDescribeChannelBan = "DescribeChannelBan"
1593
1594// DescribeChannelBanRequest generates a "aws/request.Request" representing the
1595// client's request for the DescribeChannelBan operation. The "output" return
1596// value will be populated with the request's response once the request completes
1597// successfully.
1598//
1599// Use "Send" method on the returned Request to send the API call to the service.
1600// the "output" return value is not valid until after Send returns without error.
1601//
1602// See DescribeChannelBan for more information on using the DescribeChannelBan
1603// API call, and error handling.
1604//
1605// This method is useful when you want to inject custom logic or configuration
1606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1607//
1608//
1609//    // Example sending a request using the DescribeChannelBanRequest method.
1610//    req, resp := client.DescribeChannelBanRequest(params)
1611//
1612//    err := req.Send()
1613//    if err == nil { // resp is now filled
1614//        fmt.Println(resp)
1615//    }
1616//
1617// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelBan
1618func (c *ChimeSDKMessaging) DescribeChannelBanRequest(input *DescribeChannelBanInput) (req *request.Request, output *DescribeChannelBanOutput) {
1619	op := &request.Operation{
1620		Name:       opDescribeChannelBan,
1621		HTTPMethod: "GET",
1622		HTTPPath:   "/channels/{channelArn}/bans/{memberArn}",
1623	}
1624
1625	if input == nil {
1626		input = &DescribeChannelBanInput{}
1627	}
1628
1629	output = &DescribeChannelBanOutput{}
1630	req = c.newRequest(op, input, output)
1631	return
1632}
1633
1634// DescribeChannelBan API operation for Amazon Chime SDK Messaging.
1635//
1636// Returns the full details of a channel ban.
1637//
1638// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1639// of the user that makes the API call as the value in the header.
1640//
1641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1642// with awserr.Error's Code and Message methods to get detailed information about
1643// the error.
1644//
1645// See the AWS API reference guide for Amazon Chime SDK Messaging's
1646// API operation DescribeChannelBan for usage and error information.
1647//
1648// Returned Error Types:
1649//   * BadRequestException
1650//   The input parameters don't match the service's restrictions.
1651//
1652//   * ForbiddenException
1653//   The client is permanently forbidden from making the request.
1654//
1655//   * NotFoundException
1656//   One or more of the resources in the request does not exist in the system.
1657//
1658//   * UnauthorizedClientException
1659//   The client is not currently authorized to make the request.
1660//
1661//   * ThrottledClientException
1662//   The client exceeded its request rate limit.
1663//
1664//   * ServiceUnavailableException
1665//   The service is currently unavailable.
1666//
1667//   * ServiceFailureException
1668//   The service encountered an unexpected error.
1669//
1670// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelBan
1671func (c *ChimeSDKMessaging) DescribeChannelBan(input *DescribeChannelBanInput) (*DescribeChannelBanOutput, error) {
1672	req, out := c.DescribeChannelBanRequest(input)
1673	return out, req.Send()
1674}
1675
1676// DescribeChannelBanWithContext is the same as DescribeChannelBan with the addition of
1677// the ability to pass a context and additional request options.
1678//
1679// See DescribeChannelBan for details on how to use this API operation.
1680//
1681// The context must be non-nil and will be used for request cancellation. If
1682// the context is nil a panic will occur. In the future the SDK may create
1683// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1684// for more information on using Contexts.
1685func (c *ChimeSDKMessaging) DescribeChannelBanWithContext(ctx aws.Context, input *DescribeChannelBanInput, opts ...request.Option) (*DescribeChannelBanOutput, error) {
1686	req, out := c.DescribeChannelBanRequest(input)
1687	req.SetContext(ctx)
1688	req.ApplyOptions(opts...)
1689	return out, req.Send()
1690}
1691
1692const opDescribeChannelFlow = "DescribeChannelFlow"
1693
1694// DescribeChannelFlowRequest generates a "aws/request.Request" representing the
1695// client's request for the DescribeChannelFlow operation. The "output" return
1696// value will be populated with the request's response once the request completes
1697// successfully.
1698//
1699// Use "Send" method on the returned Request to send the API call to the service.
1700// the "output" return value is not valid until after Send returns without error.
1701//
1702// See DescribeChannelFlow for more information on using the DescribeChannelFlow
1703// API call, and error handling.
1704//
1705// This method is useful when you want to inject custom logic or configuration
1706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1707//
1708//
1709//    // Example sending a request using the DescribeChannelFlowRequest method.
1710//    req, resp := client.DescribeChannelFlowRequest(params)
1711//
1712//    err := req.Send()
1713//    if err == nil { // resp is now filled
1714//        fmt.Println(resp)
1715//    }
1716//
1717// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelFlow
1718func (c *ChimeSDKMessaging) DescribeChannelFlowRequest(input *DescribeChannelFlowInput) (req *request.Request, output *DescribeChannelFlowOutput) {
1719	op := &request.Operation{
1720		Name:       opDescribeChannelFlow,
1721		HTTPMethod: "GET",
1722		HTTPPath:   "/channel-flows/{channelFlowArn}",
1723	}
1724
1725	if input == nil {
1726		input = &DescribeChannelFlowInput{}
1727	}
1728
1729	output = &DescribeChannelFlowOutput{}
1730	req = c.newRequest(op, input, output)
1731	return
1732}
1733
1734// DescribeChannelFlow API operation for Amazon Chime SDK Messaging.
1735//
1736// Returns the full details of a channel flow in an Amazon Chime AppInstance.
1737// This is a developer API.
1738//
1739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1740// with awserr.Error's Code and Message methods to get detailed information about
1741// the error.
1742//
1743// See the AWS API reference guide for Amazon Chime SDK Messaging's
1744// API operation DescribeChannelFlow for usage and error information.
1745//
1746// Returned Error Types:
1747//   * BadRequestException
1748//   The input parameters don't match the service's restrictions.
1749//
1750//   * ForbiddenException
1751//   The client is permanently forbidden from making the request.
1752//
1753//   * UnauthorizedClientException
1754//   The client is not currently authorized to make the request.
1755//
1756//   * ThrottledClientException
1757//   The client exceeded its request rate limit.
1758//
1759//   * ServiceUnavailableException
1760//   The service is currently unavailable.
1761//
1762//   * ServiceFailureException
1763//   The service encountered an unexpected error.
1764//
1765// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelFlow
1766func (c *ChimeSDKMessaging) DescribeChannelFlow(input *DescribeChannelFlowInput) (*DescribeChannelFlowOutput, error) {
1767	req, out := c.DescribeChannelFlowRequest(input)
1768	return out, req.Send()
1769}
1770
1771// DescribeChannelFlowWithContext is the same as DescribeChannelFlow with the addition of
1772// the ability to pass a context and additional request options.
1773//
1774// See DescribeChannelFlow for details on how to use this API operation.
1775//
1776// The context must be non-nil and will be used for request cancellation. If
1777// the context is nil a panic will occur. In the future the SDK may create
1778// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1779// for more information on using Contexts.
1780func (c *ChimeSDKMessaging) DescribeChannelFlowWithContext(ctx aws.Context, input *DescribeChannelFlowInput, opts ...request.Option) (*DescribeChannelFlowOutput, error) {
1781	req, out := c.DescribeChannelFlowRequest(input)
1782	req.SetContext(ctx)
1783	req.ApplyOptions(opts...)
1784	return out, req.Send()
1785}
1786
1787const opDescribeChannelMembership = "DescribeChannelMembership"
1788
1789// DescribeChannelMembershipRequest generates a "aws/request.Request" representing the
1790// client's request for the DescribeChannelMembership operation. The "output" return
1791// value will be populated with the request's response once the request completes
1792// successfully.
1793//
1794// Use "Send" method on the returned Request to send the API call to the service.
1795// the "output" return value is not valid until after Send returns without error.
1796//
1797// See DescribeChannelMembership for more information on using the DescribeChannelMembership
1798// API call, and error handling.
1799//
1800// This method is useful when you want to inject custom logic or configuration
1801// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1802//
1803//
1804//    // Example sending a request using the DescribeChannelMembershipRequest method.
1805//    req, resp := client.DescribeChannelMembershipRequest(params)
1806//
1807//    err := req.Send()
1808//    if err == nil { // resp is now filled
1809//        fmt.Println(resp)
1810//    }
1811//
1812// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelMembership
1813func (c *ChimeSDKMessaging) DescribeChannelMembershipRequest(input *DescribeChannelMembershipInput) (req *request.Request, output *DescribeChannelMembershipOutput) {
1814	op := &request.Operation{
1815		Name:       opDescribeChannelMembership,
1816		HTTPMethod: "GET",
1817		HTTPPath:   "/channels/{channelArn}/memberships/{memberArn}",
1818	}
1819
1820	if input == nil {
1821		input = &DescribeChannelMembershipInput{}
1822	}
1823
1824	output = &DescribeChannelMembershipOutput{}
1825	req = c.newRequest(op, input, output)
1826	return
1827}
1828
1829// DescribeChannelMembership API operation for Amazon Chime SDK Messaging.
1830//
1831// Returns the full details of a user's channel membership.
1832//
1833// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1834// of the user that makes the API call as the value in the header.
1835//
1836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1837// with awserr.Error's Code and Message methods to get detailed information about
1838// the error.
1839//
1840// See the AWS API reference guide for Amazon Chime SDK Messaging's
1841// API operation DescribeChannelMembership for usage and error information.
1842//
1843// Returned Error Types:
1844//   * BadRequestException
1845//   The input parameters don't match the service's restrictions.
1846//
1847//   * ForbiddenException
1848//   The client is permanently forbidden from making the request.
1849//
1850//   * NotFoundException
1851//   One or more of the resources in the request does not exist in the system.
1852//
1853//   * UnauthorizedClientException
1854//   The client is not currently authorized to make the request.
1855//
1856//   * ThrottledClientException
1857//   The client exceeded its request rate limit.
1858//
1859//   * ServiceUnavailableException
1860//   The service is currently unavailable.
1861//
1862//   * ServiceFailureException
1863//   The service encountered an unexpected error.
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelMembership
1866func (c *ChimeSDKMessaging) DescribeChannelMembership(input *DescribeChannelMembershipInput) (*DescribeChannelMembershipOutput, error) {
1867	req, out := c.DescribeChannelMembershipRequest(input)
1868	return out, req.Send()
1869}
1870
1871// DescribeChannelMembershipWithContext is the same as DescribeChannelMembership with the addition of
1872// the ability to pass a context and additional request options.
1873//
1874// See DescribeChannelMembership for details on how to use this API operation.
1875//
1876// The context must be non-nil and will be used for request cancellation. If
1877// the context is nil a panic will occur. In the future the SDK may create
1878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1879// for more information on using Contexts.
1880func (c *ChimeSDKMessaging) DescribeChannelMembershipWithContext(ctx aws.Context, input *DescribeChannelMembershipInput, opts ...request.Option) (*DescribeChannelMembershipOutput, error) {
1881	req, out := c.DescribeChannelMembershipRequest(input)
1882	req.SetContext(ctx)
1883	req.ApplyOptions(opts...)
1884	return out, req.Send()
1885}
1886
1887const opDescribeChannelMembershipForAppInstanceUser = "DescribeChannelMembershipForAppInstanceUser"
1888
1889// DescribeChannelMembershipForAppInstanceUserRequest generates a "aws/request.Request" representing the
1890// client's request for the DescribeChannelMembershipForAppInstanceUser operation. The "output" return
1891// value will be populated with the request's response once the request completes
1892// successfully.
1893//
1894// Use "Send" method on the returned Request to send the API call to the service.
1895// the "output" return value is not valid until after Send returns without error.
1896//
1897// See DescribeChannelMembershipForAppInstanceUser for more information on using the DescribeChannelMembershipForAppInstanceUser
1898// API call, and error handling.
1899//
1900// This method is useful when you want to inject custom logic or configuration
1901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1902//
1903//
1904//    // Example sending a request using the DescribeChannelMembershipForAppInstanceUserRequest method.
1905//    req, resp := client.DescribeChannelMembershipForAppInstanceUserRequest(params)
1906//
1907//    err := req.Send()
1908//    if err == nil { // resp is now filled
1909//        fmt.Println(resp)
1910//    }
1911//
1912// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelMembershipForAppInstanceUser
1913func (c *ChimeSDKMessaging) DescribeChannelMembershipForAppInstanceUserRequest(input *DescribeChannelMembershipForAppInstanceUserInput) (req *request.Request, output *DescribeChannelMembershipForAppInstanceUserOutput) {
1914	op := &request.Operation{
1915		Name:       opDescribeChannelMembershipForAppInstanceUser,
1916		HTTPMethod: "GET",
1917		HTTPPath:   "/channels/{channelArn}?scope=app-instance-user-membership",
1918	}
1919
1920	if input == nil {
1921		input = &DescribeChannelMembershipForAppInstanceUserInput{}
1922	}
1923
1924	output = &DescribeChannelMembershipForAppInstanceUserOutput{}
1925	req = c.newRequest(op, input, output)
1926	return
1927}
1928
1929// DescribeChannelMembershipForAppInstanceUser API operation for Amazon Chime SDK Messaging.
1930//
1931// Returns the details of a channel based on the membership of the specified
1932// AppInstanceUser.
1933//
1934// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
1935// of the user that makes the API call as the value in the header.
1936//
1937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1938// with awserr.Error's Code and Message methods to get detailed information about
1939// the error.
1940//
1941// See the AWS API reference guide for Amazon Chime SDK Messaging's
1942// API operation DescribeChannelMembershipForAppInstanceUser for usage and error information.
1943//
1944// Returned Error Types:
1945//   * BadRequestException
1946//   The input parameters don't match the service's restrictions.
1947//
1948//   * ForbiddenException
1949//   The client is permanently forbidden from making the request.
1950//
1951//   * UnauthorizedClientException
1952//   The client is not currently authorized to make the request.
1953//
1954//   * ThrottledClientException
1955//   The client exceeded its request rate limit.
1956//
1957//   * ServiceUnavailableException
1958//   The service is currently unavailable.
1959//
1960//   * ServiceFailureException
1961//   The service encountered an unexpected error.
1962//
1963// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelMembershipForAppInstanceUser
1964func (c *ChimeSDKMessaging) DescribeChannelMembershipForAppInstanceUser(input *DescribeChannelMembershipForAppInstanceUserInput) (*DescribeChannelMembershipForAppInstanceUserOutput, error) {
1965	req, out := c.DescribeChannelMembershipForAppInstanceUserRequest(input)
1966	return out, req.Send()
1967}
1968
1969// DescribeChannelMembershipForAppInstanceUserWithContext is the same as DescribeChannelMembershipForAppInstanceUser with the addition of
1970// the ability to pass a context and additional request options.
1971//
1972// See DescribeChannelMembershipForAppInstanceUser for details on how to use this API operation.
1973//
1974// The context must be non-nil and will be used for request cancellation. If
1975// the context is nil a panic will occur. In the future the SDK may create
1976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1977// for more information on using Contexts.
1978func (c *ChimeSDKMessaging) DescribeChannelMembershipForAppInstanceUserWithContext(ctx aws.Context, input *DescribeChannelMembershipForAppInstanceUserInput, opts ...request.Option) (*DescribeChannelMembershipForAppInstanceUserOutput, error) {
1979	req, out := c.DescribeChannelMembershipForAppInstanceUserRequest(input)
1980	req.SetContext(ctx)
1981	req.ApplyOptions(opts...)
1982	return out, req.Send()
1983}
1984
1985const opDescribeChannelModeratedByAppInstanceUser = "DescribeChannelModeratedByAppInstanceUser"
1986
1987// DescribeChannelModeratedByAppInstanceUserRequest generates a "aws/request.Request" representing the
1988// client's request for the DescribeChannelModeratedByAppInstanceUser operation. The "output" return
1989// value will be populated with the request's response once the request completes
1990// successfully.
1991//
1992// Use "Send" method on the returned Request to send the API call to the service.
1993// the "output" return value is not valid until after Send returns without error.
1994//
1995// See DescribeChannelModeratedByAppInstanceUser for more information on using the DescribeChannelModeratedByAppInstanceUser
1996// API call, and error handling.
1997//
1998// This method is useful when you want to inject custom logic or configuration
1999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2000//
2001//
2002//    // Example sending a request using the DescribeChannelModeratedByAppInstanceUserRequest method.
2003//    req, resp := client.DescribeChannelModeratedByAppInstanceUserRequest(params)
2004//
2005//    err := req.Send()
2006//    if err == nil { // resp is now filled
2007//        fmt.Println(resp)
2008//    }
2009//
2010// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelModeratedByAppInstanceUser
2011func (c *ChimeSDKMessaging) DescribeChannelModeratedByAppInstanceUserRequest(input *DescribeChannelModeratedByAppInstanceUserInput) (req *request.Request, output *DescribeChannelModeratedByAppInstanceUserOutput) {
2012	op := &request.Operation{
2013		Name:       opDescribeChannelModeratedByAppInstanceUser,
2014		HTTPMethod: "GET",
2015		HTTPPath:   "/channels/{channelArn}?scope=app-instance-user-moderated-channel",
2016	}
2017
2018	if input == nil {
2019		input = &DescribeChannelModeratedByAppInstanceUserInput{}
2020	}
2021
2022	output = &DescribeChannelModeratedByAppInstanceUserOutput{}
2023	req = c.newRequest(op, input, output)
2024	return
2025}
2026
2027// DescribeChannelModeratedByAppInstanceUser API operation for Amazon Chime SDK Messaging.
2028//
2029// Returns the full details of a channel moderated by the specified AppInstanceUser.
2030//
2031// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
2032// of the user that makes the API call as the value in the header.
2033//
2034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2035// with awserr.Error's Code and Message methods to get detailed information about
2036// the error.
2037//
2038// See the AWS API reference guide for Amazon Chime SDK Messaging's
2039// API operation DescribeChannelModeratedByAppInstanceUser for usage and error information.
2040//
2041// Returned Error Types:
2042//   * BadRequestException
2043//   The input parameters don't match the service's restrictions.
2044//
2045//   * ForbiddenException
2046//   The client is permanently forbidden from making the request.
2047//
2048//   * UnauthorizedClientException
2049//   The client is not currently authorized to make the request.
2050//
2051//   * ThrottledClientException
2052//   The client exceeded its request rate limit.
2053//
2054//   * ServiceUnavailableException
2055//   The service is currently unavailable.
2056//
2057//   * ServiceFailureException
2058//   The service encountered an unexpected error.
2059//
2060// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelModeratedByAppInstanceUser
2061func (c *ChimeSDKMessaging) DescribeChannelModeratedByAppInstanceUser(input *DescribeChannelModeratedByAppInstanceUserInput) (*DescribeChannelModeratedByAppInstanceUserOutput, error) {
2062	req, out := c.DescribeChannelModeratedByAppInstanceUserRequest(input)
2063	return out, req.Send()
2064}
2065
2066// DescribeChannelModeratedByAppInstanceUserWithContext is the same as DescribeChannelModeratedByAppInstanceUser with the addition of
2067// the ability to pass a context and additional request options.
2068//
2069// See DescribeChannelModeratedByAppInstanceUser for details on how to use this API operation.
2070//
2071// The context must be non-nil and will be used for request cancellation. If
2072// the context is nil a panic will occur. In the future the SDK may create
2073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2074// for more information on using Contexts.
2075func (c *ChimeSDKMessaging) DescribeChannelModeratedByAppInstanceUserWithContext(ctx aws.Context, input *DescribeChannelModeratedByAppInstanceUserInput, opts ...request.Option) (*DescribeChannelModeratedByAppInstanceUserOutput, error) {
2076	req, out := c.DescribeChannelModeratedByAppInstanceUserRequest(input)
2077	req.SetContext(ctx)
2078	req.ApplyOptions(opts...)
2079	return out, req.Send()
2080}
2081
2082const opDescribeChannelModerator = "DescribeChannelModerator"
2083
2084// DescribeChannelModeratorRequest generates a "aws/request.Request" representing the
2085// client's request for the DescribeChannelModerator operation. The "output" return
2086// value will be populated with the request's response once the request completes
2087// successfully.
2088//
2089// Use "Send" method on the returned Request to send the API call to the service.
2090// the "output" return value is not valid until after Send returns without error.
2091//
2092// See DescribeChannelModerator for more information on using the DescribeChannelModerator
2093// API call, and error handling.
2094//
2095// This method is useful when you want to inject custom logic or configuration
2096// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2097//
2098//
2099//    // Example sending a request using the DescribeChannelModeratorRequest method.
2100//    req, resp := client.DescribeChannelModeratorRequest(params)
2101//
2102//    err := req.Send()
2103//    if err == nil { // resp is now filled
2104//        fmt.Println(resp)
2105//    }
2106//
2107// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelModerator
2108func (c *ChimeSDKMessaging) DescribeChannelModeratorRequest(input *DescribeChannelModeratorInput) (req *request.Request, output *DescribeChannelModeratorOutput) {
2109	op := &request.Operation{
2110		Name:       opDescribeChannelModerator,
2111		HTTPMethod: "GET",
2112		HTTPPath:   "/channels/{channelArn}/moderators/{channelModeratorArn}",
2113	}
2114
2115	if input == nil {
2116		input = &DescribeChannelModeratorInput{}
2117	}
2118
2119	output = &DescribeChannelModeratorOutput{}
2120	req = c.newRequest(op, input, output)
2121	return
2122}
2123
2124// DescribeChannelModerator API operation for Amazon Chime SDK Messaging.
2125//
2126// Returns the full details of a single ChannelModerator.
2127//
2128// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
2129// of the user that makes the API call as the value in the header.
2130//
2131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2132// with awserr.Error's Code and Message methods to get detailed information about
2133// the error.
2134//
2135// See the AWS API reference guide for Amazon Chime SDK Messaging's
2136// API operation DescribeChannelModerator for usage and error information.
2137//
2138// Returned Error Types:
2139//   * BadRequestException
2140//   The input parameters don't match the service's restrictions.
2141//
2142//   * ForbiddenException
2143//   The client is permanently forbidden from making the request.
2144//
2145//   * NotFoundException
2146//   One or more of the resources in the request does not exist in the system.
2147//
2148//   * UnauthorizedClientException
2149//   The client is not currently authorized to make the request.
2150//
2151//   * ThrottledClientException
2152//   The client exceeded its request rate limit.
2153//
2154//   * ServiceUnavailableException
2155//   The service is currently unavailable.
2156//
2157//   * ServiceFailureException
2158//   The service encountered an unexpected error.
2159//
2160// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DescribeChannelModerator
2161func (c *ChimeSDKMessaging) DescribeChannelModerator(input *DescribeChannelModeratorInput) (*DescribeChannelModeratorOutput, error) {
2162	req, out := c.DescribeChannelModeratorRequest(input)
2163	return out, req.Send()
2164}
2165
2166// DescribeChannelModeratorWithContext is the same as DescribeChannelModerator with the addition of
2167// the ability to pass a context and additional request options.
2168//
2169// See DescribeChannelModerator for details on how to use this API operation.
2170//
2171// The context must be non-nil and will be used for request cancellation. If
2172// the context is nil a panic will occur. In the future the SDK may create
2173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2174// for more information on using Contexts.
2175func (c *ChimeSDKMessaging) DescribeChannelModeratorWithContext(ctx aws.Context, input *DescribeChannelModeratorInput, opts ...request.Option) (*DescribeChannelModeratorOutput, error) {
2176	req, out := c.DescribeChannelModeratorRequest(input)
2177	req.SetContext(ctx)
2178	req.ApplyOptions(opts...)
2179	return out, req.Send()
2180}
2181
2182const opDisassociateChannelFlow = "DisassociateChannelFlow"
2183
2184// DisassociateChannelFlowRequest generates a "aws/request.Request" representing the
2185// client's request for the DisassociateChannelFlow operation. The "output" return
2186// value will be populated with the request's response once the request completes
2187// successfully.
2188//
2189// Use "Send" method on the returned Request to send the API call to the service.
2190// the "output" return value is not valid until after Send returns without error.
2191//
2192// See DisassociateChannelFlow for more information on using the DisassociateChannelFlow
2193// API call, and error handling.
2194//
2195// This method is useful when you want to inject custom logic or configuration
2196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2197//
2198//
2199//    // Example sending a request using the DisassociateChannelFlowRequest method.
2200//    req, resp := client.DisassociateChannelFlowRequest(params)
2201//
2202//    err := req.Send()
2203//    if err == nil { // resp is now filled
2204//        fmt.Println(resp)
2205//    }
2206//
2207// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DisassociateChannelFlow
2208func (c *ChimeSDKMessaging) DisassociateChannelFlowRequest(input *DisassociateChannelFlowInput) (req *request.Request, output *DisassociateChannelFlowOutput) {
2209	op := &request.Operation{
2210		Name:       opDisassociateChannelFlow,
2211		HTTPMethod: "DELETE",
2212		HTTPPath:   "/channels/{channelArn}/channel-flow/{channelFlowArn}",
2213	}
2214
2215	if input == nil {
2216		input = &DisassociateChannelFlowInput{}
2217	}
2218
2219	output = &DisassociateChannelFlowOutput{}
2220	req = c.newRequest(op, input, output)
2221	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2222	return
2223}
2224
2225// DisassociateChannelFlow API operation for Amazon Chime SDK Messaging.
2226//
2227// Disassociates a channel flow from all its channels. Once disassociated, all
2228// messages to that channel stop going through the channel flow processor.
2229//
2230// Only administrators or channel moderators can disassociate a channel flow.
2231// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
2232// of the user that makes the API call as the value in the header.
2233//
2234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2235// with awserr.Error's Code and Message methods to get detailed information about
2236// the error.
2237//
2238// See the AWS API reference guide for Amazon Chime SDK Messaging's
2239// API operation DisassociateChannelFlow for usage and error information.
2240//
2241// Returned Error Types:
2242//   * BadRequestException
2243//   The input parameters don't match the service's restrictions.
2244//
2245//   * ForbiddenException
2246//   The client is permanently forbidden from making the request.
2247//
2248//   * NotFoundException
2249//   One or more of the resources in the request does not exist in the system.
2250//
2251//   * UnauthorizedClientException
2252//   The client is not currently authorized to make the request.
2253//
2254//   * ConflictException
2255//   The request could not be processed because of conflict in the current state
2256//   of the resource.
2257//
2258//   * ThrottledClientException
2259//   The client exceeded its request rate limit.
2260//
2261//   * ServiceUnavailableException
2262//   The service is currently unavailable.
2263//
2264//   * ServiceFailureException
2265//   The service encountered an unexpected error.
2266//
2267// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/DisassociateChannelFlow
2268func (c *ChimeSDKMessaging) DisassociateChannelFlow(input *DisassociateChannelFlowInput) (*DisassociateChannelFlowOutput, error) {
2269	req, out := c.DisassociateChannelFlowRequest(input)
2270	return out, req.Send()
2271}
2272
2273// DisassociateChannelFlowWithContext is the same as DisassociateChannelFlow with the addition of
2274// the ability to pass a context and additional request options.
2275//
2276// See DisassociateChannelFlow for details on how to use this API operation.
2277//
2278// The context must be non-nil and will be used for request cancellation. If
2279// the context is nil a panic will occur. In the future the SDK may create
2280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2281// for more information on using Contexts.
2282func (c *ChimeSDKMessaging) DisassociateChannelFlowWithContext(ctx aws.Context, input *DisassociateChannelFlowInput, opts ...request.Option) (*DisassociateChannelFlowOutput, error) {
2283	req, out := c.DisassociateChannelFlowRequest(input)
2284	req.SetContext(ctx)
2285	req.ApplyOptions(opts...)
2286	return out, req.Send()
2287}
2288
2289const opGetChannelMembershipPreferences = "GetChannelMembershipPreferences"
2290
2291// GetChannelMembershipPreferencesRequest generates a "aws/request.Request" representing the
2292// client's request for the GetChannelMembershipPreferences operation. The "output" return
2293// value will be populated with the request's response once the request completes
2294// successfully.
2295//
2296// Use "Send" method on the returned Request to send the API call to the service.
2297// the "output" return value is not valid until after Send returns without error.
2298//
2299// See GetChannelMembershipPreferences for more information on using the GetChannelMembershipPreferences
2300// API call, and error handling.
2301//
2302// This method is useful when you want to inject custom logic or configuration
2303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2304//
2305//
2306//    // Example sending a request using the GetChannelMembershipPreferencesRequest method.
2307//    req, resp := client.GetChannelMembershipPreferencesRequest(params)
2308//
2309//    err := req.Send()
2310//    if err == nil { // resp is now filled
2311//        fmt.Println(resp)
2312//    }
2313//
2314// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMembershipPreferences
2315func (c *ChimeSDKMessaging) GetChannelMembershipPreferencesRequest(input *GetChannelMembershipPreferencesInput) (req *request.Request, output *GetChannelMembershipPreferencesOutput) {
2316	op := &request.Operation{
2317		Name:       opGetChannelMembershipPreferences,
2318		HTTPMethod: "GET",
2319		HTTPPath:   "/channels/{channelArn}/memberships/{memberArn}/preferences",
2320	}
2321
2322	if input == nil {
2323		input = &GetChannelMembershipPreferencesInput{}
2324	}
2325
2326	output = &GetChannelMembershipPreferencesOutput{}
2327	req = c.newRequest(op, input, output)
2328	return
2329}
2330
2331// GetChannelMembershipPreferences API operation for Amazon Chime SDK Messaging.
2332//
2333// Gets the membership preferences of an AppInstanceUser for the specified channel.
2334// The AppInstanceUser must be a member of the channel. Only the AppInstanceUser
2335// who owns the membership can retrieve preferences. Users in the AppInstanceAdmin
2336// and channel moderator roles can't retrieve preferences for other users. Banned
2337// users can't retrieve membership preferences for the channel from which they
2338// are banned.
2339//
2340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2341// with awserr.Error's Code and Message methods to get detailed information about
2342// the error.
2343//
2344// See the AWS API reference guide for Amazon Chime SDK Messaging's
2345// API operation GetChannelMembershipPreferences for usage and error information.
2346//
2347// Returned Error Types:
2348//   * BadRequestException
2349//   The input parameters don't match the service's restrictions.
2350//
2351//   * UnauthorizedClientException
2352//   The client is not currently authorized to make the request.
2353//
2354//   * ForbiddenException
2355//   The client is permanently forbidden from making the request.
2356//
2357//   * ThrottledClientException
2358//   The client exceeded its request rate limit.
2359//
2360//   * ServiceUnavailableException
2361//   The service is currently unavailable.
2362//
2363//   * ServiceFailureException
2364//   The service encountered an unexpected error.
2365//
2366// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMembershipPreferences
2367func (c *ChimeSDKMessaging) GetChannelMembershipPreferences(input *GetChannelMembershipPreferencesInput) (*GetChannelMembershipPreferencesOutput, error) {
2368	req, out := c.GetChannelMembershipPreferencesRequest(input)
2369	return out, req.Send()
2370}
2371
2372// GetChannelMembershipPreferencesWithContext is the same as GetChannelMembershipPreferences with the addition of
2373// the ability to pass a context and additional request options.
2374//
2375// See GetChannelMembershipPreferences for details on how to use this API operation.
2376//
2377// The context must be non-nil and will be used for request cancellation. If
2378// the context is nil a panic will occur. In the future the SDK may create
2379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2380// for more information on using Contexts.
2381func (c *ChimeSDKMessaging) GetChannelMembershipPreferencesWithContext(ctx aws.Context, input *GetChannelMembershipPreferencesInput, opts ...request.Option) (*GetChannelMembershipPreferencesOutput, error) {
2382	req, out := c.GetChannelMembershipPreferencesRequest(input)
2383	req.SetContext(ctx)
2384	req.ApplyOptions(opts...)
2385	return out, req.Send()
2386}
2387
2388const opGetChannelMessage = "GetChannelMessage"
2389
2390// GetChannelMessageRequest generates a "aws/request.Request" representing the
2391// client's request for the GetChannelMessage operation. The "output" return
2392// value will be populated with the request's response once the request completes
2393// successfully.
2394//
2395// Use "Send" method on the returned Request to send the API call to the service.
2396// the "output" return value is not valid until after Send returns without error.
2397//
2398// See GetChannelMessage for more information on using the GetChannelMessage
2399// API call, and error handling.
2400//
2401// This method is useful when you want to inject custom logic or configuration
2402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2403//
2404//
2405//    // Example sending a request using the GetChannelMessageRequest method.
2406//    req, resp := client.GetChannelMessageRequest(params)
2407//
2408//    err := req.Send()
2409//    if err == nil { // resp is now filled
2410//        fmt.Println(resp)
2411//    }
2412//
2413// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessage
2414func (c *ChimeSDKMessaging) GetChannelMessageRequest(input *GetChannelMessageInput) (req *request.Request, output *GetChannelMessageOutput) {
2415	op := &request.Operation{
2416		Name:       opGetChannelMessage,
2417		HTTPMethod: "GET",
2418		HTTPPath:   "/channels/{channelArn}/messages/{messageId}",
2419	}
2420
2421	if input == nil {
2422		input = &GetChannelMessageInput{}
2423	}
2424
2425	output = &GetChannelMessageOutput{}
2426	req = c.newRequest(op, input, output)
2427	return
2428}
2429
2430// GetChannelMessage API operation for Amazon Chime SDK Messaging.
2431//
2432// Gets the full details of a channel message.
2433//
2434// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
2435// of the user that makes the API call as the value in the header.
2436//
2437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2438// with awserr.Error's Code and Message methods to get detailed information about
2439// the error.
2440//
2441// See the AWS API reference guide for Amazon Chime SDK Messaging's
2442// API operation GetChannelMessage for usage and error information.
2443//
2444// Returned Error Types:
2445//   * BadRequestException
2446//   The input parameters don't match the service's restrictions.
2447//
2448//   * ForbiddenException
2449//   The client is permanently forbidden from making the request.
2450//
2451//   * NotFoundException
2452//   One or more of the resources in the request does not exist in the system.
2453//
2454//   * UnauthorizedClientException
2455//   The client is not currently authorized to make the request.
2456//
2457//   * ThrottledClientException
2458//   The client exceeded its request rate limit.
2459//
2460//   * ServiceUnavailableException
2461//   The service is currently unavailable.
2462//
2463//   * ServiceFailureException
2464//   The service encountered an unexpected error.
2465//
2466// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessage
2467func (c *ChimeSDKMessaging) GetChannelMessage(input *GetChannelMessageInput) (*GetChannelMessageOutput, error) {
2468	req, out := c.GetChannelMessageRequest(input)
2469	return out, req.Send()
2470}
2471
2472// GetChannelMessageWithContext is the same as GetChannelMessage with the addition of
2473// the ability to pass a context and additional request options.
2474//
2475// See GetChannelMessage for details on how to use this API operation.
2476//
2477// The context must be non-nil and will be used for request cancellation. If
2478// the context is nil a panic will occur. In the future the SDK may create
2479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2480// for more information on using Contexts.
2481func (c *ChimeSDKMessaging) GetChannelMessageWithContext(ctx aws.Context, input *GetChannelMessageInput, opts ...request.Option) (*GetChannelMessageOutput, error) {
2482	req, out := c.GetChannelMessageRequest(input)
2483	req.SetContext(ctx)
2484	req.ApplyOptions(opts...)
2485	return out, req.Send()
2486}
2487
2488const opGetChannelMessageStatus = "GetChannelMessageStatus"
2489
2490// GetChannelMessageStatusRequest generates a "aws/request.Request" representing the
2491// client's request for the GetChannelMessageStatus operation. The "output" return
2492// value will be populated with the request's response once the request completes
2493// successfully.
2494//
2495// Use "Send" method on the returned Request to send the API call to the service.
2496// the "output" return value is not valid until after Send returns without error.
2497//
2498// See GetChannelMessageStatus for more information on using the GetChannelMessageStatus
2499// API call, and error handling.
2500//
2501// This method is useful when you want to inject custom logic or configuration
2502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2503//
2504//
2505//    // Example sending a request using the GetChannelMessageStatusRequest method.
2506//    req, resp := client.GetChannelMessageStatusRequest(params)
2507//
2508//    err := req.Send()
2509//    if err == nil { // resp is now filled
2510//        fmt.Println(resp)
2511//    }
2512//
2513// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessageStatus
2514func (c *ChimeSDKMessaging) GetChannelMessageStatusRequest(input *GetChannelMessageStatusInput) (req *request.Request, output *GetChannelMessageStatusOutput) {
2515	op := &request.Operation{
2516		Name:       opGetChannelMessageStatus,
2517		HTTPMethod: "GET",
2518		HTTPPath:   "/channels/{channelArn}/messages/{messageId}?scope=message-status",
2519	}
2520
2521	if input == nil {
2522		input = &GetChannelMessageStatusInput{}
2523	}
2524
2525	output = &GetChannelMessageStatusOutput{}
2526	req = c.newRequest(op, input, output)
2527	return
2528}
2529
2530// GetChannelMessageStatus API operation for Amazon Chime SDK Messaging.
2531//
2532// Gets message status for a specified messageId. Use this API to determine
2533// the intermediate status of messages going through channel flow processing.
2534// The API provides an alternative to retrieving message status if the event
2535// was not received because a client wasn't connected to a websocket.
2536//
2537// Messages can have any one of these statuses.
2538//
2539// SENT
2540//
2541// Message processed successfully
2542//
2543// PENDING
2544//
2545// Ongoing processing
2546//
2547// FAILED
2548//
2549// Processing failed
2550//
2551// DENIED
2552//
2553// Messasge denied by the processor
2554//
2555//    * This API does not return statuses for denied messages, because we don't
2556//    store them once the processor denies them.
2557//
2558//    * Only the message sender can invoke this API.
2559//
2560//    * The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
2561//    of the user that makes the API call as the value in the header
2562//
2563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2564// with awserr.Error's Code and Message methods to get detailed information about
2565// the error.
2566//
2567// See the AWS API reference guide for Amazon Chime SDK Messaging's
2568// API operation GetChannelMessageStatus for usage and error information.
2569//
2570// Returned Error Types:
2571//   * BadRequestException
2572//   The input parameters don't match the service's restrictions.
2573//
2574//   * ForbiddenException
2575//   The client is permanently forbidden from making the request.
2576//
2577//   * UnauthorizedClientException
2578//   The client is not currently authorized to make the request.
2579//
2580//   * ThrottledClientException
2581//   The client exceeded its request rate limit.
2582//
2583//   * ServiceUnavailableException
2584//   The service is currently unavailable.
2585//
2586//   * ServiceFailureException
2587//   The service encountered an unexpected error.
2588//
2589// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetChannelMessageStatus
2590func (c *ChimeSDKMessaging) GetChannelMessageStatus(input *GetChannelMessageStatusInput) (*GetChannelMessageStatusOutput, error) {
2591	req, out := c.GetChannelMessageStatusRequest(input)
2592	return out, req.Send()
2593}
2594
2595// GetChannelMessageStatusWithContext is the same as GetChannelMessageStatus with the addition of
2596// the ability to pass a context and additional request options.
2597//
2598// See GetChannelMessageStatus for details on how to use this API operation.
2599//
2600// The context must be non-nil and will be used for request cancellation. If
2601// the context is nil a panic will occur. In the future the SDK may create
2602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2603// for more information on using Contexts.
2604func (c *ChimeSDKMessaging) GetChannelMessageStatusWithContext(ctx aws.Context, input *GetChannelMessageStatusInput, opts ...request.Option) (*GetChannelMessageStatusOutput, error) {
2605	req, out := c.GetChannelMessageStatusRequest(input)
2606	req.SetContext(ctx)
2607	req.ApplyOptions(opts...)
2608	return out, req.Send()
2609}
2610
2611const opGetMessagingSessionEndpoint = "GetMessagingSessionEndpoint"
2612
2613// GetMessagingSessionEndpointRequest generates a "aws/request.Request" representing the
2614// client's request for the GetMessagingSessionEndpoint operation. The "output" return
2615// value will be populated with the request's response once the request completes
2616// successfully.
2617//
2618// Use "Send" method on the returned Request to send the API call to the service.
2619// the "output" return value is not valid until after Send returns without error.
2620//
2621// See GetMessagingSessionEndpoint for more information on using the GetMessagingSessionEndpoint
2622// API call, and error handling.
2623//
2624// This method is useful when you want to inject custom logic or configuration
2625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2626//
2627//
2628//    // Example sending a request using the GetMessagingSessionEndpointRequest method.
2629//    req, resp := client.GetMessagingSessionEndpointRequest(params)
2630//
2631//    err := req.Send()
2632//    if err == nil { // resp is now filled
2633//        fmt.Println(resp)
2634//    }
2635//
2636// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetMessagingSessionEndpoint
2637func (c *ChimeSDKMessaging) GetMessagingSessionEndpointRequest(input *GetMessagingSessionEndpointInput) (req *request.Request, output *GetMessagingSessionEndpointOutput) {
2638	op := &request.Operation{
2639		Name:       opGetMessagingSessionEndpoint,
2640		HTTPMethod: "GET",
2641		HTTPPath:   "/endpoints/messaging-session",
2642	}
2643
2644	if input == nil {
2645		input = &GetMessagingSessionEndpointInput{}
2646	}
2647
2648	output = &GetMessagingSessionEndpointOutput{}
2649	req = c.newRequest(op, input, output)
2650	return
2651}
2652
2653// GetMessagingSessionEndpoint API operation for Amazon Chime SDK Messaging.
2654//
2655// The details of the endpoint for the messaging session.
2656//
2657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2658// with awserr.Error's Code and Message methods to get detailed information about
2659// the error.
2660//
2661// See the AWS API reference guide for Amazon Chime SDK Messaging's
2662// API operation GetMessagingSessionEndpoint for usage and error information.
2663//
2664// Returned Error Types:
2665//   * UnauthorizedClientException
2666//   The client is not currently authorized to make the request.
2667//
2668//   * ForbiddenException
2669//   The client is permanently forbidden from making the request.
2670//
2671//   * ThrottledClientException
2672//   The client exceeded its request rate limit.
2673//
2674//   * ServiceUnavailableException
2675//   The service is currently unavailable.
2676//
2677//   * ServiceFailureException
2678//   The service encountered an unexpected error.
2679//
2680// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/GetMessagingSessionEndpoint
2681func (c *ChimeSDKMessaging) GetMessagingSessionEndpoint(input *GetMessagingSessionEndpointInput) (*GetMessagingSessionEndpointOutput, error) {
2682	req, out := c.GetMessagingSessionEndpointRequest(input)
2683	return out, req.Send()
2684}
2685
2686// GetMessagingSessionEndpointWithContext is the same as GetMessagingSessionEndpoint with the addition of
2687// the ability to pass a context and additional request options.
2688//
2689// See GetMessagingSessionEndpoint for details on how to use this API operation.
2690//
2691// The context must be non-nil and will be used for request cancellation. If
2692// the context is nil a panic will occur. In the future the SDK may create
2693// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2694// for more information on using Contexts.
2695func (c *ChimeSDKMessaging) GetMessagingSessionEndpointWithContext(ctx aws.Context, input *GetMessagingSessionEndpointInput, opts ...request.Option) (*GetMessagingSessionEndpointOutput, error) {
2696	req, out := c.GetMessagingSessionEndpointRequest(input)
2697	req.SetContext(ctx)
2698	req.ApplyOptions(opts...)
2699	return out, req.Send()
2700}
2701
2702const opListChannelBans = "ListChannelBans"
2703
2704// ListChannelBansRequest generates a "aws/request.Request" representing the
2705// client's request for the ListChannelBans operation. The "output" return
2706// value will be populated with the request's response once the request completes
2707// successfully.
2708//
2709// Use "Send" method on the returned Request to send the API call to the service.
2710// the "output" return value is not valid until after Send returns without error.
2711//
2712// See ListChannelBans for more information on using the ListChannelBans
2713// API call, and error handling.
2714//
2715// This method is useful when you want to inject custom logic or configuration
2716// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2717//
2718//
2719//    // Example sending a request using the ListChannelBansRequest method.
2720//    req, resp := client.ListChannelBansRequest(params)
2721//
2722//    err := req.Send()
2723//    if err == nil { // resp is now filled
2724//        fmt.Println(resp)
2725//    }
2726//
2727// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelBans
2728func (c *ChimeSDKMessaging) ListChannelBansRequest(input *ListChannelBansInput) (req *request.Request, output *ListChannelBansOutput) {
2729	op := &request.Operation{
2730		Name:       opListChannelBans,
2731		HTTPMethod: "GET",
2732		HTTPPath:   "/channels/{channelArn}/bans",
2733		Paginator: &request.Paginator{
2734			InputTokens:     []string{"NextToken"},
2735			OutputTokens:    []string{"NextToken"},
2736			LimitToken:      "MaxResults",
2737			TruncationToken: "",
2738		},
2739	}
2740
2741	if input == nil {
2742		input = &ListChannelBansInput{}
2743	}
2744
2745	output = &ListChannelBansOutput{}
2746	req = c.newRequest(op, input, output)
2747	return
2748}
2749
2750// ListChannelBans API operation for Amazon Chime SDK Messaging.
2751//
2752// Lists all the users banned from a particular channel.
2753//
2754// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
2755// of the user that makes the API call as the value in the header.
2756//
2757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2758// with awserr.Error's Code and Message methods to get detailed information about
2759// the error.
2760//
2761// See the AWS API reference guide for Amazon Chime SDK Messaging's
2762// API operation ListChannelBans for usage and error information.
2763//
2764// Returned Error Types:
2765//   * BadRequestException
2766//   The input parameters don't match the service's restrictions.
2767//
2768//   * ForbiddenException
2769//   The client is permanently forbidden from making the request.
2770//
2771//   * UnauthorizedClientException
2772//   The client is not currently authorized to make the request.
2773//
2774//   * ThrottledClientException
2775//   The client exceeded its request rate limit.
2776//
2777//   * ServiceUnavailableException
2778//   The service is currently unavailable.
2779//
2780//   * ServiceFailureException
2781//   The service encountered an unexpected error.
2782//
2783// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelBans
2784func (c *ChimeSDKMessaging) ListChannelBans(input *ListChannelBansInput) (*ListChannelBansOutput, error) {
2785	req, out := c.ListChannelBansRequest(input)
2786	return out, req.Send()
2787}
2788
2789// ListChannelBansWithContext is the same as ListChannelBans with the addition of
2790// the ability to pass a context and additional request options.
2791//
2792// See ListChannelBans for details on how to use this API operation.
2793//
2794// The context must be non-nil and will be used for request cancellation. If
2795// the context is nil a panic will occur. In the future the SDK may create
2796// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2797// for more information on using Contexts.
2798func (c *ChimeSDKMessaging) ListChannelBansWithContext(ctx aws.Context, input *ListChannelBansInput, opts ...request.Option) (*ListChannelBansOutput, error) {
2799	req, out := c.ListChannelBansRequest(input)
2800	req.SetContext(ctx)
2801	req.ApplyOptions(opts...)
2802	return out, req.Send()
2803}
2804
2805// ListChannelBansPages iterates over the pages of a ListChannelBans operation,
2806// calling the "fn" function with the response data for each page. To stop
2807// iterating, return false from the fn function.
2808//
2809// See ListChannelBans method for more information on how to use this operation.
2810//
2811// Note: This operation can generate multiple requests to a service.
2812//
2813//    // Example iterating over at most 3 pages of a ListChannelBans operation.
2814//    pageNum := 0
2815//    err := client.ListChannelBansPages(params,
2816//        func(page *chimesdkmessaging.ListChannelBansOutput, lastPage bool) bool {
2817//            pageNum++
2818//            fmt.Println(page)
2819//            return pageNum <= 3
2820//        })
2821//
2822func (c *ChimeSDKMessaging) ListChannelBansPages(input *ListChannelBansInput, fn func(*ListChannelBansOutput, bool) bool) error {
2823	return c.ListChannelBansPagesWithContext(aws.BackgroundContext(), input, fn)
2824}
2825
2826// ListChannelBansPagesWithContext same as ListChannelBansPages except
2827// it takes a Context and allows setting request options on the pages.
2828//
2829// The context must be non-nil and will be used for request cancellation. If
2830// the context is nil a panic will occur. In the future the SDK may create
2831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2832// for more information on using Contexts.
2833func (c *ChimeSDKMessaging) ListChannelBansPagesWithContext(ctx aws.Context, input *ListChannelBansInput, fn func(*ListChannelBansOutput, bool) bool, opts ...request.Option) error {
2834	p := request.Pagination{
2835		NewRequest: func() (*request.Request, error) {
2836			var inCpy *ListChannelBansInput
2837			if input != nil {
2838				tmp := *input
2839				inCpy = &tmp
2840			}
2841			req, _ := c.ListChannelBansRequest(inCpy)
2842			req.SetContext(ctx)
2843			req.ApplyOptions(opts...)
2844			return req, nil
2845		},
2846	}
2847
2848	for p.Next() {
2849		if !fn(p.Page().(*ListChannelBansOutput), !p.HasNextPage()) {
2850			break
2851		}
2852	}
2853
2854	return p.Err()
2855}
2856
2857const opListChannelFlows = "ListChannelFlows"
2858
2859// ListChannelFlowsRequest generates a "aws/request.Request" representing the
2860// client's request for the ListChannelFlows operation. The "output" return
2861// value will be populated with the request's response once the request completes
2862// successfully.
2863//
2864// Use "Send" method on the returned Request to send the API call to the service.
2865// the "output" return value is not valid until after Send returns without error.
2866//
2867// See ListChannelFlows for more information on using the ListChannelFlows
2868// API call, and error handling.
2869//
2870// This method is useful when you want to inject custom logic or configuration
2871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2872//
2873//
2874//    // Example sending a request using the ListChannelFlowsRequest method.
2875//    req, resp := client.ListChannelFlowsRequest(params)
2876//
2877//    err := req.Send()
2878//    if err == nil { // resp is now filled
2879//        fmt.Println(resp)
2880//    }
2881//
2882// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelFlows
2883func (c *ChimeSDKMessaging) ListChannelFlowsRequest(input *ListChannelFlowsInput) (req *request.Request, output *ListChannelFlowsOutput) {
2884	op := &request.Operation{
2885		Name:       opListChannelFlows,
2886		HTTPMethod: "GET",
2887		HTTPPath:   "/channel-flows",
2888		Paginator: &request.Paginator{
2889			InputTokens:     []string{"NextToken"},
2890			OutputTokens:    []string{"NextToken"},
2891			LimitToken:      "MaxResults",
2892			TruncationToken: "",
2893		},
2894	}
2895
2896	if input == nil {
2897		input = &ListChannelFlowsInput{}
2898	}
2899
2900	output = &ListChannelFlowsOutput{}
2901	req = c.newRequest(op, input, output)
2902	return
2903}
2904
2905// ListChannelFlows API operation for Amazon Chime SDK Messaging.
2906//
2907// Returns a paginated lists of all the channel flows created under a single
2908// Chime. This is a developer API.
2909//
2910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2911// with awserr.Error's Code and Message methods to get detailed information about
2912// the error.
2913//
2914// See the AWS API reference guide for Amazon Chime SDK Messaging's
2915// API operation ListChannelFlows for usage and error information.
2916//
2917// Returned Error Types:
2918//   * BadRequestException
2919//   The input parameters don't match the service's restrictions.
2920//
2921//   * ForbiddenException
2922//   The client is permanently forbidden from making the request.
2923//
2924//   * UnauthorizedClientException
2925//   The client is not currently authorized to make the request.
2926//
2927//   * ThrottledClientException
2928//   The client exceeded its request rate limit.
2929//
2930//   * ServiceUnavailableException
2931//   The service is currently unavailable.
2932//
2933//   * ServiceFailureException
2934//   The service encountered an unexpected error.
2935//
2936// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelFlows
2937func (c *ChimeSDKMessaging) ListChannelFlows(input *ListChannelFlowsInput) (*ListChannelFlowsOutput, error) {
2938	req, out := c.ListChannelFlowsRequest(input)
2939	return out, req.Send()
2940}
2941
2942// ListChannelFlowsWithContext is the same as ListChannelFlows with the addition of
2943// the ability to pass a context and additional request options.
2944//
2945// See ListChannelFlows for details on how to use this API operation.
2946//
2947// The context must be non-nil and will be used for request cancellation. If
2948// the context is nil a panic will occur. In the future the SDK may create
2949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2950// for more information on using Contexts.
2951func (c *ChimeSDKMessaging) ListChannelFlowsWithContext(ctx aws.Context, input *ListChannelFlowsInput, opts ...request.Option) (*ListChannelFlowsOutput, error) {
2952	req, out := c.ListChannelFlowsRequest(input)
2953	req.SetContext(ctx)
2954	req.ApplyOptions(opts...)
2955	return out, req.Send()
2956}
2957
2958// ListChannelFlowsPages iterates over the pages of a ListChannelFlows operation,
2959// calling the "fn" function with the response data for each page. To stop
2960// iterating, return false from the fn function.
2961//
2962// See ListChannelFlows method for more information on how to use this operation.
2963//
2964// Note: This operation can generate multiple requests to a service.
2965//
2966//    // Example iterating over at most 3 pages of a ListChannelFlows operation.
2967//    pageNum := 0
2968//    err := client.ListChannelFlowsPages(params,
2969//        func(page *chimesdkmessaging.ListChannelFlowsOutput, lastPage bool) bool {
2970//            pageNum++
2971//            fmt.Println(page)
2972//            return pageNum <= 3
2973//        })
2974//
2975func (c *ChimeSDKMessaging) ListChannelFlowsPages(input *ListChannelFlowsInput, fn func(*ListChannelFlowsOutput, bool) bool) error {
2976	return c.ListChannelFlowsPagesWithContext(aws.BackgroundContext(), input, fn)
2977}
2978
2979// ListChannelFlowsPagesWithContext same as ListChannelFlowsPages except
2980// it takes a Context and allows setting request options on the pages.
2981//
2982// The context must be non-nil and will be used for request cancellation. If
2983// the context is nil a panic will occur. In the future the SDK may create
2984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2985// for more information on using Contexts.
2986func (c *ChimeSDKMessaging) ListChannelFlowsPagesWithContext(ctx aws.Context, input *ListChannelFlowsInput, fn func(*ListChannelFlowsOutput, bool) bool, opts ...request.Option) error {
2987	p := request.Pagination{
2988		NewRequest: func() (*request.Request, error) {
2989			var inCpy *ListChannelFlowsInput
2990			if input != nil {
2991				tmp := *input
2992				inCpy = &tmp
2993			}
2994			req, _ := c.ListChannelFlowsRequest(inCpy)
2995			req.SetContext(ctx)
2996			req.ApplyOptions(opts...)
2997			return req, nil
2998		},
2999	}
3000
3001	for p.Next() {
3002		if !fn(p.Page().(*ListChannelFlowsOutput), !p.HasNextPage()) {
3003			break
3004		}
3005	}
3006
3007	return p.Err()
3008}
3009
3010const opListChannelMemberships = "ListChannelMemberships"
3011
3012// ListChannelMembershipsRequest generates a "aws/request.Request" representing the
3013// client's request for the ListChannelMemberships operation. The "output" return
3014// value will be populated with the request's response once the request completes
3015// successfully.
3016//
3017// Use "Send" method on the returned Request to send the API call to the service.
3018// the "output" return value is not valid until after Send returns without error.
3019//
3020// See ListChannelMemberships for more information on using the ListChannelMemberships
3021// API call, and error handling.
3022//
3023// This method is useful when you want to inject custom logic or configuration
3024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3025//
3026//
3027//    // Example sending a request using the ListChannelMembershipsRequest method.
3028//    req, resp := client.ListChannelMembershipsRequest(params)
3029//
3030//    err := req.Send()
3031//    if err == nil { // resp is now filled
3032//        fmt.Println(resp)
3033//    }
3034//
3035// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMemberships
3036func (c *ChimeSDKMessaging) ListChannelMembershipsRequest(input *ListChannelMembershipsInput) (req *request.Request, output *ListChannelMembershipsOutput) {
3037	op := &request.Operation{
3038		Name:       opListChannelMemberships,
3039		HTTPMethod: "GET",
3040		HTTPPath:   "/channels/{channelArn}/memberships",
3041		Paginator: &request.Paginator{
3042			InputTokens:     []string{"NextToken"},
3043			OutputTokens:    []string{"NextToken"},
3044			LimitToken:      "MaxResults",
3045			TruncationToken: "",
3046		},
3047	}
3048
3049	if input == nil {
3050		input = &ListChannelMembershipsInput{}
3051	}
3052
3053	output = &ListChannelMembershipsOutput{}
3054	req = c.newRequest(op, input, output)
3055	return
3056}
3057
3058// ListChannelMemberships API operation for Amazon Chime SDK Messaging.
3059//
3060// Lists all channel memberships in a channel.
3061//
3062// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
3063// of the user that makes the API call as the value in the header.
3064//
3065// If you want to list the channels to which a specific app instance user belongs,
3066// see the ListChannelMembershipsForAppInstanceUser (https://docs.aws.amazon.com/chime/latest/APIReference/API_messaging-chime_ListChannelMembershipsForAppInstanceUser.html)
3067// API.
3068//
3069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3070// with awserr.Error's Code and Message methods to get detailed information about
3071// the error.
3072//
3073// See the AWS API reference guide for Amazon Chime SDK Messaging's
3074// API operation ListChannelMemberships for usage and error information.
3075//
3076// Returned Error Types:
3077//   * BadRequestException
3078//   The input parameters don't match the service's restrictions.
3079//
3080//   * ForbiddenException
3081//   The client is permanently forbidden from making the request.
3082//
3083//   * UnauthorizedClientException
3084//   The client is not currently authorized to make the request.
3085//
3086//   * ThrottledClientException
3087//   The client exceeded its request rate limit.
3088//
3089//   * ServiceUnavailableException
3090//   The service is currently unavailable.
3091//
3092//   * ServiceFailureException
3093//   The service encountered an unexpected error.
3094//
3095// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMemberships
3096func (c *ChimeSDKMessaging) ListChannelMemberships(input *ListChannelMembershipsInput) (*ListChannelMembershipsOutput, error) {
3097	req, out := c.ListChannelMembershipsRequest(input)
3098	return out, req.Send()
3099}
3100
3101// ListChannelMembershipsWithContext is the same as ListChannelMemberships with the addition of
3102// the ability to pass a context and additional request options.
3103//
3104// See ListChannelMemberships for details on how to use this API operation.
3105//
3106// The context must be non-nil and will be used for request cancellation. If
3107// the context is nil a panic will occur. In the future the SDK may create
3108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3109// for more information on using Contexts.
3110func (c *ChimeSDKMessaging) ListChannelMembershipsWithContext(ctx aws.Context, input *ListChannelMembershipsInput, opts ...request.Option) (*ListChannelMembershipsOutput, error) {
3111	req, out := c.ListChannelMembershipsRequest(input)
3112	req.SetContext(ctx)
3113	req.ApplyOptions(opts...)
3114	return out, req.Send()
3115}
3116
3117// ListChannelMembershipsPages iterates over the pages of a ListChannelMemberships operation,
3118// calling the "fn" function with the response data for each page. To stop
3119// iterating, return false from the fn function.
3120//
3121// See ListChannelMemberships method for more information on how to use this operation.
3122//
3123// Note: This operation can generate multiple requests to a service.
3124//
3125//    // Example iterating over at most 3 pages of a ListChannelMemberships operation.
3126//    pageNum := 0
3127//    err := client.ListChannelMembershipsPages(params,
3128//        func(page *chimesdkmessaging.ListChannelMembershipsOutput, lastPage bool) bool {
3129//            pageNum++
3130//            fmt.Println(page)
3131//            return pageNum <= 3
3132//        })
3133//
3134func (c *ChimeSDKMessaging) ListChannelMembershipsPages(input *ListChannelMembershipsInput, fn func(*ListChannelMembershipsOutput, bool) bool) error {
3135	return c.ListChannelMembershipsPagesWithContext(aws.BackgroundContext(), input, fn)
3136}
3137
3138// ListChannelMembershipsPagesWithContext same as ListChannelMembershipsPages except
3139// it takes a Context and allows setting request options on the pages.
3140//
3141// The context must be non-nil and will be used for request cancellation. If
3142// the context is nil a panic will occur. In the future the SDK may create
3143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3144// for more information on using Contexts.
3145func (c *ChimeSDKMessaging) ListChannelMembershipsPagesWithContext(ctx aws.Context, input *ListChannelMembershipsInput, fn func(*ListChannelMembershipsOutput, bool) bool, opts ...request.Option) error {
3146	p := request.Pagination{
3147		NewRequest: func() (*request.Request, error) {
3148			var inCpy *ListChannelMembershipsInput
3149			if input != nil {
3150				tmp := *input
3151				inCpy = &tmp
3152			}
3153			req, _ := c.ListChannelMembershipsRequest(inCpy)
3154			req.SetContext(ctx)
3155			req.ApplyOptions(opts...)
3156			return req, nil
3157		},
3158	}
3159
3160	for p.Next() {
3161		if !fn(p.Page().(*ListChannelMembershipsOutput), !p.HasNextPage()) {
3162			break
3163		}
3164	}
3165
3166	return p.Err()
3167}
3168
3169const opListChannelMembershipsForAppInstanceUser = "ListChannelMembershipsForAppInstanceUser"
3170
3171// ListChannelMembershipsForAppInstanceUserRequest generates a "aws/request.Request" representing the
3172// client's request for the ListChannelMembershipsForAppInstanceUser operation. The "output" return
3173// value will be populated with the request's response once the request completes
3174// successfully.
3175//
3176// Use "Send" method on the returned Request to send the API call to the service.
3177// the "output" return value is not valid until after Send returns without error.
3178//
3179// See ListChannelMembershipsForAppInstanceUser for more information on using the ListChannelMembershipsForAppInstanceUser
3180// API call, and error handling.
3181//
3182// This method is useful when you want to inject custom logic or configuration
3183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3184//
3185//
3186//    // Example sending a request using the ListChannelMembershipsForAppInstanceUserRequest method.
3187//    req, resp := client.ListChannelMembershipsForAppInstanceUserRequest(params)
3188//
3189//    err := req.Send()
3190//    if err == nil { // resp is now filled
3191//        fmt.Println(resp)
3192//    }
3193//
3194// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMembershipsForAppInstanceUser
3195func (c *ChimeSDKMessaging) ListChannelMembershipsForAppInstanceUserRequest(input *ListChannelMembershipsForAppInstanceUserInput) (req *request.Request, output *ListChannelMembershipsForAppInstanceUserOutput) {
3196	op := &request.Operation{
3197		Name:       opListChannelMembershipsForAppInstanceUser,
3198		HTTPMethod: "GET",
3199		HTTPPath:   "/channels?scope=app-instance-user-memberships",
3200		Paginator: &request.Paginator{
3201			InputTokens:     []string{"NextToken"},
3202			OutputTokens:    []string{"NextToken"},
3203			LimitToken:      "MaxResults",
3204			TruncationToken: "",
3205		},
3206	}
3207
3208	if input == nil {
3209		input = &ListChannelMembershipsForAppInstanceUserInput{}
3210	}
3211
3212	output = &ListChannelMembershipsForAppInstanceUserOutput{}
3213	req = c.newRequest(op, input, output)
3214	return
3215}
3216
3217// ListChannelMembershipsForAppInstanceUser API operation for Amazon Chime SDK Messaging.
3218//
3219// Lists all channels that a particular AppInstanceUser is a part of. Only an
3220// AppInstanceAdmin can call the API with a user ARN that is not their own.
3221//
3222// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
3223// of the user that makes the API call as the value in the header.
3224//
3225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3226// with awserr.Error's Code and Message methods to get detailed information about
3227// the error.
3228//
3229// See the AWS API reference guide for Amazon Chime SDK Messaging's
3230// API operation ListChannelMembershipsForAppInstanceUser for usage and error information.
3231//
3232// Returned Error Types:
3233//   * BadRequestException
3234//   The input parameters don't match the service's restrictions.
3235//
3236//   * ForbiddenException
3237//   The client is permanently forbidden from making the request.
3238//
3239//   * UnauthorizedClientException
3240//   The client is not currently authorized to make the request.
3241//
3242//   * ThrottledClientException
3243//   The client exceeded its request rate limit.
3244//
3245//   * ServiceUnavailableException
3246//   The service is currently unavailable.
3247//
3248//   * ServiceFailureException
3249//   The service encountered an unexpected error.
3250//
3251// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMembershipsForAppInstanceUser
3252func (c *ChimeSDKMessaging) ListChannelMembershipsForAppInstanceUser(input *ListChannelMembershipsForAppInstanceUserInput) (*ListChannelMembershipsForAppInstanceUserOutput, error) {
3253	req, out := c.ListChannelMembershipsForAppInstanceUserRequest(input)
3254	return out, req.Send()
3255}
3256
3257// ListChannelMembershipsForAppInstanceUserWithContext is the same as ListChannelMembershipsForAppInstanceUser with the addition of
3258// the ability to pass a context and additional request options.
3259//
3260// See ListChannelMembershipsForAppInstanceUser for details on how to use this API operation.
3261//
3262// The context must be non-nil and will be used for request cancellation. If
3263// the context is nil a panic will occur. In the future the SDK may create
3264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3265// for more information on using Contexts.
3266func (c *ChimeSDKMessaging) ListChannelMembershipsForAppInstanceUserWithContext(ctx aws.Context, input *ListChannelMembershipsForAppInstanceUserInput, opts ...request.Option) (*ListChannelMembershipsForAppInstanceUserOutput, error) {
3267	req, out := c.ListChannelMembershipsForAppInstanceUserRequest(input)
3268	req.SetContext(ctx)
3269	req.ApplyOptions(opts...)
3270	return out, req.Send()
3271}
3272
3273// ListChannelMembershipsForAppInstanceUserPages iterates over the pages of a ListChannelMembershipsForAppInstanceUser operation,
3274// calling the "fn" function with the response data for each page. To stop
3275// iterating, return false from the fn function.
3276//
3277// See ListChannelMembershipsForAppInstanceUser method for more information on how to use this operation.
3278//
3279// Note: This operation can generate multiple requests to a service.
3280//
3281//    // Example iterating over at most 3 pages of a ListChannelMembershipsForAppInstanceUser operation.
3282//    pageNum := 0
3283//    err := client.ListChannelMembershipsForAppInstanceUserPages(params,
3284//        func(page *chimesdkmessaging.ListChannelMembershipsForAppInstanceUserOutput, lastPage bool) bool {
3285//            pageNum++
3286//            fmt.Println(page)
3287//            return pageNum <= 3
3288//        })
3289//
3290func (c *ChimeSDKMessaging) ListChannelMembershipsForAppInstanceUserPages(input *ListChannelMembershipsForAppInstanceUserInput, fn func(*ListChannelMembershipsForAppInstanceUserOutput, bool) bool) error {
3291	return c.ListChannelMembershipsForAppInstanceUserPagesWithContext(aws.BackgroundContext(), input, fn)
3292}
3293
3294// ListChannelMembershipsForAppInstanceUserPagesWithContext same as ListChannelMembershipsForAppInstanceUserPages except
3295// it takes a Context and allows setting request options on the pages.
3296//
3297// The context must be non-nil and will be used for request cancellation. If
3298// the context is nil a panic will occur. In the future the SDK may create
3299// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3300// for more information on using Contexts.
3301func (c *ChimeSDKMessaging) ListChannelMembershipsForAppInstanceUserPagesWithContext(ctx aws.Context, input *ListChannelMembershipsForAppInstanceUserInput, fn func(*ListChannelMembershipsForAppInstanceUserOutput, bool) bool, opts ...request.Option) error {
3302	p := request.Pagination{
3303		NewRequest: func() (*request.Request, error) {
3304			var inCpy *ListChannelMembershipsForAppInstanceUserInput
3305			if input != nil {
3306				tmp := *input
3307				inCpy = &tmp
3308			}
3309			req, _ := c.ListChannelMembershipsForAppInstanceUserRequest(inCpy)
3310			req.SetContext(ctx)
3311			req.ApplyOptions(opts...)
3312			return req, nil
3313		},
3314	}
3315
3316	for p.Next() {
3317		if !fn(p.Page().(*ListChannelMembershipsForAppInstanceUserOutput), !p.HasNextPage()) {
3318			break
3319		}
3320	}
3321
3322	return p.Err()
3323}
3324
3325const opListChannelMessages = "ListChannelMessages"
3326
3327// ListChannelMessagesRequest generates a "aws/request.Request" representing the
3328// client's request for the ListChannelMessages operation. The "output" return
3329// value will be populated with the request's response once the request completes
3330// successfully.
3331//
3332// Use "Send" method on the returned Request to send the API call to the service.
3333// the "output" return value is not valid until after Send returns without error.
3334//
3335// See ListChannelMessages for more information on using the ListChannelMessages
3336// API call, and error handling.
3337//
3338// This method is useful when you want to inject custom logic or configuration
3339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3340//
3341//
3342//    // Example sending a request using the ListChannelMessagesRequest method.
3343//    req, resp := client.ListChannelMessagesRequest(params)
3344//
3345//    err := req.Send()
3346//    if err == nil { // resp is now filled
3347//        fmt.Println(resp)
3348//    }
3349//
3350// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMessages
3351func (c *ChimeSDKMessaging) ListChannelMessagesRequest(input *ListChannelMessagesInput) (req *request.Request, output *ListChannelMessagesOutput) {
3352	op := &request.Operation{
3353		Name:       opListChannelMessages,
3354		HTTPMethod: "GET",
3355		HTTPPath:   "/channels/{channelArn}/messages",
3356		Paginator: &request.Paginator{
3357			InputTokens:     []string{"NextToken"},
3358			OutputTokens:    []string{"NextToken"},
3359			LimitToken:      "MaxResults",
3360			TruncationToken: "",
3361		},
3362	}
3363
3364	if input == nil {
3365		input = &ListChannelMessagesInput{}
3366	}
3367
3368	output = &ListChannelMessagesOutput{}
3369	req = c.newRequest(op, input, output)
3370	return
3371}
3372
3373// ListChannelMessages API operation for Amazon Chime SDK Messaging.
3374//
3375// List all the messages in a channel. Returns a paginated list of ChannelMessages.
3376// By default, sorted by creation timestamp in descending order.
3377//
3378// Redacted messages appear in the results as empty, since they are only redacted,
3379// not deleted. Deleted messages do not appear in the results. This action always
3380// returns the latest version of an edited message.
3381//
3382// Also, the x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
3383// of the user that makes the API call as the value in the header.
3384//
3385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3386// with awserr.Error's Code and Message methods to get detailed information about
3387// the error.
3388//
3389// See the AWS API reference guide for Amazon Chime SDK Messaging's
3390// API operation ListChannelMessages for usage and error information.
3391//
3392// Returned Error Types:
3393//   * BadRequestException
3394//   The input parameters don't match the service's restrictions.
3395//
3396//   * ForbiddenException
3397//   The client is permanently forbidden from making the request.
3398//
3399//   * UnauthorizedClientException
3400//   The client is not currently authorized to make the request.
3401//
3402//   * ThrottledClientException
3403//   The client exceeded its request rate limit.
3404//
3405//   * ServiceUnavailableException
3406//   The service is currently unavailable.
3407//
3408//   * ServiceFailureException
3409//   The service encountered an unexpected error.
3410//
3411// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelMessages
3412func (c *ChimeSDKMessaging) ListChannelMessages(input *ListChannelMessagesInput) (*ListChannelMessagesOutput, error) {
3413	req, out := c.ListChannelMessagesRequest(input)
3414	return out, req.Send()
3415}
3416
3417// ListChannelMessagesWithContext is the same as ListChannelMessages with the addition of
3418// the ability to pass a context and additional request options.
3419//
3420// See ListChannelMessages for details on how to use this API operation.
3421//
3422// The context must be non-nil and will be used for request cancellation. If
3423// the context is nil a panic will occur. In the future the SDK may create
3424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3425// for more information on using Contexts.
3426func (c *ChimeSDKMessaging) ListChannelMessagesWithContext(ctx aws.Context, input *ListChannelMessagesInput, opts ...request.Option) (*ListChannelMessagesOutput, error) {
3427	req, out := c.ListChannelMessagesRequest(input)
3428	req.SetContext(ctx)
3429	req.ApplyOptions(opts...)
3430	return out, req.Send()
3431}
3432
3433// ListChannelMessagesPages iterates over the pages of a ListChannelMessages operation,
3434// calling the "fn" function with the response data for each page. To stop
3435// iterating, return false from the fn function.
3436//
3437// See ListChannelMessages method for more information on how to use this operation.
3438//
3439// Note: This operation can generate multiple requests to a service.
3440//
3441//    // Example iterating over at most 3 pages of a ListChannelMessages operation.
3442//    pageNum := 0
3443//    err := client.ListChannelMessagesPages(params,
3444//        func(page *chimesdkmessaging.ListChannelMessagesOutput, lastPage bool) bool {
3445//            pageNum++
3446//            fmt.Println(page)
3447//            return pageNum <= 3
3448//        })
3449//
3450func (c *ChimeSDKMessaging) ListChannelMessagesPages(input *ListChannelMessagesInput, fn func(*ListChannelMessagesOutput, bool) bool) error {
3451	return c.ListChannelMessagesPagesWithContext(aws.BackgroundContext(), input, fn)
3452}
3453
3454// ListChannelMessagesPagesWithContext same as ListChannelMessagesPages except
3455// it takes a Context and allows setting request options on the pages.
3456//
3457// The context must be non-nil and will be used for request cancellation. If
3458// the context is nil a panic will occur. In the future the SDK may create
3459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3460// for more information on using Contexts.
3461func (c *ChimeSDKMessaging) ListChannelMessagesPagesWithContext(ctx aws.Context, input *ListChannelMessagesInput, fn func(*ListChannelMessagesOutput, bool) bool, opts ...request.Option) error {
3462	p := request.Pagination{
3463		NewRequest: func() (*request.Request, error) {
3464			var inCpy *ListChannelMessagesInput
3465			if input != nil {
3466				tmp := *input
3467				inCpy = &tmp
3468			}
3469			req, _ := c.ListChannelMessagesRequest(inCpy)
3470			req.SetContext(ctx)
3471			req.ApplyOptions(opts...)
3472			return req, nil
3473		},
3474	}
3475
3476	for p.Next() {
3477		if !fn(p.Page().(*ListChannelMessagesOutput), !p.HasNextPage()) {
3478			break
3479		}
3480	}
3481
3482	return p.Err()
3483}
3484
3485const opListChannelModerators = "ListChannelModerators"
3486
3487// ListChannelModeratorsRequest generates a "aws/request.Request" representing the
3488// client's request for the ListChannelModerators operation. The "output" return
3489// value will be populated with the request's response once the request completes
3490// successfully.
3491//
3492// Use "Send" method on the returned Request to send the API call to the service.
3493// the "output" return value is not valid until after Send returns without error.
3494//
3495// See ListChannelModerators for more information on using the ListChannelModerators
3496// API call, and error handling.
3497//
3498// This method is useful when you want to inject custom logic or configuration
3499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3500//
3501//
3502//    // Example sending a request using the ListChannelModeratorsRequest method.
3503//    req, resp := client.ListChannelModeratorsRequest(params)
3504//
3505//    err := req.Send()
3506//    if err == nil { // resp is now filled
3507//        fmt.Println(resp)
3508//    }
3509//
3510// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelModerators
3511func (c *ChimeSDKMessaging) ListChannelModeratorsRequest(input *ListChannelModeratorsInput) (req *request.Request, output *ListChannelModeratorsOutput) {
3512	op := &request.Operation{
3513		Name:       opListChannelModerators,
3514		HTTPMethod: "GET",
3515		HTTPPath:   "/channels/{channelArn}/moderators",
3516		Paginator: &request.Paginator{
3517			InputTokens:     []string{"NextToken"},
3518			OutputTokens:    []string{"NextToken"},
3519			LimitToken:      "MaxResults",
3520			TruncationToken: "",
3521		},
3522	}
3523
3524	if input == nil {
3525		input = &ListChannelModeratorsInput{}
3526	}
3527
3528	output = &ListChannelModeratorsOutput{}
3529	req = c.newRequest(op, input, output)
3530	return
3531}
3532
3533// ListChannelModerators API operation for Amazon Chime SDK Messaging.
3534//
3535// Lists all the moderators for a channel.
3536//
3537// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
3538// of the user that makes the API call as the value in the header.
3539//
3540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3541// with awserr.Error's Code and Message methods to get detailed information about
3542// the error.
3543//
3544// See the AWS API reference guide for Amazon Chime SDK Messaging's
3545// API operation ListChannelModerators for usage and error information.
3546//
3547// Returned Error Types:
3548//   * BadRequestException
3549//   The input parameters don't match the service's restrictions.
3550//
3551//   * ForbiddenException
3552//   The client is permanently forbidden from making the request.
3553//
3554//   * UnauthorizedClientException
3555//   The client is not currently authorized to make the request.
3556//
3557//   * ThrottledClientException
3558//   The client exceeded its request rate limit.
3559//
3560//   * ServiceUnavailableException
3561//   The service is currently unavailable.
3562//
3563//   * ServiceFailureException
3564//   The service encountered an unexpected error.
3565//
3566// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelModerators
3567func (c *ChimeSDKMessaging) ListChannelModerators(input *ListChannelModeratorsInput) (*ListChannelModeratorsOutput, error) {
3568	req, out := c.ListChannelModeratorsRequest(input)
3569	return out, req.Send()
3570}
3571
3572// ListChannelModeratorsWithContext is the same as ListChannelModerators with the addition of
3573// the ability to pass a context and additional request options.
3574//
3575// See ListChannelModerators for details on how to use this API operation.
3576//
3577// The context must be non-nil and will be used for request cancellation. If
3578// the context is nil a panic will occur. In the future the SDK may create
3579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3580// for more information on using Contexts.
3581func (c *ChimeSDKMessaging) ListChannelModeratorsWithContext(ctx aws.Context, input *ListChannelModeratorsInput, opts ...request.Option) (*ListChannelModeratorsOutput, error) {
3582	req, out := c.ListChannelModeratorsRequest(input)
3583	req.SetContext(ctx)
3584	req.ApplyOptions(opts...)
3585	return out, req.Send()
3586}
3587
3588// ListChannelModeratorsPages iterates over the pages of a ListChannelModerators operation,
3589// calling the "fn" function with the response data for each page. To stop
3590// iterating, return false from the fn function.
3591//
3592// See ListChannelModerators method for more information on how to use this operation.
3593//
3594// Note: This operation can generate multiple requests to a service.
3595//
3596//    // Example iterating over at most 3 pages of a ListChannelModerators operation.
3597//    pageNum := 0
3598//    err := client.ListChannelModeratorsPages(params,
3599//        func(page *chimesdkmessaging.ListChannelModeratorsOutput, lastPage bool) bool {
3600//            pageNum++
3601//            fmt.Println(page)
3602//            return pageNum <= 3
3603//        })
3604//
3605func (c *ChimeSDKMessaging) ListChannelModeratorsPages(input *ListChannelModeratorsInput, fn func(*ListChannelModeratorsOutput, bool) bool) error {
3606	return c.ListChannelModeratorsPagesWithContext(aws.BackgroundContext(), input, fn)
3607}
3608
3609// ListChannelModeratorsPagesWithContext same as ListChannelModeratorsPages except
3610// it takes a Context and allows setting request options on the pages.
3611//
3612// The context must be non-nil and will be used for request cancellation. If
3613// the context is nil a panic will occur. In the future the SDK may create
3614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3615// for more information on using Contexts.
3616func (c *ChimeSDKMessaging) ListChannelModeratorsPagesWithContext(ctx aws.Context, input *ListChannelModeratorsInput, fn func(*ListChannelModeratorsOutput, bool) bool, opts ...request.Option) error {
3617	p := request.Pagination{
3618		NewRequest: func() (*request.Request, error) {
3619			var inCpy *ListChannelModeratorsInput
3620			if input != nil {
3621				tmp := *input
3622				inCpy = &tmp
3623			}
3624			req, _ := c.ListChannelModeratorsRequest(inCpy)
3625			req.SetContext(ctx)
3626			req.ApplyOptions(opts...)
3627			return req, nil
3628		},
3629	}
3630
3631	for p.Next() {
3632		if !fn(p.Page().(*ListChannelModeratorsOutput), !p.HasNextPage()) {
3633			break
3634		}
3635	}
3636
3637	return p.Err()
3638}
3639
3640const opListChannels = "ListChannels"
3641
3642// ListChannelsRequest generates a "aws/request.Request" representing the
3643// client's request for the ListChannels operation. The "output" return
3644// value will be populated with the request's response once the request completes
3645// successfully.
3646//
3647// Use "Send" method on the returned Request to send the API call to the service.
3648// the "output" return value is not valid until after Send returns without error.
3649//
3650// See ListChannels for more information on using the ListChannels
3651// API call, and error handling.
3652//
3653// This method is useful when you want to inject custom logic or configuration
3654// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3655//
3656//
3657//    // Example sending a request using the ListChannelsRequest method.
3658//    req, resp := client.ListChannelsRequest(params)
3659//
3660//    err := req.Send()
3661//    if err == nil { // resp is now filled
3662//        fmt.Println(resp)
3663//    }
3664//
3665// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannels
3666func (c *ChimeSDKMessaging) ListChannelsRequest(input *ListChannelsInput) (req *request.Request, output *ListChannelsOutput) {
3667	op := &request.Operation{
3668		Name:       opListChannels,
3669		HTTPMethod: "GET",
3670		HTTPPath:   "/channels",
3671		Paginator: &request.Paginator{
3672			InputTokens:     []string{"NextToken"},
3673			OutputTokens:    []string{"NextToken"},
3674			LimitToken:      "MaxResults",
3675			TruncationToken: "",
3676		},
3677	}
3678
3679	if input == nil {
3680		input = &ListChannelsInput{}
3681	}
3682
3683	output = &ListChannelsOutput{}
3684	req = c.newRequest(op, input, output)
3685	return
3686}
3687
3688// ListChannels API operation for Amazon Chime SDK Messaging.
3689//
3690// Lists all Channels created under a single Chime App as a paginated list.
3691// You can specify filters to narrow results.
3692//
3693// Functionality & restrictions
3694//
3695//    * Use privacy = PUBLIC to retrieve all public channels in the account.
3696//
3697//    * Only an AppInstanceAdmin can set privacy = PRIVATE to list the private
3698//    channels in an account.
3699//
3700// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
3701// of the user that makes the API call as the value in the header.
3702//
3703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3704// with awserr.Error's Code and Message methods to get detailed information about
3705// the error.
3706//
3707// See the AWS API reference guide for Amazon Chime SDK Messaging's
3708// API operation ListChannels for usage and error information.
3709//
3710// Returned Error Types:
3711//   * BadRequestException
3712//   The input parameters don't match the service's restrictions.
3713//
3714//   * ForbiddenException
3715//   The client is permanently forbidden from making the request.
3716//
3717//   * UnauthorizedClientException
3718//   The client is not currently authorized to make the request.
3719//
3720//   * ThrottledClientException
3721//   The client exceeded its request rate limit.
3722//
3723//   * ServiceUnavailableException
3724//   The service is currently unavailable.
3725//
3726//   * ServiceFailureException
3727//   The service encountered an unexpected error.
3728//
3729// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannels
3730func (c *ChimeSDKMessaging) ListChannels(input *ListChannelsInput) (*ListChannelsOutput, error) {
3731	req, out := c.ListChannelsRequest(input)
3732	return out, req.Send()
3733}
3734
3735// ListChannelsWithContext is the same as ListChannels with the addition of
3736// the ability to pass a context and additional request options.
3737//
3738// See ListChannels for details on how to use this API operation.
3739//
3740// The context must be non-nil and will be used for request cancellation. If
3741// the context is nil a panic will occur. In the future the SDK may create
3742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3743// for more information on using Contexts.
3744func (c *ChimeSDKMessaging) ListChannelsWithContext(ctx aws.Context, input *ListChannelsInput, opts ...request.Option) (*ListChannelsOutput, error) {
3745	req, out := c.ListChannelsRequest(input)
3746	req.SetContext(ctx)
3747	req.ApplyOptions(opts...)
3748	return out, req.Send()
3749}
3750
3751// ListChannelsPages iterates over the pages of a ListChannels operation,
3752// calling the "fn" function with the response data for each page. To stop
3753// iterating, return false from the fn function.
3754//
3755// See ListChannels method for more information on how to use this operation.
3756//
3757// Note: This operation can generate multiple requests to a service.
3758//
3759//    // Example iterating over at most 3 pages of a ListChannels operation.
3760//    pageNum := 0
3761//    err := client.ListChannelsPages(params,
3762//        func(page *chimesdkmessaging.ListChannelsOutput, lastPage bool) bool {
3763//            pageNum++
3764//            fmt.Println(page)
3765//            return pageNum <= 3
3766//        })
3767//
3768func (c *ChimeSDKMessaging) ListChannelsPages(input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool) error {
3769	return c.ListChannelsPagesWithContext(aws.BackgroundContext(), input, fn)
3770}
3771
3772// ListChannelsPagesWithContext same as ListChannelsPages except
3773// it takes a Context and allows setting request options on the pages.
3774//
3775// The context must be non-nil and will be used for request cancellation. If
3776// the context is nil a panic will occur. In the future the SDK may create
3777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3778// for more information on using Contexts.
3779func (c *ChimeSDKMessaging) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsInput, fn func(*ListChannelsOutput, bool) bool, opts ...request.Option) error {
3780	p := request.Pagination{
3781		NewRequest: func() (*request.Request, error) {
3782			var inCpy *ListChannelsInput
3783			if input != nil {
3784				tmp := *input
3785				inCpy = &tmp
3786			}
3787			req, _ := c.ListChannelsRequest(inCpy)
3788			req.SetContext(ctx)
3789			req.ApplyOptions(opts...)
3790			return req, nil
3791		},
3792	}
3793
3794	for p.Next() {
3795		if !fn(p.Page().(*ListChannelsOutput), !p.HasNextPage()) {
3796			break
3797		}
3798	}
3799
3800	return p.Err()
3801}
3802
3803const opListChannelsAssociatedWithChannelFlow = "ListChannelsAssociatedWithChannelFlow"
3804
3805// ListChannelsAssociatedWithChannelFlowRequest generates a "aws/request.Request" representing the
3806// client's request for the ListChannelsAssociatedWithChannelFlow operation. The "output" return
3807// value will be populated with the request's response once the request completes
3808// successfully.
3809//
3810// Use "Send" method on the returned Request to send the API call to the service.
3811// the "output" return value is not valid until after Send returns without error.
3812//
3813// See ListChannelsAssociatedWithChannelFlow for more information on using the ListChannelsAssociatedWithChannelFlow
3814// API call, and error handling.
3815//
3816// This method is useful when you want to inject custom logic or configuration
3817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3818//
3819//
3820//    // Example sending a request using the ListChannelsAssociatedWithChannelFlowRequest method.
3821//    req, resp := client.ListChannelsAssociatedWithChannelFlowRequest(params)
3822//
3823//    err := req.Send()
3824//    if err == nil { // resp is now filled
3825//        fmt.Println(resp)
3826//    }
3827//
3828// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelsAssociatedWithChannelFlow
3829func (c *ChimeSDKMessaging) ListChannelsAssociatedWithChannelFlowRequest(input *ListChannelsAssociatedWithChannelFlowInput) (req *request.Request, output *ListChannelsAssociatedWithChannelFlowOutput) {
3830	op := &request.Operation{
3831		Name:       opListChannelsAssociatedWithChannelFlow,
3832		HTTPMethod: "GET",
3833		HTTPPath:   "/channels?scope=channel-flow-associations",
3834		Paginator: &request.Paginator{
3835			InputTokens:     []string{"NextToken"},
3836			OutputTokens:    []string{"NextToken"},
3837			LimitToken:      "MaxResults",
3838			TruncationToken: "",
3839		},
3840	}
3841
3842	if input == nil {
3843		input = &ListChannelsAssociatedWithChannelFlowInput{}
3844	}
3845
3846	output = &ListChannelsAssociatedWithChannelFlowOutput{}
3847	req = c.newRequest(op, input, output)
3848	return
3849}
3850
3851// ListChannelsAssociatedWithChannelFlow API operation for Amazon Chime SDK Messaging.
3852//
3853// Lists all channels associated with a specified channel flow. You can associate
3854// a channel flow with multiple channels, but you can only associate a channel
3855// with one channel flow. This is a developer API.
3856//
3857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3858// with awserr.Error's Code and Message methods to get detailed information about
3859// the error.
3860//
3861// See the AWS API reference guide for Amazon Chime SDK Messaging's
3862// API operation ListChannelsAssociatedWithChannelFlow for usage and error information.
3863//
3864// Returned Error Types:
3865//   * BadRequestException
3866//   The input parameters don't match the service's restrictions.
3867//
3868//   * ForbiddenException
3869//   The client is permanently forbidden from making the request.
3870//
3871//   * UnauthorizedClientException
3872//   The client is not currently authorized to make the request.
3873//
3874//   * ThrottledClientException
3875//   The client exceeded its request rate limit.
3876//
3877//   * ServiceUnavailableException
3878//   The service is currently unavailable.
3879//
3880//   * ServiceFailureException
3881//   The service encountered an unexpected error.
3882//
3883// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelsAssociatedWithChannelFlow
3884func (c *ChimeSDKMessaging) ListChannelsAssociatedWithChannelFlow(input *ListChannelsAssociatedWithChannelFlowInput) (*ListChannelsAssociatedWithChannelFlowOutput, error) {
3885	req, out := c.ListChannelsAssociatedWithChannelFlowRequest(input)
3886	return out, req.Send()
3887}
3888
3889// ListChannelsAssociatedWithChannelFlowWithContext is the same as ListChannelsAssociatedWithChannelFlow with the addition of
3890// the ability to pass a context and additional request options.
3891//
3892// See ListChannelsAssociatedWithChannelFlow for details on how to use this API operation.
3893//
3894// The context must be non-nil and will be used for request cancellation. If
3895// the context is nil a panic will occur. In the future the SDK may create
3896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3897// for more information on using Contexts.
3898func (c *ChimeSDKMessaging) ListChannelsAssociatedWithChannelFlowWithContext(ctx aws.Context, input *ListChannelsAssociatedWithChannelFlowInput, opts ...request.Option) (*ListChannelsAssociatedWithChannelFlowOutput, error) {
3899	req, out := c.ListChannelsAssociatedWithChannelFlowRequest(input)
3900	req.SetContext(ctx)
3901	req.ApplyOptions(opts...)
3902	return out, req.Send()
3903}
3904
3905// ListChannelsAssociatedWithChannelFlowPages iterates over the pages of a ListChannelsAssociatedWithChannelFlow operation,
3906// calling the "fn" function with the response data for each page. To stop
3907// iterating, return false from the fn function.
3908//
3909// See ListChannelsAssociatedWithChannelFlow method for more information on how to use this operation.
3910//
3911// Note: This operation can generate multiple requests to a service.
3912//
3913//    // Example iterating over at most 3 pages of a ListChannelsAssociatedWithChannelFlow operation.
3914//    pageNum := 0
3915//    err := client.ListChannelsAssociatedWithChannelFlowPages(params,
3916//        func(page *chimesdkmessaging.ListChannelsAssociatedWithChannelFlowOutput, lastPage bool) bool {
3917//            pageNum++
3918//            fmt.Println(page)
3919//            return pageNum <= 3
3920//        })
3921//
3922func (c *ChimeSDKMessaging) ListChannelsAssociatedWithChannelFlowPages(input *ListChannelsAssociatedWithChannelFlowInput, fn func(*ListChannelsAssociatedWithChannelFlowOutput, bool) bool) error {
3923	return c.ListChannelsAssociatedWithChannelFlowPagesWithContext(aws.BackgroundContext(), input, fn)
3924}
3925
3926// ListChannelsAssociatedWithChannelFlowPagesWithContext same as ListChannelsAssociatedWithChannelFlowPages except
3927// it takes a Context and allows setting request options on the pages.
3928//
3929// The context must be non-nil and will be used for request cancellation. If
3930// the context is nil a panic will occur. In the future the SDK may create
3931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3932// for more information on using Contexts.
3933func (c *ChimeSDKMessaging) ListChannelsAssociatedWithChannelFlowPagesWithContext(ctx aws.Context, input *ListChannelsAssociatedWithChannelFlowInput, fn func(*ListChannelsAssociatedWithChannelFlowOutput, bool) bool, opts ...request.Option) error {
3934	p := request.Pagination{
3935		NewRequest: func() (*request.Request, error) {
3936			var inCpy *ListChannelsAssociatedWithChannelFlowInput
3937			if input != nil {
3938				tmp := *input
3939				inCpy = &tmp
3940			}
3941			req, _ := c.ListChannelsAssociatedWithChannelFlowRequest(inCpy)
3942			req.SetContext(ctx)
3943			req.ApplyOptions(opts...)
3944			return req, nil
3945		},
3946	}
3947
3948	for p.Next() {
3949		if !fn(p.Page().(*ListChannelsAssociatedWithChannelFlowOutput), !p.HasNextPage()) {
3950			break
3951		}
3952	}
3953
3954	return p.Err()
3955}
3956
3957const opListChannelsModeratedByAppInstanceUser = "ListChannelsModeratedByAppInstanceUser"
3958
3959// ListChannelsModeratedByAppInstanceUserRequest generates a "aws/request.Request" representing the
3960// client's request for the ListChannelsModeratedByAppInstanceUser operation. The "output" return
3961// value will be populated with the request's response once the request completes
3962// successfully.
3963//
3964// Use "Send" method on the returned Request to send the API call to the service.
3965// the "output" return value is not valid until after Send returns without error.
3966//
3967// See ListChannelsModeratedByAppInstanceUser for more information on using the ListChannelsModeratedByAppInstanceUser
3968// API call, and error handling.
3969//
3970// This method is useful when you want to inject custom logic or configuration
3971// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3972//
3973//
3974//    // Example sending a request using the ListChannelsModeratedByAppInstanceUserRequest method.
3975//    req, resp := client.ListChannelsModeratedByAppInstanceUserRequest(params)
3976//
3977//    err := req.Send()
3978//    if err == nil { // resp is now filled
3979//        fmt.Println(resp)
3980//    }
3981//
3982// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelsModeratedByAppInstanceUser
3983func (c *ChimeSDKMessaging) ListChannelsModeratedByAppInstanceUserRequest(input *ListChannelsModeratedByAppInstanceUserInput) (req *request.Request, output *ListChannelsModeratedByAppInstanceUserOutput) {
3984	op := &request.Operation{
3985		Name:       opListChannelsModeratedByAppInstanceUser,
3986		HTTPMethod: "GET",
3987		HTTPPath:   "/channels?scope=app-instance-user-moderated-channels",
3988		Paginator: &request.Paginator{
3989			InputTokens:     []string{"NextToken"},
3990			OutputTokens:    []string{"NextToken"},
3991			LimitToken:      "MaxResults",
3992			TruncationToken: "",
3993		},
3994	}
3995
3996	if input == nil {
3997		input = &ListChannelsModeratedByAppInstanceUserInput{}
3998	}
3999
4000	output = &ListChannelsModeratedByAppInstanceUserOutput{}
4001	req = c.newRequest(op, input, output)
4002	return
4003}
4004
4005// ListChannelsModeratedByAppInstanceUser API operation for Amazon Chime SDK Messaging.
4006//
4007// A list of the channels moderated by an AppInstanceUser.
4008//
4009// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
4010// of the user that makes the API call as the value in the header.
4011//
4012// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4013// with awserr.Error's Code and Message methods to get detailed information about
4014// the error.
4015//
4016// See the AWS API reference guide for Amazon Chime SDK Messaging's
4017// API operation ListChannelsModeratedByAppInstanceUser for usage and error information.
4018//
4019// Returned Error Types:
4020//   * BadRequestException
4021//   The input parameters don't match the service's restrictions.
4022//
4023//   * ForbiddenException
4024//   The client is permanently forbidden from making the request.
4025//
4026//   * UnauthorizedClientException
4027//   The client is not currently authorized to make the request.
4028//
4029//   * ThrottledClientException
4030//   The client exceeded its request rate limit.
4031//
4032//   * ServiceUnavailableException
4033//   The service is currently unavailable.
4034//
4035//   * ServiceFailureException
4036//   The service encountered an unexpected error.
4037//
4038// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListChannelsModeratedByAppInstanceUser
4039func (c *ChimeSDKMessaging) ListChannelsModeratedByAppInstanceUser(input *ListChannelsModeratedByAppInstanceUserInput) (*ListChannelsModeratedByAppInstanceUserOutput, error) {
4040	req, out := c.ListChannelsModeratedByAppInstanceUserRequest(input)
4041	return out, req.Send()
4042}
4043
4044// ListChannelsModeratedByAppInstanceUserWithContext is the same as ListChannelsModeratedByAppInstanceUser with the addition of
4045// the ability to pass a context and additional request options.
4046//
4047// See ListChannelsModeratedByAppInstanceUser for details on how to use this API operation.
4048//
4049// The context must be non-nil and will be used for request cancellation. If
4050// the context is nil a panic will occur. In the future the SDK may create
4051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4052// for more information on using Contexts.
4053func (c *ChimeSDKMessaging) ListChannelsModeratedByAppInstanceUserWithContext(ctx aws.Context, input *ListChannelsModeratedByAppInstanceUserInput, opts ...request.Option) (*ListChannelsModeratedByAppInstanceUserOutput, error) {
4054	req, out := c.ListChannelsModeratedByAppInstanceUserRequest(input)
4055	req.SetContext(ctx)
4056	req.ApplyOptions(opts...)
4057	return out, req.Send()
4058}
4059
4060// ListChannelsModeratedByAppInstanceUserPages iterates over the pages of a ListChannelsModeratedByAppInstanceUser operation,
4061// calling the "fn" function with the response data for each page. To stop
4062// iterating, return false from the fn function.
4063//
4064// See ListChannelsModeratedByAppInstanceUser method for more information on how to use this operation.
4065//
4066// Note: This operation can generate multiple requests to a service.
4067//
4068//    // Example iterating over at most 3 pages of a ListChannelsModeratedByAppInstanceUser operation.
4069//    pageNum := 0
4070//    err := client.ListChannelsModeratedByAppInstanceUserPages(params,
4071//        func(page *chimesdkmessaging.ListChannelsModeratedByAppInstanceUserOutput, lastPage bool) bool {
4072//            pageNum++
4073//            fmt.Println(page)
4074//            return pageNum <= 3
4075//        })
4076//
4077func (c *ChimeSDKMessaging) ListChannelsModeratedByAppInstanceUserPages(input *ListChannelsModeratedByAppInstanceUserInput, fn func(*ListChannelsModeratedByAppInstanceUserOutput, bool) bool) error {
4078	return c.ListChannelsModeratedByAppInstanceUserPagesWithContext(aws.BackgroundContext(), input, fn)
4079}
4080
4081// ListChannelsModeratedByAppInstanceUserPagesWithContext same as ListChannelsModeratedByAppInstanceUserPages except
4082// it takes a Context and allows setting request options on the pages.
4083//
4084// The context must be non-nil and will be used for request cancellation. If
4085// the context is nil a panic will occur. In the future the SDK may create
4086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4087// for more information on using Contexts.
4088func (c *ChimeSDKMessaging) ListChannelsModeratedByAppInstanceUserPagesWithContext(ctx aws.Context, input *ListChannelsModeratedByAppInstanceUserInput, fn func(*ListChannelsModeratedByAppInstanceUserOutput, bool) bool, opts ...request.Option) error {
4089	p := request.Pagination{
4090		NewRequest: func() (*request.Request, error) {
4091			var inCpy *ListChannelsModeratedByAppInstanceUserInput
4092			if input != nil {
4093				tmp := *input
4094				inCpy = &tmp
4095			}
4096			req, _ := c.ListChannelsModeratedByAppInstanceUserRequest(inCpy)
4097			req.SetContext(ctx)
4098			req.ApplyOptions(opts...)
4099			return req, nil
4100		},
4101	}
4102
4103	for p.Next() {
4104		if !fn(p.Page().(*ListChannelsModeratedByAppInstanceUserOutput), !p.HasNextPage()) {
4105			break
4106		}
4107	}
4108
4109	return p.Err()
4110}
4111
4112const opListTagsForResource = "ListTagsForResource"
4113
4114// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4115// client's request for the ListTagsForResource operation. The "output" return
4116// value will be populated with the request's response once the request completes
4117// successfully.
4118//
4119// Use "Send" method on the returned Request to send the API call to the service.
4120// the "output" return value is not valid until after Send returns without error.
4121//
4122// See ListTagsForResource for more information on using the ListTagsForResource
4123// API call, and error handling.
4124//
4125// This method is useful when you want to inject custom logic or configuration
4126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4127//
4128//
4129//    // Example sending a request using the ListTagsForResourceRequest method.
4130//    req, resp := client.ListTagsForResourceRequest(params)
4131//
4132//    err := req.Send()
4133//    if err == nil { // resp is now filled
4134//        fmt.Println(resp)
4135//    }
4136//
4137// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListTagsForResource
4138func (c *ChimeSDKMessaging) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4139	op := &request.Operation{
4140		Name:       opListTagsForResource,
4141		HTTPMethod: "GET",
4142		HTTPPath:   "/tags",
4143	}
4144
4145	if input == nil {
4146		input = &ListTagsForResourceInput{}
4147	}
4148
4149	output = &ListTagsForResourceOutput{}
4150	req = c.newRequest(op, input, output)
4151	return
4152}
4153
4154// ListTagsForResource API operation for Amazon Chime SDK Messaging.
4155//
4156// Lists the tags applied to an Amazon Chime SDK messaging resource.
4157//
4158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4159// with awserr.Error's Code and Message methods to get detailed information about
4160// the error.
4161//
4162// See the AWS API reference guide for Amazon Chime SDK Messaging's
4163// API operation ListTagsForResource for usage and error information.
4164//
4165// Returned Error Types:
4166//   * BadRequestException
4167//   The input parameters don't match the service's restrictions.
4168//
4169//   * ForbiddenException
4170//   The client is permanently forbidden from making the request.
4171//
4172//   * UnauthorizedClientException
4173//   The client is not currently authorized to make the request.
4174//
4175//   * ThrottledClientException
4176//   The client exceeded its request rate limit.
4177//
4178//   * ServiceUnavailableException
4179//   The service is currently unavailable.
4180//
4181//   * ServiceFailureException
4182//   The service encountered an unexpected error.
4183//
4184// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/ListTagsForResource
4185func (c *ChimeSDKMessaging) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4186	req, out := c.ListTagsForResourceRequest(input)
4187	return out, req.Send()
4188}
4189
4190// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4191// the ability to pass a context and additional request options.
4192//
4193// See ListTagsForResource for details on how to use this API operation.
4194//
4195// The context must be non-nil and will be used for request cancellation. If
4196// the context is nil a panic will occur. In the future the SDK may create
4197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4198// for more information on using Contexts.
4199func (c *ChimeSDKMessaging) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4200	req, out := c.ListTagsForResourceRequest(input)
4201	req.SetContext(ctx)
4202	req.ApplyOptions(opts...)
4203	return out, req.Send()
4204}
4205
4206const opPutChannelMembershipPreferences = "PutChannelMembershipPreferences"
4207
4208// PutChannelMembershipPreferencesRequest generates a "aws/request.Request" representing the
4209// client's request for the PutChannelMembershipPreferences operation. The "output" return
4210// value will be populated with the request's response once the request completes
4211// successfully.
4212//
4213// Use "Send" method on the returned Request to send the API call to the service.
4214// the "output" return value is not valid until after Send returns without error.
4215//
4216// See PutChannelMembershipPreferences for more information on using the PutChannelMembershipPreferences
4217// API call, and error handling.
4218//
4219// This method is useful when you want to inject custom logic or configuration
4220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4221//
4222//
4223//    // Example sending a request using the PutChannelMembershipPreferencesRequest method.
4224//    req, resp := client.PutChannelMembershipPreferencesRequest(params)
4225//
4226//    err := req.Send()
4227//    if err == nil { // resp is now filled
4228//        fmt.Println(resp)
4229//    }
4230//
4231// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/PutChannelMembershipPreferences
4232func (c *ChimeSDKMessaging) PutChannelMembershipPreferencesRequest(input *PutChannelMembershipPreferencesInput) (req *request.Request, output *PutChannelMembershipPreferencesOutput) {
4233	op := &request.Operation{
4234		Name:       opPutChannelMembershipPreferences,
4235		HTTPMethod: "PUT",
4236		HTTPPath:   "/channels/{channelArn}/memberships/{memberArn}/preferences",
4237	}
4238
4239	if input == nil {
4240		input = &PutChannelMembershipPreferencesInput{}
4241	}
4242
4243	output = &PutChannelMembershipPreferencesOutput{}
4244	req = c.newRequest(op, input, output)
4245	return
4246}
4247
4248// PutChannelMembershipPreferences API operation for Amazon Chime SDK Messaging.
4249//
4250// Sets the membership preferences of an AppInstanceUser for the specified channel.
4251// The AppInstanceUser must be a member of the channel. Only the AppInstanceUser
4252// who owns the membership can set preferences. Users in the AppInstanceAdmin
4253// and channel moderator roles can't set preferences for other users. Banned
4254// users can't set membership preferences for the channel from which they are
4255// banned.
4256//
4257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4258// with awserr.Error's Code and Message methods to get detailed information about
4259// the error.
4260//
4261// See the AWS API reference guide for Amazon Chime SDK Messaging's
4262// API operation PutChannelMembershipPreferences for usage and error information.
4263//
4264// Returned Error Types:
4265//   * BadRequestException
4266//   The input parameters don't match the service's restrictions.
4267//
4268//   * ConflictException
4269//   The request could not be processed because of conflict in the current state
4270//   of the resource.
4271//
4272//   * UnauthorizedClientException
4273//   The client is not currently authorized to make the request.
4274//
4275//   * ForbiddenException
4276//   The client is permanently forbidden from making the request.
4277//
4278//   * ThrottledClientException
4279//   The client exceeded its request rate limit.
4280//
4281//   * ServiceUnavailableException
4282//   The service is currently unavailable.
4283//
4284//   * ServiceFailureException
4285//   The service encountered an unexpected error.
4286//
4287// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/PutChannelMembershipPreferences
4288func (c *ChimeSDKMessaging) PutChannelMembershipPreferences(input *PutChannelMembershipPreferencesInput) (*PutChannelMembershipPreferencesOutput, error) {
4289	req, out := c.PutChannelMembershipPreferencesRequest(input)
4290	return out, req.Send()
4291}
4292
4293// PutChannelMembershipPreferencesWithContext is the same as PutChannelMembershipPreferences with the addition of
4294// the ability to pass a context and additional request options.
4295//
4296// See PutChannelMembershipPreferences for details on how to use this API operation.
4297//
4298// The context must be non-nil and will be used for request cancellation. If
4299// the context is nil a panic will occur. In the future the SDK may create
4300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4301// for more information on using Contexts.
4302func (c *ChimeSDKMessaging) PutChannelMembershipPreferencesWithContext(ctx aws.Context, input *PutChannelMembershipPreferencesInput, opts ...request.Option) (*PutChannelMembershipPreferencesOutput, error) {
4303	req, out := c.PutChannelMembershipPreferencesRequest(input)
4304	req.SetContext(ctx)
4305	req.ApplyOptions(opts...)
4306	return out, req.Send()
4307}
4308
4309const opRedactChannelMessage = "RedactChannelMessage"
4310
4311// RedactChannelMessageRequest generates a "aws/request.Request" representing the
4312// client's request for the RedactChannelMessage operation. The "output" return
4313// value will be populated with the request's response once the request completes
4314// successfully.
4315//
4316// Use "Send" method on the returned Request to send the API call to the service.
4317// the "output" return value is not valid until after Send returns without error.
4318//
4319// See RedactChannelMessage for more information on using the RedactChannelMessage
4320// API call, and error handling.
4321//
4322// This method is useful when you want to inject custom logic or configuration
4323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4324//
4325//
4326//    // Example sending a request using the RedactChannelMessageRequest method.
4327//    req, resp := client.RedactChannelMessageRequest(params)
4328//
4329//    err := req.Send()
4330//    if err == nil { // resp is now filled
4331//        fmt.Println(resp)
4332//    }
4333//
4334// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/RedactChannelMessage
4335func (c *ChimeSDKMessaging) RedactChannelMessageRequest(input *RedactChannelMessageInput) (req *request.Request, output *RedactChannelMessageOutput) {
4336	op := &request.Operation{
4337		Name:       opRedactChannelMessage,
4338		HTTPMethod: "POST",
4339		HTTPPath:   "/channels/{channelArn}/messages/{messageId}?operation=redact",
4340	}
4341
4342	if input == nil {
4343		input = &RedactChannelMessageInput{}
4344	}
4345
4346	output = &RedactChannelMessageOutput{}
4347	req = c.newRequest(op, input, output)
4348	return
4349}
4350
4351// RedactChannelMessage API operation for Amazon Chime SDK Messaging.
4352//
4353// Redacts message content, but not metadata. The message exists in the back
4354// end, but the action returns null content, and the state shows as redacted.
4355//
4356// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
4357// of the user that makes the API call as the value in the header.
4358//
4359// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4360// with awserr.Error's Code and Message methods to get detailed information about
4361// the error.
4362//
4363// See the AWS API reference guide for Amazon Chime SDK Messaging's
4364// API operation RedactChannelMessage for usage and error information.
4365//
4366// Returned Error Types:
4367//   * BadRequestException
4368//   The input parameters don't match the service's restrictions.
4369//
4370//   * ForbiddenException
4371//   The client is permanently forbidden from making the request.
4372//
4373//   * UnauthorizedClientException
4374//   The client is not currently authorized to make the request.
4375//
4376//   * ThrottledClientException
4377//   The client exceeded its request rate limit.
4378//
4379//   * ServiceUnavailableException
4380//   The service is currently unavailable.
4381//
4382//   * ServiceFailureException
4383//   The service encountered an unexpected error.
4384//
4385// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/RedactChannelMessage
4386func (c *ChimeSDKMessaging) RedactChannelMessage(input *RedactChannelMessageInput) (*RedactChannelMessageOutput, error) {
4387	req, out := c.RedactChannelMessageRequest(input)
4388	return out, req.Send()
4389}
4390
4391// RedactChannelMessageWithContext is the same as RedactChannelMessage with the addition of
4392// the ability to pass a context and additional request options.
4393//
4394// See RedactChannelMessage for details on how to use this API operation.
4395//
4396// The context must be non-nil and will be used for request cancellation. If
4397// the context is nil a panic will occur. In the future the SDK may create
4398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4399// for more information on using Contexts.
4400func (c *ChimeSDKMessaging) RedactChannelMessageWithContext(ctx aws.Context, input *RedactChannelMessageInput, opts ...request.Option) (*RedactChannelMessageOutput, error) {
4401	req, out := c.RedactChannelMessageRequest(input)
4402	req.SetContext(ctx)
4403	req.ApplyOptions(opts...)
4404	return out, req.Send()
4405}
4406
4407const opSendChannelMessage = "SendChannelMessage"
4408
4409// SendChannelMessageRequest generates a "aws/request.Request" representing the
4410// client's request for the SendChannelMessage operation. The "output" return
4411// value will be populated with the request's response once the request completes
4412// successfully.
4413//
4414// Use "Send" method on the returned Request to send the API call to the service.
4415// the "output" return value is not valid until after Send returns without error.
4416//
4417// See SendChannelMessage for more information on using the SendChannelMessage
4418// API call, and error handling.
4419//
4420// This method is useful when you want to inject custom logic or configuration
4421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4422//
4423//
4424//    // Example sending a request using the SendChannelMessageRequest method.
4425//    req, resp := client.SendChannelMessageRequest(params)
4426//
4427//    err := req.Send()
4428//    if err == nil { // resp is now filled
4429//        fmt.Println(resp)
4430//    }
4431//
4432// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/SendChannelMessage
4433func (c *ChimeSDKMessaging) SendChannelMessageRequest(input *SendChannelMessageInput) (req *request.Request, output *SendChannelMessageOutput) {
4434	op := &request.Operation{
4435		Name:       opSendChannelMessage,
4436		HTTPMethod: "POST",
4437		HTTPPath:   "/channels/{channelArn}/messages",
4438	}
4439
4440	if input == nil {
4441		input = &SendChannelMessageInput{}
4442	}
4443
4444	output = &SendChannelMessageOutput{}
4445	req = c.newRequest(op, input, output)
4446	return
4447}
4448
4449// SendChannelMessage API operation for Amazon Chime SDK Messaging.
4450//
4451// Sends a message to a particular channel that the member is a part of.
4452//
4453// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
4454// of the user that makes the API call as the value in the header.
4455//
4456// Also, STANDARD messages can contain 4KB of data and the 1KB of metadata.
4457// CONTROL messages can contain 30 bytes of data and no metadata.
4458//
4459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4460// with awserr.Error's Code and Message methods to get detailed information about
4461// the error.
4462//
4463// See the AWS API reference guide for Amazon Chime SDK Messaging's
4464// API operation SendChannelMessage for usage and error information.
4465//
4466// Returned Error Types:
4467//   * BadRequestException
4468//   The input parameters don't match the service's restrictions.
4469//
4470//   * ConflictException
4471//   The request could not be processed because of conflict in the current state
4472//   of the resource.
4473//
4474//   * ForbiddenException
4475//   The client is permanently forbidden from making the request.
4476//
4477//   * UnauthorizedClientException
4478//   The client is not currently authorized to make the request.
4479//
4480//   * ThrottledClientException
4481//   The client exceeded its request rate limit.
4482//
4483//   * ServiceUnavailableException
4484//   The service is currently unavailable.
4485//
4486//   * ServiceFailureException
4487//   The service encountered an unexpected error.
4488//
4489// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/SendChannelMessage
4490func (c *ChimeSDKMessaging) SendChannelMessage(input *SendChannelMessageInput) (*SendChannelMessageOutput, error) {
4491	req, out := c.SendChannelMessageRequest(input)
4492	return out, req.Send()
4493}
4494
4495// SendChannelMessageWithContext is the same as SendChannelMessage with the addition of
4496// the ability to pass a context and additional request options.
4497//
4498// See SendChannelMessage for details on how to use this API operation.
4499//
4500// The context must be non-nil and will be used for request cancellation. If
4501// the context is nil a panic will occur. In the future the SDK may create
4502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4503// for more information on using Contexts.
4504func (c *ChimeSDKMessaging) SendChannelMessageWithContext(ctx aws.Context, input *SendChannelMessageInput, opts ...request.Option) (*SendChannelMessageOutput, error) {
4505	req, out := c.SendChannelMessageRequest(input)
4506	req.SetContext(ctx)
4507	req.ApplyOptions(opts...)
4508	return out, req.Send()
4509}
4510
4511const opTagResource = "TagResource"
4512
4513// TagResourceRequest generates a "aws/request.Request" representing the
4514// client's request for the TagResource operation. The "output" return
4515// value will be populated with the request's response once the request completes
4516// successfully.
4517//
4518// Use "Send" method on the returned Request to send the API call to the service.
4519// the "output" return value is not valid until after Send returns without error.
4520//
4521// See TagResource for more information on using the TagResource
4522// API call, and error handling.
4523//
4524// This method is useful when you want to inject custom logic or configuration
4525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4526//
4527//
4528//    // Example sending a request using the TagResourceRequest method.
4529//    req, resp := client.TagResourceRequest(params)
4530//
4531//    err := req.Send()
4532//    if err == nil { // resp is now filled
4533//        fmt.Println(resp)
4534//    }
4535//
4536// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/TagResource
4537func (c *ChimeSDKMessaging) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4538	op := &request.Operation{
4539		Name:       opTagResource,
4540		HTTPMethod: "POST",
4541		HTTPPath:   "/tags?operation=tag-resource",
4542	}
4543
4544	if input == nil {
4545		input = &TagResourceInput{}
4546	}
4547
4548	output = &TagResourceOutput{}
4549	req = c.newRequest(op, input, output)
4550	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4551	return
4552}
4553
4554// TagResource API operation for Amazon Chime SDK Messaging.
4555//
4556// Applies the specified tags to the specified Amazon Chime SDK messaging resource.
4557//
4558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4559// with awserr.Error's Code and Message methods to get detailed information about
4560// the error.
4561//
4562// See the AWS API reference guide for Amazon Chime SDK Messaging's
4563// API operation TagResource for usage and error information.
4564//
4565// Returned Error Types:
4566//   * BadRequestException
4567//   The input parameters don't match the service's restrictions.
4568//
4569//   * ForbiddenException
4570//   The client is permanently forbidden from making the request.
4571//
4572//   * UnauthorizedClientException
4573//   The client is not currently authorized to make the request.
4574//
4575//   * ResourceLimitExceededException
4576//   The request exceeds the resource limit.
4577//
4578//   * ThrottledClientException
4579//   The client exceeded its request rate limit.
4580//
4581//   * ServiceUnavailableException
4582//   The service is currently unavailable.
4583//
4584//   * ServiceFailureException
4585//   The service encountered an unexpected error.
4586//
4587// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/TagResource
4588func (c *ChimeSDKMessaging) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4589	req, out := c.TagResourceRequest(input)
4590	return out, req.Send()
4591}
4592
4593// TagResourceWithContext is the same as TagResource with the addition of
4594// the ability to pass a context and additional request options.
4595//
4596// See TagResource for details on how to use this API operation.
4597//
4598// The context must be non-nil and will be used for request cancellation. If
4599// the context is nil a panic will occur. In the future the SDK may create
4600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4601// for more information on using Contexts.
4602func (c *ChimeSDKMessaging) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4603	req, out := c.TagResourceRequest(input)
4604	req.SetContext(ctx)
4605	req.ApplyOptions(opts...)
4606	return out, req.Send()
4607}
4608
4609const opUntagResource = "UntagResource"
4610
4611// UntagResourceRequest generates a "aws/request.Request" representing the
4612// client's request for the UntagResource operation. The "output" return
4613// value will be populated with the request's response once the request completes
4614// successfully.
4615//
4616// Use "Send" method on the returned Request to send the API call to the service.
4617// the "output" return value is not valid until after Send returns without error.
4618//
4619// See UntagResource for more information on using the UntagResource
4620// API call, and error handling.
4621//
4622// This method is useful when you want to inject custom logic or configuration
4623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4624//
4625//
4626//    // Example sending a request using the UntagResourceRequest method.
4627//    req, resp := client.UntagResourceRequest(params)
4628//
4629//    err := req.Send()
4630//    if err == nil { // resp is now filled
4631//        fmt.Println(resp)
4632//    }
4633//
4634// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UntagResource
4635func (c *ChimeSDKMessaging) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4636	op := &request.Operation{
4637		Name:       opUntagResource,
4638		HTTPMethod: "POST",
4639		HTTPPath:   "/tags?operation=untag-resource",
4640	}
4641
4642	if input == nil {
4643		input = &UntagResourceInput{}
4644	}
4645
4646	output = &UntagResourceOutput{}
4647	req = c.newRequest(op, input, output)
4648	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4649	return
4650}
4651
4652// UntagResource API operation for Amazon Chime SDK Messaging.
4653//
4654// Removes the specified tags from the specified Amazon Chime SDK messaging
4655// resource.
4656//
4657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4658// with awserr.Error's Code and Message methods to get detailed information about
4659// the error.
4660//
4661// See the AWS API reference guide for Amazon Chime SDK Messaging's
4662// API operation UntagResource for usage and error information.
4663//
4664// Returned Error Types:
4665//   * BadRequestException
4666//   The input parameters don't match the service's restrictions.
4667//
4668//   * ForbiddenException
4669//   The client is permanently forbidden from making the request.
4670//
4671//   * UnauthorizedClientException
4672//   The client is not currently authorized to make the request.
4673//
4674//   * ThrottledClientException
4675//   The client exceeded its request rate limit.
4676//
4677//   * ServiceUnavailableException
4678//   The service is currently unavailable.
4679//
4680//   * ServiceFailureException
4681//   The service encountered an unexpected error.
4682//
4683// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UntagResource
4684func (c *ChimeSDKMessaging) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4685	req, out := c.UntagResourceRequest(input)
4686	return out, req.Send()
4687}
4688
4689// UntagResourceWithContext is the same as UntagResource with the addition of
4690// the ability to pass a context and additional request options.
4691//
4692// See UntagResource for details on how to use this API operation.
4693//
4694// The context must be non-nil and will be used for request cancellation. If
4695// the context is nil a panic will occur. In the future the SDK may create
4696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4697// for more information on using Contexts.
4698func (c *ChimeSDKMessaging) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4699	req, out := c.UntagResourceRequest(input)
4700	req.SetContext(ctx)
4701	req.ApplyOptions(opts...)
4702	return out, req.Send()
4703}
4704
4705const opUpdateChannel = "UpdateChannel"
4706
4707// UpdateChannelRequest generates a "aws/request.Request" representing the
4708// client's request for the UpdateChannel operation. The "output" return
4709// value will be populated with the request's response once the request completes
4710// successfully.
4711//
4712// Use "Send" method on the returned Request to send the API call to the service.
4713// the "output" return value is not valid until after Send returns without error.
4714//
4715// See UpdateChannel for more information on using the UpdateChannel
4716// API call, and error handling.
4717//
4718// This method is useful when you want to inject custom logic or configuration
4719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4720//
4721//
4722//    // Example sending a request using the UpdateChannelRequest method.
4723//    req, resp := client.UpdateChannelRequest(params)
4724//
4725//    err := req.Send()
4726//    if err == nil { // resp is now filled
4727//        fmt.Println(resp)
4728//    }
4729//
4730// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannel
4731func (c *ChimeSDKMessaging) UpdateChannelRequest(input *UpdateChannelInput) (req *request.Request, output *UpdateChannelOutput) {
4732	op := &request.Operation{
4733		Name:       opUpdateChannel,
4734		HTTPMethod: "PUT",
4735		HTTPPath:   "/channels/{channelArn}",
4736	}
4737
4738	if input == nil {
4739		input = &UpdateChannelInput{}
4740	}
4741
4742	output = &UpdateChannelOutput{}
4743	req = c.newRequest(op, input, output)
4744	return
4745}
4746
4747// UpdateChannel API operation for Amazon Chime SDK Messaging.
4748//
4749// Update a channel's attributes.
4750//
4751// Restriction: You can't change a channel's privacy.
4752//
4753// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
4754// of the user that makes the API call as the value in the header.
4755//
4756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4757// with awserr.Error's Code and Message methods to get detailed information about
4758// the error.
4759//
4760// See the AWS API reference guide for Amazon Chime SDK Messaging's
4761// API operation UpdateChannel for usage and error information.
4762//
4763// Returned Error Types:
4764//   * BadRequestException
4765//   The input parameters don't match the service's restrictions.
4766//
4767//   * ForbiddenException
4768//   The client is permanently forbidden from making the request.
4769//
4770//   * ConflictException
4771//   The request could not be processed because of conflict in the current state
4772//   of the resource.
4773//
4774//   * UnauthorizedClientException
4775//   The client is not currently authorized to make the request.
4776//
4777//   * ThrottledClientException
4778//   The client exceeded its request rate limit.
4779//
4780//   * ServiceUnavailableException
4781//   The service is currently unavailable.
4782//
4783//   * ServiceFailureException
4784//   The service encountered an unexpected error.
4785//
4786// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannel
4787func (c *ChimeSDKMessaging) UpdateChannel(input *UpdateChannelInput) (*UpdateChannelOutput, error) {
4788	req, out := c.UpdateChannelRequest(input)
4789	return out, req.Send()
4790}
4791
4792// UpdateChannelWithContext is the same as UpdateChannel with the addition of
4793// the ability to pass a context and additional request options.
4794//
4795// See UpdateChannel for details on how to use this API operation.
4796//
4797// The context must be non-nil and will be used for request cancellation. If
4798// the context is nil a panic will occur. In the future the SDK may create
4799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4800// for more information on using Contexts.
4801func (c *ChimeSDKMessaging) UpdateChannelWithContext(ctx aws.Context, input *UpdateChannelInput, opts ...request.Option) (*UpdateChannelOutput, error) {
4802	req, out := c.UpdateChannelRequest(input)
4803	req.SetContext(ctx)
4804	req.ApplyOptions(opts...)
4805	return out, req.Send()
4806}
4807
4808const opUpdateChannelFlow = "UpdateChannelFlow"
4809
4810// UpdateChannelFlowRequest generates a "aws/request.Request" representing the
4811// client's request for the UpdateChannelFlow operation. The "output" return
4812// value will be populated with the request's response once the request completes
4813// successfully.
4814//
4815// Use "Send" method on the returned Request to send the API call to the service.
4816// the "output" return value is not valid until after Send returns without error.
4817//
4818// See UpdateChannelFlow for more information on using the UpdateChannelFlow
4819// API call, and error handling.
4820//
4821// This method is useful when you want to inject custom logic or configuration
4822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4823//
4824//
4825//    // Example sending a request using the UpdateChannelFlowRequest method.
4826//    req, resp := client.UpdateChannelFlowRequest(params)
4827//
4828//    err := req.Send()
4829//    if err == nil { // resp is now filled
4830//        fmt.Println(resp)
4831//    }
4832//
4833// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelFlow
4834func (c *ChimeSDKMessaging) UpdateChannelFlowRequest(input *UpdateChannelFlowInput) (req *request.Request, output *UpdateChannelFlowOutput) {
4835	op := &request.Operation{
4836		Name:       opUpdateChannelFlow,
4837		HTTPMethod: "PUT",
4838		HTTPPath:   "/channel-flows/{channelFlowArn}",
4839	}
4840
4841	if input == nil {
4842		input = &UpdateChannelFlowInput{}
4843	}
4844
4845	output = &UpdateChannelFlowOutput{}
4846	req = c.newRequest(op, input, output)
4847	return
4848}
4849
4850// UpdateChannelFlow API operation for Amazon Chime SDK Messaging.
4851//
4852// Updates channel flow attributes. This is a developer API.
4853//
4854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4855// with awserr.Error's Code and Message methods to get detailed information about
4856// the error.
4857//
4858// See the AWS API reference guide for Amazon Chime SDK Messaging's
4859// API operation UpdateChannelFlow for usage and error information.
4860//
4861// Returned Error Types:
4862//   * BadRequestException
4863//   The input parameters don't match the service's restrictions.
4864//
4865//   * ForbiddenException
4866//   The client is permanently forbidden from making the request.
4867//
4868//   * UnauthorizedClientException
4869//   The client is not currently authorized to make the request.
4870//
4871//   * ConflictException
4872//   The request could not be processed because of conflict in the current state
4873//   of the resource.
4874//
4875//   * ThrottledClientException
4876//   The client exceeded its request rate limit.
4877//
4878//   * ServiceUnavailableException
4879//   The service is currently unavailable.
4880//
4881//   * ServiceFailureException
4882//   The service encountered an unexpected error.
4883//
4884// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelFlow
4885func (c *ChimeSDKMessaging) UpdateChannelFlow(input *UpdateChannelFlowInput) (*UpdateChannelFlowOutput, error) {
4886	req, out := c.UpdateChannelFlowRequest(input)
4887	return out, req.Send()
4888}
4889
4890// UpdateChannelFlowWithContext is the same as UpdateChannelFlow with the addition of
4891// the ability to pass a context and additional request options.
4892//
4893// See UpdateChannelFlow for details on how to use this API operation.
4894//
4895// The context must be non-nil and will be used for request cancellation. If
4896// the context is nil a panic will occur. In the future the SDK may create
4897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4898// for more information on using Contexts.
4899func (c *ChimeSDKMessaging) UpdateChannelFlowWithContext(ctx aws.Context, input *UpdateChannelFlowInput, opts ...request.Option) (*UpdateChannelFlowOutput, error) {
4900	req, out := c.UpdateChannelFlowRequest(input)
4901	req.SetContext(ctx)
4902	req.ApplyOptions(opts...)
4903	return out, req.Send()
4904}
4905
4906const opUpdateChannelMessage = "UpdateChannelMessage"
4907
4908// UpdateChannelMessageRequest generates a "aws/request.Request" representing the
4909// client's request for the UpdateChannelMessage operation. The "output" return
4910// value will be populated with the request's response once the request completes
4911// successfully.
4912//
4913// Use "Send" method on the returned Request to send the API call to the service.
4914// the "output" return value is not valid until after Send returns without error.
4915//
4916// See UpdateChannelMessage for more information on using the UpdateChannelMessage
4917// API call, and error handling.
4918//
4919// This method is useful when you want to inject custom logic or configuration
4920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4921//
4922//
4923//    // Example sending a request using the UpdateChannelMessageRequest method.
4924//    req, resp := client.UpdateChannelMessageRequest(params)
4925//
4926//    err := req.Send()
4927//    if err == nil { // resp is now filled
4928//        fmt.Println(resp)
4929//    }
4930//
4931// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelMessage
4932func (c *ChimeSDKMessaging) UpdateChannelMessageRequest(input *UpdateChannelMessageInput) (req *request.Request, output *UpdateChannelMessageOutput) {
4933	op := &request.Operation{
4934		Name:       opUpdateChannelMessage,
4935		HTTPMethod: "PUT",
4936		HTTPPath:   "/channels/{channelArn}/messages/{messageId}",
4937	}
4938
4939	if input == nil {
4940		input = &UpdateChannelMessageInput{}
4941	}
4942
4943	output = &UpdateChannelMessageOutput{}
4944	req = c.newRequest(op, input, output)
4945	return
4946}
4947
4948// UpdateChannelMessage API operation for Amazon Chime SDK Messaging.
4949//
4950// Updates the content of a message.
4951//
4952// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
4953// of the user that makes the API call as the value in the header.
4954//
4955// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4956// with awserr.Error's Code and Message methods to get detailed information about
4957// the error.
4958//
4959// See the AWS API reference guide for Amazon Chime SDK Messaging's
4960// API operation UpdateChannelMessage for usage and error information.
4961//
4962// Returned Error Types:
4963//   * BadRequestException
4964//   The input parameters don't match the service's restrictions.
4965//
4966//   * ConflictException
4967//   The request could not be processed because of conflict in the current state
4968//   of the resource.
4969//
4970//   * ForbiddenException
4971//   The client is permanently forbidden from making the request.
4972//
4973//   * UnauthorizedClientException
4974//   The client is not currently authorized to make the request.
4975//
4976//   * ThrottledClientException
4977//   The client exceeded its request rate limit.
4978//
4979//   * ServiceUnavailableException
4980//   The service is currently unavailable.
4981//
4982//   * ServiceFailureException
4983//   The service encountered an unexpected error.
4984//
4985// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelMessage
4986func (c *ChimeSDKMessaging) UpdateChannelMessage(input *UpdateChannelMessageInput) (*UpdateChannelMessageOutput, error) {
4987	req, out := c.UpdateChannelMessageRequest(input)
4988	return out, req.Send()
4989}
4990
4991// UpdateChannelMessageWithContext is the same as UpdateChannelMessage with the addition of
4992// the ability to pass a context and additional request options.
4993//
4994// See UpdateChannelMessage for details on how to use this API operation.
4995//
4996// The context must be non-nil and will be used for request cancellation. If
4997// the context is nil a panic will occur. In the future the SDK may create
4998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4999// for more information on using Contexts.
5000func (c *ChimeSDKMessaging) UpdateChannelMessageWithContext(ctx aws.Context, input *UpdateChannelMessageInput, opts ...request.Option) (*UpdateChannelMessageOutput, error) {
5001	req, out := c.UpdateChannelMessageRequest(input)
5002	req.SetContext(ctx)
5003	req.ApplyOptions(opts...)
5004	return out, req.Send()
5005}
5006
5007const opUpdateChannelReadMarker = "UpdateChannelReadMarker"
5008
5009// UpdateChannelReadMarkerRequest generates a "aws/request.Request" representing the
5010// client's request for the UpdateChannelReadMarker operation. The "output" return
5011// value will be populated with the request's response once the request completes
5012// successfully.
5013//
5014// Use "Send" method on the returned Request to send the API call to the service.
5015// the "output" return value is not valid until after Send returns without error.
5016//
5017// See UpdateChannelReadMarker for more information on using the UpdateChannelReadMarker
5018// API call, and error handling.
5019//
5020// This method is useful when you want to inject custom logic or configuration
5021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5022//
5023//
5024//    // Example sending a request using the UpdateChannelReadMarkerRequest method.
5025//    req, resp := client.UpdateChannelReadMarkerRequest(params)
5026//
5027//    err := req.Send()
5028//    if err == nil { // resp is now filled
5029//        fmt.Println(resp)
5030//    }
5031//
5032// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelReadMarker
5033func (c *ChimeSDKMessaging) UpdateChannelReadMarkerRequest(input *UpdateChannelReadMarkerInput) (req *request.Request, output *UpdateChannelReadMarkerOutput) {
5034	op := &request.Operation{
5035		Name:       opUpdateChannelReadMarker,
5036		HTTPMethod: "PUT",
5037		HTTPPath:   "/channels/{channelArn}/readMarker",
5038	}
5039
5040	if input == nil {
5041		input = &UpdateChannelReadMarkerInput{}
5042	}
5043
5044	output = &UpdateChannelReadMarkerOutput{}
5045	req = c.newRequest(op, input, output)
5046	return
5047}
5048
5049// UpdateChannelReadMarker API operation for Amazon Chime SDK Messaging.
5050//
5051// The details of the time when a user last read messages in a channel.
5052//
5053// The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn
5054// of the user that makes the API call as the value in the header.
5055//
5056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5057// with awserr.Error's Code and Message methods to get detailed information about
5058// the error.
5059//
5060// See the AWS API reference guide for Amazon Chime SDK Messaging's
5061// API operation UpdateChannelReadMarker for usage and error information.
5062//
5063// Returned Error Types:
5064//   * BadRequestException
5065//   The input parameters don't match the service's restrictions.
5066//
5067//   * ForbiddenException
5068//   The client is permanently forbidden from making the request.
5069//
5070//   * ConflictException
5071//   The request could not be processed because of conflict in the current state
5072//   of the resource.
5073//
5074//   * UnauthorizedClientException
5075//   The client is not currently authorized to make the request.
5076//
5077//   * ThrottledClientException
5078//   The client exceeded its request rate limit.
5079//
5080//   * ServiceUnavailableException
5081//   The service is currently unavailable.
5082//
5083//   * ServiceFailureException
5084//   The service encountered an unexpected error.
5085//
5086// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-messaging-2021-05-15/UpdateChannelReadMarker
5087func (c *ChimeSDKMessaging) UpdateChannelReadMarker(input *UpdateChannelReadMarkerInput) (*UpdateChannelReadMarkerOutput, error) {
5088	req, out := c.UpdateChannelReadMarkerRequest(input)
5089	return out, req.Send()
5090}
5091
5092// UpdateChannelReadMarkerWithContext is the same as UpdateChannelReadMarker with the addition of
5093// the ability to pass a context and additional request options.
5094//
5095// See UpdateChannelReadMarker for details on how to use this API operation.
5096//
5097// The context must be non-nil and will be used for request cancellation. If
5098// the context is nil a panic will occur. In the future the SDK may create
5099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5100// for more information on using Contexts.
5101func (c *ChimeSDKMessaging) UpdateChannelReadMarkerWithContext(ctx aws.Context, input *UpdateChannelReadMarkerInput, opts ...request.Option) (*UpdateChannelReadMarkerOutput, error) {
5102	req, out := c.UpdateChannelReadMarkerRequest(input)
5103	req.SetContext(ctx)
5104	req.ApplyOptions(opts...)
5105	return out, req.Send()
5106}
5107
5108// Summary of the membership details of an AppInstanceUser.
5109type AppInstanceUserMembershipSummary struct {
5110	_ struct{} `type:"structure"`
5111
5112	// The time at which a message was last read.
5113	ReadMarkerTimestamp *time.Time `type:"timestamp"`
5114
5115	// The type of ChannelMembership.
5116	Type *string `type:"string" enum:"ChannelMembershipType"`
5117}
5118
5119// String returns the string representation.
5120//
5121// API parameter values that are decorated as "sensitive" in the API will not
5122// be included in the string output. The member name will be present, but the
5123// value will be replaced with "sensitive".
5124func (s AppInstanceUserMembershipSummary) String() string {
5125	return awsutil.Prettify(s)
5126}
5127
5128// GoString returns the string representation.
5129//
5130// API parameter values that are decorated as "sensitive" in the API will not
5131// be included in the string output. The member name will be present, but the
5132// value will be replaced with "sensitive".
5133func (s AppInstanceUserMembershipSummary) GoString() string {
5134	return s.String()
5135}
5136
5137// SetReadMarkerTimestamp sets the ReadMarkerTimestamp field's value.
5138func (s *AppInstanceUserMembershipSummary) SetReadMarkerTimestamp(v time.Time) *AppInstanceUserMembershipSummary {
5139	s.ReadMarkerTimestamp = &v
5140	return s
5141}
5142
5143// SetType sets the Type field's value.
5144func (s *AppInstanceUserMembershipSummary) SetType(v string) *AppInstanceUserMembershipSummary {
5145	s.Type = &v
5146	return s
5147}
5148
5149type AssociateChannelFlowInput struct {
5150	_ struct{} `type:"structure"`
5151
5152	// The ARN of the channel.
5153	//
5154	// ChannelArn is a required field
5155	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
5156
5157	// The ARN of the channel flow.
5158	//
5159	// ChannelFlowArn is a required field
5160	ChannelFlowArn *string `min:"5" type:"string" required:"true"`
5161
5162	// The AppInstanceUserArn of the user making the API call.
5163	//
5164	// ChimeBearer is a required field
5165	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
5166}
5167
5168// String returns the string representation.
5169//
5170// API parameter values that are decorated as "sensitive" in the API will not
5171// be included in the string output. The member name will be present, but the
5172// value will be replaced with "sensitive".
5173func (s AssociateChannelFlowInput) String() string {
5174	return awsutil.Prettify(s)
5175}
5176
5177// GoString returns the string representation.
5178//
5179// API parameter values that are decorated as "sensitive" in the API will not
5180// be included in the string output. The member name will be present, but the
5181// value will be replaced with "sensitive".
5182func (s AssociateChannelFlowInput) GoString() string {
5183	return s.String()
5184}
5185
5186// Validate inspects the fields of the type to determine if they are valid.
5187func (s *AssociateChannelFlowInput) Validate() error {
5188	invalidParams := request.ErrInvalidParams{Context: "AssociateChannelFlowInput"}
5189	if s.ChannelArn == nil {
5190		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
5191	}
5192	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
5193		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
5194	}
5195	if s.ChannelFlowArn == nil {
5196		invalidParams.Add(request.NewErrParamRequired("ChannelFlowArn"))
5197	}
5198	if s.ChannelFlowArn != nil && len(*s.ChannelFlowArn) < 5 {
5199		invalidParams.Add(request.NewErrParamMinLen("ChannelFlowArn", 5))
5200	}
5201	if s.ChimeBearer == nil {
5202		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
5203	}
5204	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
5205		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
5206	}
5207
5208	if invalidParams.Len() > 0 {
5209		return invalidParams
5210	}
5211	return nil
5212}
5213
5214// SetChannelArn sets the ChannelArn field's value.
5215func (s *AssociateChannelFlowInput) SetChannelArn(v string) *AssociateChannelFlowInput {
5216	s.ChannelArn = &v
5217	return s
5218}
5219
5220// SetChannelFlowArn sets the ChannelFlowArn field's value.
5221func (s *AssociateChannelFlowInput) SetChannelFlowArn(v string) *AssociateChannelFlowInput {
5222	s.ChannelFlowArn = &v
5223	return s
5224}
5225
5226// SetChimeBearer sets the ChimeBearer field's value.
5227func (s *AssociateChannelFlowInput) SetChimeBearer(v string) *AssociateChannelFlowInput {
5228	s.ChimeBearer = &v
5229	return s
5230}
5231
5232type AssociateChannelFlowOutput struct {
5233	_ struct{} `type:"structure"`
5234}
5235
5236// String returns the string representation.
5237//
5238// API parameter values that are decorated as "sensitive" in the API will not
5239// be included in the string output. The member name will be present, but the
5240// value will be replaced with "sensitive".
5241func (s AssociateChannelFlowOutput) String() string {
5242	return awsutil.Prettify(s)
5243}
5244
5245// GoString returns the string representation.
5246//
5247// API parameter values that are decorated as "sensitive" in the API will not
5248// be included in the string output. The member name will be present, but the
5249// value will be replaced with "sensitive".
5250func (s AssociateChannelFlowOutput) GoString() string {
5251	return s.String()
5252}
5253
5254// The input parameters don't match the service's restrictions.
5255type BadRequestException struct {
5256	_            struct{}                  `type:"structure"`
5257	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5258
5259	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
5260
5261	Message_ *string `locationName:"Message" type:"string"`
5262}
5263
5264// String returns the string representation.
5265//
5266// API parameter values that are decorated as "sensitive" in the API will not
5267// be included in the string output. The member name will be present, but the
5268// value will be replaced with "sensitive".
5269func (s BadRequestException) String() string {
5270	return awsutil.Prettify(s)
5271}
5272
5273// GoString returns the string representation.
5274//
5275// API parameter values that are decorated as "sensitive" in the API will not
5276// be included in the string output. The member name will be present, but the
5277// value will be replaced with "sensitive".
5278func (s BadRequestException) GoString() string {
5279	return s.String()
5280}
5281
5282func newErrorBadRequestException(v protocol.ResponseMetadata) error {
5283	return &BadRequestException{
5284		RespMetadata: v,
5285	}
5286}
5287
5288// Code returns the exception type name.
5289func (s *BadRequestException) Code() string {
5290	return "BadRequestException"
5291}
5292
5293// Message returns the exception's message.
5294func (s *BadRequestException) Message() string {
5295	if s.Message_ != nil {
5296		return *s.Message_
5297	}
5298	return ""
5299}
5300
5301// OrigErr always returns nil, satisfies awserr.Error interface.
5302func (s *BadRequestException) OrigErr() error {
5303	return nil
5304}
5305
5306func (s *BadRequestException) Error() string {
5307	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5308}
5309
5310// Status code returns the HTTP status code for the request's response error.
5311func (s *BadRequestException) StatusCode() int {
5312	return s.RespMetadata.StatusCode
5313}
5314
5315// RequestID returns the service's response RequestID for request.
5316func (s *BadRequestException) RequestID() string {
5317	return s.RespMetadata.RequestID
5318}
5319
5320// The membership information, including member ARNs, the channel ARN, and membership
5321// types.
5322type BatchChannelMemberships struct {
5323	_ struct{} `type:"structure"`
5324
5325	// The ARN of the channel to which you're adding users.
5326	ChannelArn *string `min:"5" type:"string"`
5327
5328	// The identifier of the member who invited another member.
5329	InvitedBy *Identity `type:"structure"`
5330
5331	// The users successfully added to the request.
5332	Members []*Identity `type:"list"`
5333
5334	// The membership types set for the channel users.
5335	Type *string `type:"string" enum:"ChannelMembershipType"`
5336}
5337
5338// String returns the string representation.
5339//
5340// API parameter values that are decorated as "sensitive" in the API will not
5341// be included in the string output. The member name will be present, but the
5342// value will be replaced with "sensitive".
5343func (s BatchChannelMemberships) String() string {
5344	return awsutil.Prettify(s)
5345}
5346
5347// GoString returns the string representation.
5348//
5349// API parameter values that are decorated as "sensitive" in the API will not
5350// be included in the string output. The member name will be present, but the
5351// value will be replaced with "sensitive".
5352func (s BatchChannelMemberships) GoString() string {
5353	return s.String()
5354}
5355
5356// SetChannelArn sets the ChannelArn field's value.
5357func (s *BatchChannelMemberships) SetChannelArn(v string) *BatchChannelMemberships {
5358	s.ChannelArn = &v
5359	return s
5360}
5361
5362// SetInvitedBy sets the InvitedBy field's value.
5363func (s *BatchChannelMemberships) SetInvitedBy(v *Identity) *BatchChannelMemberships {
5364	s.InvitedBy = v
5365	return s
5366}
5367
5368// SetMembers sets the Members field's value.
5369func (s *BatchChannelMemberships) SetMembers(v []*Identity) *BatchChannelMemberships {
5370	s.Members = v
5371	return s
5372}
5373
5374// SetType sets the Type field's value.
5375func (s *BatchChannelMemberships) SetType(v string) *BatchChannelMemberships {
5376	s.Type = &v
5377	return s
5378}
5379
5380// A list of failed member ARNs, error codes, and error messages.
5381type BatchCreateChannelMembershipError struct {
5382	_ struct{} `type:"structure"`
5383
5384	// The error code.
5385	ErrorCode *string `type:"string" enum:"ErrorCode"`
5386
5387	// The error message.
5388	ErrorMessage *string `type:"string"`
5389
5390	// The AppInstanceUserArn of the member that the service couldn't add.
5391	MemberArn *string `min:"5" type:"string"`
5392}
5393
5394// String returns the string representation.
5395//
5396// API parameter values that are decorated as "sensitive" in the API will not
5397// be included in the string output. The member name will be present, but the
5398// value will be replaced with "sensitive".
5399func (s BatchCreateChannelMembershipError) String() string {
5400	return awsutil.Prettify(s)
5401}
5402
5403// GoString returns the string representation.
5404//
5405// API parameter values that are decorated as "sensitive" in the API will not
5406// be included in the string output. The member name will be present, but the
5407// value will be replaced with "sensitive".
5408func (s BatchCreateChannelMembershipError) GoString() string {
5409	return s.String()
5410}
5411
5412// SetErrorCode sets the ErrorCode field's value.
5413func (s *BatchCreateChannelMembershipError) SetErrorCode(v string) *BatchCreateChannelMembershipError {
5414	s.ErrorCode = &v
5415	return s
5416}
5417
5418// SetErrorMessage sets the ErrorMessage field's value.
5419func (s *BatchCreateChannelMembershipError) SetErrorMessage(v string) *BatchCreateChannelMembershipError {
5420	s.ErrorMessage = &v
5421	return s
5422}
5423
5424// SetMemberArn sets the MemberArn field's value.
5425func (s *BatchCreateChannelMembershipError) SetMemberArn(v string) *BatchCreateChannelMembershipError {
5426	s.MemberArn = &v
5427	return s
5428}
5429
5430type BatchCreateChannelMembershipInput struct {
5431	_ struct{} `type:"structure"`
5432
5433	// The ARN of the channel to which you're adding users.
5434	//
5435	// ChannelArn is a required field
5436	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
5437
5438	// The AppInstanceUserArn of the user that makes the API call.
5439	//
5440	// ChimeBearer is a required field
5441	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
5442
5443	// The AppInstanceUserArns of the members you want to add to the channel.
5444	//
5445	// MemberArns is a required field
5446	MemberArns []*string `min:"1" type:"list" required:"true"`
5447
5448	// The membership type of a user, DEFAULT or HIDDEN. Default members are always
5449	// returned as part of ListChannelMemberships. Hidden members are only returned
5450	// if the type filter in ListChannelMemberships equals HIDDEN. Otherwise hidden
5451	// members are not returned. This is only supported by moderators.
5452	Type *string `type:"string" enum:"ChannelMembershipType"`
5453}
5454
5455// String returns the string representation.
5456//
5457// API parameter values that are decorated as "sensitive" in the API will not
5458// be included in the string output. The member name will be present, but the
5459// value will be replaced with "sensitive".
5460func (s BatchCreateChannelMembershipInput) String() string {
5461	return awsutil.Prettify(s)
5462}
5463
5464// GoString returns the string representation.
5465//
5466// API parameter values that are decorated as "sensitive" in the API will not
5467// be included in the string output. The member name will be present, but the
5468// value will be replaced with "sensitive".
5469func (s BatchCreateChannelMembershipInput) GoString() string {
5470	return s.String()
5471}
5472
5473// Validate inspects the fields of the type to determine if they are valid.
5474func (s *BatchCreateChannelMembershipInput) Validate() error {
5475	invalidParams := request.ErrInvalidParams{Context: "BatchCreateChannelMembershipInput"}
5476	if s.ChannelArn == nil {
5477		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
5478	}
5479	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
5480		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
5481	}
5482	if s.ChimeBearer == nil {
5483		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
5484	}
5485	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
5486		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
5487	}
5488	if s.MemberArns == nil {
5489		invalidParams.Add(request.NewErrParamRequired("MemberArns"))
5490	}
5491	if s.MemberArns != nil && len(s.MemberArns) < 1 {
5492		invalidParams.Add(request.NewErrParamMinLen("MemberArns", 1))
5493	}
5494
5495	if invalidParams.Len() > 0 {
5496		return invalidParams
5497	}
5498	return nil
5499}
5500
5501// SetChannelArn sets the ChannelArn field's value.
5502func (s *BatchCreateChannelMembershipInput) SetChannelArn(v string) *BatchCreateChannelMembershipInput {
5503	s.ChannelArn = &v
5504	return s
5505}
5506
5507// SetChimeBearer sets the ChimeBearer field's value.
5508func (s *BatchCreateChannelMembershipInput) SetChimeBearer(v string) *BatchCreateChannelMembershipInput {
5509	s.ChimeBearer = &v
5510	return s
5511}
5512
5513// SetMemberArns sets the MemberArns field's value.
5514func (s *BatchCreateChannelMembershipInput) SetMemberArns(v []*string) *BatchCreateChannelMembershipInput {
5515	s.MemberArns = v
5516	return s
5517}
5518
5519// SetType sets the Type field's value.
5520func (s *BatchCreateChannelMembershipInput) SetType(v string) *BatchCreateChannelMembershipInput {
5521	s.Type = &v
5522	return s
5523}
5524
5525type BatchCreateChannelMembershipOutput struct {
5526	_ struct{} `type:"structure"`
5527
5528	// The list of channel memberships in the response.
5529	BatchChannelMemberships *BatchChannelMemberships `type:"structure"`
5530
5531	// If the action fails for one or more of the memberships in the request, a
5532	// list of the memberships is returned, along with error codes and error messages.
5533	Errors []*BatchCreateChannelMembershipError `type:"list"`
5534}
5535
5536// String returns the string representation.
5537//
5538// API parameter values that are decorated as "sensitive" in the API will not
5539// be included in the string output. The member name will be present, but the
5540// value will be replaced with "sensitive".
5541func (s BatchCreateChannelMembershipOutput) String() string {
5542	return awsutil.Prettify(s)
5543}
5544
5545// GoString returns the string representation.
5546//
5547// API parameter values that are decorated as "sensitive" in the API will not
5548// be included in the string output. The member name will be present, but the
5549// value will be replaced with "sensitive".
5550func (s BatchCreateChannelMembershipOutput) GoString() string {
5551	return s.String()
5552}
5553
5554// SetBatchChannelMemberships sets the BatchChannelMemberships field's value.
5555func (s *BatchCreateChannelMembershipOutput) SetBatchChannelMemberships(v *BatchChannelMemberships) *BatchCreateChannelMembershipOutput {
5556	s.BatchChannelMemberships = v
5557	return s
5558}
5559
5560// SetErrors sets the Errors field's value.
5561func (s *BatchCreateChannelMembershipOutput) SetErrors(v []*BatchCreateChannelMembershipError) *BatchCreateChannelMembershipOutput {
5562	s.Errors = v
5563	return s
5564}
5565
5566// The details of a channel.
5567type Channel struct {
5568	_ struct{} `type:"structure"`
5569
5570	// The ARN of a channel.
5571	ChannelArn *string `min:"5" type:"string"`
5572
5573	// The ARN of the channel flow.
5574	ChannelFlowArn *string `min:"5" type:"string"`
5575
5576	// The AppInstanceUser who created the channel.
5577	CreatedBy *Identity `type:"structure"`
5578
5579	// The time at which the AppInstanceUser created the channel.
5580	CreatedTimestamp *time.Time `type:"timestamp"`
5581
5582	// The time at which a member sent the last message in the channel.
5583	LastMessageTimestamp *time.Time `type:"timestamp"`
5584
5585	// The time at which a channel was last updated.
5586	LastUpdatedTimestamp *time.Time `type:"timestamp"`
5587
5588	// The channel's metadata.
5589	//
5590	// Metadata is a sensitive parameter and its value will be
5591	// replaced with "sensitive" in string returned by Channel's
5592	// String and GoString methods.
5593	Metadata *string `type:"string" sensitive:"true"`
5594
5595	// The mode of the channel.
5596	Mode *string `type:"string" enum:"ChannelMode"`
5597
5598	// The name of a channel.
5599	//
5600	// Name is a sensitive parameter and its value will be
5601	// replaced with "sensitive" in string returned by Channel's
5602	// String and GoString methods.
5603	Name *string `min:"1" type:"string" sensitive:"true"`
5604
5605	// The channel's privacy setting.
5606	Privacy *string `type:"string" enum:"ChannelPrivacy"`
5607}
5608
5609// String returns the string representation.
5610//
5611// API parameter values that are decorated as "sensitive" in the API will not
5612// be included in the string output. The member name will be present, but the
5613// value will be replaced with "sensitive".
5614func (s Channel) String() string {
5615	return awsutil.Prettify(s)
5616}
5617
5618// GoString returns the string representation.
5619//
5620// API parameter values that are decorated as "sensitive" in the API will not
5621// be included in the string output. The member name will be present, but the
5622// value will be replaced with "sensitive".
5623func (s Channel) GoString() string {
5624	return s.String()
5625}
5626
5627// SetChannelArn sets the ChannelArn field's value.
5628func (s *Channel) SetChannelArn(v string) *Channel {
5629	s.ChannelArn = &v
5630	return s
5631}
5632
5633// SetChannelFlowArn sets the ChannelFlowArn field's value.
5634func (s *Channel) SetChannelFlowArn(v string) *Channel {
5635	s.ChannelFlowArn = &v
5636	return s
5637}
5638
5639// SetCreatedBy sets the CreatedBy field's value.
5640func (s *Channel) SetCreatedBy(v *Identity) *Channel {
5641	s.CreatedBy = v
5642	return s
5643}
5644
5645// SetCreatedTimestamp sets the CreatedTimestamp field's value.
5646func (s *Channel) SetCreatedTimestamp(v time.Time) *Channel {
5647	s.CreatedTimestamp = &v
5648	return s
5649}
5650
5651// SetLastMessageTimestamp sets the LastMessageTimestamp field's value.
5652func (s *Channel) SetLastMessageTimestamp(v time.Time) *Channel {
5653	s.LastMessageTimestamp = &v
5654	return s
5655}
5656
5657// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
5658func (s *Channel) SetLastUpdatedTimestamp(v time.Time) *Channel {
5659	s.LastUpdatedTimestamp = &v
5660	return s
5661}
5662
5663// SetMetadata sets the Metadata field's value.
5664func (s *Channel) SetMetadata(v string) *Channel {
5665	s.Metadata = &v
5666	return s
5667}
5668
5669// SetMode sets the Mode field's value.
5670func (s *Channel) SetMode(v string) *Channel {
5671	s.Mode = &v
5672	return s
5673}
5674
5675// SetName sets the Name field's value.
5676func (s *Channel) SetName(v string) *Channel {
5677	s.Name = &v
5678	return s
5679}
5680
5681// SetPrivacy sets the Privacy field's value.
5682func (s *Channel) SetPrivacy(v string) *Channel {
5683	s.Privacy = &v
5684	return s
5685}
5686
5687// Summary of details of a channel associated with channel flow.
5688type ChannelAssociatedWithFlowSummary struct {
5689	_ struct{} `type:"structure"`
5690
5691	// The ARN of the channel.
5692	ChannelArn *string `min:"5" type:"string"`
5693
5694	// The channel's metadata.
5695	//
5696	// Metadata is a sensitive parameter and its value will be
5697	// replaced with "sensitive" in string returned by ChannelAssociatedWithFlowSummary's
5698	// String and GoString methods.
5699	Metadata *string `type:"string" sensitive:"true"`
5700
5701	// The mode of the channel.
5702	Mode *string `type:"string" enum:"ChannelMode"`
5703
5704	// The name of the channel flow.
5705	//
5706	// Name is a sensitive parameter and its value will be
5707	// replaced with "sensitive" in string returned by ChannelAssociatedWithFlowSummary's
5708	// String and GoString methods.
5709	Name *string `min:"1" type:"string" sensitive:"true"`
5710
5711	// The channel's privacy setting.
5712	Privacy *string `type:"string" enum:"ChannelPrivacy"`
5713}
5714
5715// String returns the string representation.
5716//
5717// API parameter values that are decorated as "sensitive" in the API will not
5718// be included in the string output. The member name will be present, but the
5719// value will be replaced with "sensitive".
5720func (s ChannelAssociatedWithFlowSummary) String() string {
5721	return awsutil.Prettify(s)
5722}
5723
5724// GoString returns the string representation.
5725//
5726// API parameter values that are decorated as "sensitive" in the API will not
5727// be included in the string output. The member name will be present, but the
5728// value will be replaced with "sensitive".
5729func (s ChannelAssociatedWithFlowSummary) GoString() string {
5730	return s.String()
5731}
5732
5733// SetChannelArn sets the ChannelArn field's value.
5734func (s *ChannelAssociatedWithFlowSummary) SetChannelArn(v string) *ChannelAssociatedWithFlowSummary {
5735	s.ChannelArn = &v
5736	return s
5737}
5738
5739// SetMetadata sets the Metadata field's value.
5740func (s *ChannelAssociatedWithFlowSummary) SetMetadata(v string) *ChannelAssociatedWithFlowSummary {
5741	s.Metadata = &v
5742	return s
5743}
5744
5745// SetMode sets the Mode field's value.
5746func (s *ChannelAssociatedWithFlowSummary) SetMode(v string) *ChannelAssociatedWithFlowSummary {
5747	s.Mode = &v
5748	return s
5749}
5750
5751// SetName sets the Name field's value.
5752func (s *ChannelAssociatedWithFlowSummary) SetName(v string) *ChannelAssociatedWithFlowSummary {
5753	s.Name = &v
5754	return s
5755}
5756
5757// SetPrivacy sets the Privacy field's value.
5758func (s *ChannelAssociatedWithFlowSummary) SetPrivacy(v string) *ChannelAssociatedWithFlowSummary {
5759	s.Privacy = &v
5760	return s
5761}
5762
5763// The details of a channel ban.
5764type ChannelBan struct {
5765	_ struct{} `type:"structure"`
5766
5767	// The ARN of the channel from which a member is being banned.
5768	ChannelArn *string `min:"5" type:"string"`
5769
5770	// The AppInstanceUser who created the ban.
5771	CreatedBy *Identity `type:"structure"`
5772
5773	// The time at which the ban was created.
5774	CreatedTimestamp *time.Time `type:"timestamp"`
5775
5776	// The member being banned from the channel.
5777	Member *Identity `type:"structure"`
5778}
5779
5780// String returns the string representation.
5781//
5782// API parameter values that are decorated as "sensitive" in the API will not
5783// be included in the string output. The member name will be present, but the
5784// value will be replaced with "sensitive".
5785func (s ChannelBan) String() string {
5786	return awsutil.Prettify(s)
5787}
5788
5789// GoString returns the string representation.
5790//
5791// API parameter values that are decorated as "sensitive" in the API will not
5792// be included in the string output. The member name will be present, but the
5793// value will be replaced with "sensitive".
5794func (s ChannelBan) GoString() string {
5795	return s.String()
5796}
5797
5798// SetChannelArn sets the ChannelArn field's value.
5799func (s *ChannelBan) SetChannelArn(v string) *ChannelBan {
5800	s.ChannelArn = &v
5801	return s
5802}
5803
5804// SetCreatedBy sets the CreatedBy field's value.
5805func (s *ChannelBan) SetCreatedBy(v *Identity) *ChannelBan {
5806	s.CreatedBy = v
5807	return s
5808}
5809
5810// SetCreatedTimestamp sets the CreatedTimestamp field's value.
5811func (s *ChannelBan) SetCreatedTimestamp(v time.Time) *ChannelBan {
5812	s.CreatedTimestamp = &v
5813	return s
5814}
5815
5816// SetMember sets the Member field's value.
5817func (s *ChannelBan) SetMember(v *Identity) *ChannelBan {
5818	s.Member = v
5819	return s
5820}
5821
5822// Summary of the details of a ChannelBan.
5823type ChannelBanSummary struct {
5824	_ struct{} `type:"structure"`
5825
5826	// The member being banned from a channel.
5827	Member *Identity `type:"structure"`
5828}
5829
5830// String returns the string representation.
5831//
5832// API parameter values that are decorated as "sensitive" in the API will not
5833// be included in the string output. The member name will be present, but the
5834// value will be replaced with "sensitive".
5835func (s ChannelBanSummary) String() string {
5836	return awsutil.Prettify(s)
5837}
5838
5839// GoString returns the string representation.
5840//
5841// API parameter values that are decorated as "sensitive" in the API will not
5842// be included in the string output. The member name will be present, but the
5843// value will be replaced with "sensitive".
5844func (s ChannelBanSummary) GoString() string {
5845	return s.String()
5846}
5847
5848// SetMember sets the Member field's value.
5849func (s *ChannelBanSummary) SetMember(v *Identity) *ChannelBanSummary {
5850	s.Member = v
5851	return s
5852}
5853
5854// The details of a channel flow.
5855type ChannelFlow struct {
5856	_ struct{} `type:"structure"`
5857
5858	// The ARN of the channel flow.
5859	ChannelFlowArn *string `min:"5" type:"string"`
5860
5861	// The time at which the channel flow was created.
5862	CreatedTimestamp *time.Time `type:"timestamp"`
5863
5864	// The time at which a channel flow was updated.
5865	LastUpdatedTimestamp *time.Time `type:"timestamp"`
5866
5867	// The name of the channel flow.
5868	//
5869	// Name is a sensitive parameter and its value will be
5870	// replaced with "sensitive" in string returned by ChannelFlow's
5871	// String and GoString methods.
5872	Name *string `min:"1" type:"string" sensitive:"true"`
5873
5874	// Information about the processor Lambda functions.
5875	Processors []*Processor `min:"1" type:"list"`
5876}
5877
5878// String returns the string representation.
5879//
5880// API parameter values that are decorated as "sensitive" in the API will not
5881// be included in the string output. The member name will be present, but the
5882// value will be replaced with "sensitive".
5883func (s ChannelFlow) String() string {
5884	return awsutil.Prettify(s)
5885}
5886
5887// GoString returns the string representation.
5888//
5889// API parameter values that are decorated as "sensitive" in the API will not
5890// be included in the string output. The member name will be present, but the
5891// value will be replaced with "sensitive".
5892func (s ChannelFlow) GoString() string {
5893	return s.String()
5894}
5895
5896// SetChannelFlowArn sets the ChannelFlowArn field's value.
5897func (s *ChannelFlow) SetChannelFlowArn(v string) *ChannelFlow {
5898	s.ChannelFlowArn = &v
5899	return s
5900}
5901
5902// SetCreatedTimestamp sets the CreatedTimestamp field's value.
5903func (s *ChannelFlow) SetCreatedTimestamp(v time.Time) *ChannelFlow {
5904	s.CreatedTimestamp = &v
5905	return s
5906}
5907
5908// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
5909func (s *ChannelFlow) SetLastUpdatedTimestamp(v time.Time) *ChannelFlow {
5910	s.LastUpdatedTimestamp = &v
5911	return s
5912}
5913
5914// SetName sets the Name field's value.
5915func (s *ChannelFlow) SetName(v string) *ChannelFlow {
5916	s.Name = &v
5917	return s
5918}
5919
5920// SetProcessors sets the Processors field's value.
5921func (s *ChannelFlow) SetProcessors(v []*Processor) *ChannelFlow {
5922	s.Processors = v
5923	return s
5924}
5925
5926type ChannelFlowCallbackInput struct {
5927	_ struct{} `type:"structure"`
5928
5929	// The identifier passed to the processor by the service when invoked. Use the
5930	// identifier to call back the service.
5931	CallbackId *string `min:"32" type:"string" idempotencyToken:"true"`
5932
5933	// The ARN of the channel.
5934	//
5935	// ChannelArn is a required field
5936	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
5937
5938	// Stores information about the processed message.
5939	//
5940	// ChannelMessage is a required field
5941	ChannelMessage *ChannelMessageCallback `type:"structure" required:"true"`
5942
5943	// When a processor determines that a message needs to be DENIED, pass this
5944	// parameter with a value of true.
5945	DeleteResource *bool `type:"boolean"`
5946}
5947
5948// String returns the string representation.
5949//
5950// API parameter values that are decorated as "sensitive" in the API will not
5951// be included in the string output. The member name will be present, but the
5952// value will be replaced with "sensitive".
5953func (s ChannelFlowCallbackInput) String() string {
5954	return awsutil.Prettify(s)
5955}
5956
5957// GoString returns the string representation.
5958//
5959// API parameter values that are decorated as "sensitive" in the API will not
5960// be included in the string output. The member name will be present, but the
5961// value will be replaced with "sensitive".
5962func (s ChannelFlowCallbackInput) GoString() string {
5963	return s.String()
5964}
5965
5966// Validate inspects the fields of the type to determine if they are valid.
5967func (s *ChannelFlowCallbackInput) Validate() error {
5968	invalidParams := request.ErrInvalidParams{Context: "ChannelFlowCallbackInput"}
5969	if s.CallbackId != nil && len(*s.CallbackId) < 32 {
5970		invalidParams.Add(request.NewErrParamMinLen("CallbackId", 32))
5971	}
5972	if s.ChannelArn == nil {
5973		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
5974	}
5975	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
5976		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
5977	}
5978	if s.ChannelMessage == nil {
5979		invalidParams.Add(request.NewErrParamRequired("ChannelMessage"))
5980	}
5981	if s.ChannelMessage != nil {
5982		if err := s.ChannelMessage.Validate(); err != nil {
5983			invalidParams.AddNested("ChannelMessage", err.(request.ErrInvalidParams))
5984		}
5985	}
5986
5987	if invalidParams.Len() > 0 {
5988		return invalidParams
5989	}
5990	return nil
5991}
5992
5993// SetCallbackId sets the CallbackId field's value.
5994func (s *ChannelFlowCallbackInput) SetCallbackId(v string) *ChannelFlowCallbackInput {
5995	s.CallbackId = &v
5996	return s
5997}
5998
5999// SetChannelArn sets the ChannelArn field's value.
6000func (s *ChannelFlowCallbackInput) SetChannelArn(v string) *ChannelFlowCallbackInput {
6001	s.ChannelArn = &v
6002	return s
6003}
6004
6005// SetChannelMessage sets the ChannelMessage field's value.
6006func (s *ChannelFlowCallbackInput) SetChannelMessage(v *ChannelMessageCallback) *ChannelFlowCallbackInput {
6007	s.ChannelMessage = v
6008	return s
6009}
6010
6011// SetDeleteResource sets the DeleteResource field's value.
6012func (s *ChannelFlowCallbackInput) SetDeleteResource(v bool) *ChannelFlowCallbackInput {
6013	s.DeleteResource = &v
6014	return s
6015}
6016
6017type ChannelFlowCallbackOutput struct {
6018	_ struct{} `type:"structure"`
6019
6020	// The call back ID passed in the request.
6021	CallbackId *string `min:"32" type:"string"`
6022
6023	// The ARN of the channel.
6024	ChannelArn *string `min:"5" type:"string"`
6025}
6026
6027// String returns the string representation.
6028//
6029// API parameter values that are decorated as "sensitive" in the API will not
6030// be included in the string output. The member name will be present, but the
6031// value will be replaced with "sensitive".
6032func (s ChannelFlowCallbackOutput) String() string {
6033	return awsutil.Prettify(s)
6034}
6035
6036// GoString returns the string representation.
6037//
6038// API parameter values that are decorated as "sensitive" in the API will not
6039// be included in the string output. The member name will be present, but the
6040// value will be replaced with "sensitive".
6041func (s ChannelFlowCallbackOutput) GoString() string {
6042	return s.String()
6043}
6044
6045// SetCallbackId sets the CallbackId field's value.
6046func (s *ChannelFlowCallbackOutput) SetCallbackId(v string) *ChannelFlowCallbackOutput {
6047	s.CallbackId = &v
6048	return s
6049}
6050
6051// SetChannelArn sets the ChannelArn field's value.
6052func (s *ChannelFlowCallbackOutput) SetChannelArn(v string) *ChannelFlowCallbackOutput {
6053	s.ChannelArn = &v
6054	return s
6055}
6056
6057// Summary of details of a channel flow.
6058type ChannelFlowSummary struct {
6059	_ struct{} `type:"structure"`
6060
6061	// The ARN of the channel flow.
6062	ChannelFlowArn *string `min:"5" type:"string"`
6063
6064	// The name of the channel flow.
6065	//
6066	// Name is a sensitive parameter and its value will be
6067	// replaced with "sensitive" in string returned by ChannelFlowSummary's
6068	// String and GoString methods.
6069	Name *string `min:"1" type:"string" sensitive:"true"`
6070
6071	// Information about the processor Lambda functions.
6072	Processors []*Processor `min:"1" type:"list"`
6073}
6074
6075// String returns the string representation.
6076//
6077// API parameter values that are decorated as "sensitive" in the API will not
6078// be included in the string output. The member name will be present, but the
6079// value will be replaced with "sensitive".
6080func (s ChannelFlowSummary) String() string {
6081	return awsutil.Prettify(s)
6082}
6083
6084// GoString returns the string representation.
6085//
6086// API parameter values that are decorated as "sensitive" in the API will not
6087// be included in the string output. The member name will be present, but the
6088// value will be replaced with "sensitive".
6089func (s ChannelFlowSummary) GoString() string {
6090	return s.String()
6091}
6092
6093// SetChannelFlowArn sets the ChannelFlowArn field's value.
6094func (s *ChannelFlowSummary) SetChannelFlowArn(v string) *ChannelFlowSummary {
6095	s.ChannelFlowArn = &v
6096	return s
6097}
6098
6099// SetName sets the Name field's value.
6100func (s *ChannelFlowSummary) SetName(v string) *ChannelFlowSummary {
6101	s.Name = &v
6102	return s
6103}
6104
6105// SetProcessors sets the Processors field's value.
6106func (s *ChannelFlowSummary) SetProcessors(v []*Processor) *ChannelFlowSummary {
6107	s.Processors = v
6108	return s
6109}
6110
6111// The details of a channel member.
6112type ChannelMembership struct {
6113	_ struct{} `type:"structure"`
6114
6115	// The ARN of the member's channel.
6116	ChannelArn *string `min:"5" type:"string"`
6117
6118	// The time at which the channel membership was created.
6119	CreatedTimestamp *time.Time `type:"timestamp"`
6120
6121	// The identifier of the member who invited another member.
6122	InvitedBy *Identity `type:"structure"`
6123
6124	// The time at which a channel membership was last updated.
6125	LastUpdatedTimestamp *time.Time `type:"timestamp"`
6126
6127	// The data of the channel member.
6128	Member *Identity `type:"structure"`
6129
6130	// The membership type set for the channel member.
6131	Type *string `type:"string" enum:"ChannelMembershipType"`
6132}
6133
6134// String returns the string representation.
6135//
6136// API parameter values that are decorated as "sensitive" in the API will not
6137// be included in the string output. The member name will be present, but the
6138// value will be replaced with "sensitive".
6139func (s ChannelMembership) String() string {
6140	return awsutil.Prettify(s)
6141}
6142
6143// GoString returns the string representation.
6144//
6145// API parameter values that are decorated as "sensitive" in the API will not
6146// be included in the string output. The member name will be present, but the
6147// value will be replaced with "sensitive".
6148func (s ChannelMembership) GoString() string {
6149	return s.String()
6150}
6151
6152// SetChannelArn sets the ChannelArn field's value.
6153func (s *ChannelMembership) SetChannelArn(v string) *ChannelMembership {
6154	s.ChannelArn = &v
6155	return s
6156}
6157
6158// SetCreatedTimestamp sets the CreatedTimestamp field's value.
6159func (s *ChannelMembership) SetCreatedTimestamp(v time.Time) *ChannelMembership {
6160	s.CreatedTimestamp = &v
6161	return s
6162}
6163
6164// SetInvitedBy sets the InvitedBy field's value.
6165func (s *ChannelMembership) SetInvitedBy(v *Identity) *ChannelMembership {
6166	s.InvitedBy = v
6167	return s
6168}
6169
6170// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
6171func (s *ChannelMembership) SetLastUpdatedTimestamp(v time.Time) *ChannelMembership {
6172	s.LastUpdatedTimestamp = &v
6173	return s
6174}
6175
6176// SetMember sets the Member field's value.
6177func (s *ChannelMembership) SetMember(v *Identity) *ChannelMembership {
6178	s.Member = v
6179	return s
6180}
6181
6182// SetType sets the Type field's value.
6183func (s *ChannelMembership) SetType(v string) *ChannelMembership {
6184	s.Type = &v
6185	return s
6186}
6187
6188// Summary of the channel membership details of an AppInstanceUser.
6189type ChannelMembershipForAppInstanceUserSummary struct {
6190	_ struct{} `type:"structure"`
6191
6192	// Returns the channel membership data for an AppInstance.
6193	AppInstanceUserMembershipSummary *AppInstanceUserMembershipSummary `type:"structure"`
6194
6195	// Returns the channel data for an AppInstance.
6196	ChannelSummary *ChannelSummary `type:"structure"`
6197}
6198
6199// String returns the string representation.
6200//
6201// API parameter values that are decorated as "sensitive" in the API will not
6202// be included in the string output. The member name will be present, but the
6203// value will be replaced with "sensitive".
6204func (s ChannelMembershipForAppInstanceUserSummary) String() string {
6205	return awsutil.Prettify(s)
6206}
6207
6208// GoString returns the string representation.
6209//
6210// API parameter values that are decorated as "sensitive" in the API will not
6211// be included in the string output. The member name will be present, but the
6212// value will be replaced with "sensitive".
6213func (s ChannelMembershipForAppInstanceUserSummary) GoString() string {
6214	return s.String()
6215}
6216
6217// SetAppInstanceUserMembershipSummary sets the AppInstanceUserMembershipSummary field's value.
6218func (s *ChannelMembershipForAppInstanceUserSummary) SetAppInstanceUserMembershipSummary(v *AppInstanceUserMembershipSummary) *ChannelMembershipForAppInstanceUserSummary {
6219	s.AppInstanceUserMembershipSummary = v
6220	return s
6221}
6222
6223// SetChannelSummary sets the ChannelSummary field's value.
6224func (s *ChannelMembershipForAppInstanceUserSummary) SetChannelSummary(v *ChannelSummary) *ChannelMembershipForAppInstanceUserSummary {
6225	s.ChannelSummary = v
6226	return s
6227}
6228
6229// The channel membership preferences for an AppInstanceUser.
6230type ChannelMembershipPreferences struct {
6231	_ struct{} `type:"structure"`
6232
6233	// The push notification configuration of a message.
6234	PushNotifications *PushNotificationPreferences `type:"structure"`
6235}
6236
6237// String returns the string representation.
6238//
6239// API parameter values that are decorated as "sensitive" in the API will not
6240// be included in the string output. The member name will be present, but the
6241// value will be replaced with "sensitive".
6242func (s ChannelMembershipPreferences) String() string {
6243	return awsutil.Prettify(s)
6244}
6245
6246// GoString returns the string representation.
6247//
6248// API parameter values that are decorated as "sensitive" in the API will not
6249// be included in the string output. The member name will be present, but the
6250// value will be replaced with "sensitive".
6251func (s ChannelMembershipPreferences) GoString() string {
6252	return s.String()
6253}
6254
6255// Validate inspects the fields of the type to determine if they are valid.
6256func (s *ChannelMembershipPreferences) Validate() error {
6257	invalidParams := request.ErrInvalidParams{Context: "ChannelMembershipPreferences"}
6258	if s.PushNotifications != nil {
6259		if err := s.PushNotifications.Validate(); err != nil {
6260			invalidParams.AddNested("PushNotifications", err.(request.ErrInvalidParams))
6261		}
6262	}
6263
6264	if invalidParams.Len() > 0 {
6265		return invalidParams
6266	}
6267	return nil
6268}
6269
6270// SetPushNotifications sets the PushNotifications field's value.
6271func (s *ChannelMembershipPreferences) SetPushNotifications(v *PushNotificationPreferences) *ChannelMembershipPreferences {
6272	s.PushNotifications = v
6273	return s
6274}
6275
6276// Summary of the details of a ChannelMembership.
6277type ChannelMembershipSummary struct {
6278	_ struct{} `type:"structure"`
6279
6280	// A member's summary data.
6281	Member *Identity `type:"structure"`
6282}
6283
6284// String returns the string representation.
6285//
6286// API parameter values that are decorated as "sensitive" in the API will not
6287// be included in the string output. The member name will be present, but the
6288// value will be replaced with "sensitive".
6289func (s ChannelMembershipSummary) String() string {
6290	return awsutil.Prettify(s)
6291}
6292
6293// GoString returns the string representation.
6294//
6295// API parameter values that are decorated as "sensitive" in the API will not
6296// be included in the string output. The member name will be present, but the
6297// value will be replaced with "sensitive".
6298func (s ChannelMembershipSummary) GoString() string {
6299	return s.String()
6300}
6301
6302// SetMember sets the Member field's value.
6303func (s *ChannelMembershipSummary) SetMember(v *Identity) *ChannelMembershipSummary {
6304	s.Member = v
6305	return s
6306}
6307
6308// The details of a message in a channel.
6309type ChannelMessage struct {
6310	_ struct{} `type:"structure"`
6311
6312	// The ARN of the channel.
6313	ChannelArn *string `min:"5" type:"string"`
6314
6315	// The message content.
6316	//
6317	// Content is a sensitive parameter and its value will be
6318	// replaced with "sensitive" in string returned by ChannelMessage's
6319	// String and GoString methods.
6320	Content *string `type:"string" sensitive:"true"`
6321
6322	// The time at which the message was created.
6323	CreatedTimestamp *time.Time `type:"timestamp"`
6324
6325	// The time at which a message was edited.
6326	LastEditedTimestamp *time.Time `type:"timestamp"`
6327
6328	// The time at which a message was updated.
6329	LastUpdatedTimestamp *time.Time `type:"timestamp"`
6330
6331	// The attributes for the message, used for message filtering along with a FilterRule
6332	// defined in the PushNotificationPreferences.
6333	MessageAttributes map[string]*MessageAttributeValue `type:"map"`
6334
6335	// The ID of a message.
6336	MessageId *string `min:"1" type:"string"`
6337
6338	// The message metadata.
6339	//
6340	// Metadata is a sensitive parameter and its value will be
6341	// replaced with "sensitive" in string returned by ChannelMessage's
6342	// String and GoString methods.
6343	Metadata *string `type:"string" sensitive:"true"`
6344
6345	// The persistence setting for a channel message.
6346	Persistence *string `type:"string" enum:"ChannelMessagePersistenceType"`
6347
6348	// Hides the content of a message.
6349	Redacted *bool `type:"boolean"`
6350
6351	// The message sender.
6352	Sender *Identity `type:"structure"`
6353
6354	// The status of the channel message.
6355	Status *ChannelMessageStatusStructure `type:"structure"`
6356
6357	// The message type.
6358	Type *string `type:"string" enum:"ChannelMessageType"`
6359}
6360
6361// String returns the string representation.
6362//
6363// API parameter values that are decorated as "sensitive" in the API will not
6364// be included in the string output. The member name will be present, but the
6365// value will be replaced with "sensitive".
6366func (s ChannelMessage) String() string {
6367	return awsutil.Prettify(s)
6368}
6369
6370// GoString returns the string representation.
6371//
6372// API parameter values that are decorated as "sensitive" in the API will not
6373// be included in the string output. The member name will be present, but the
6374// value will be replaced with "sensitive".
6375func (s ChannelMessage) GoString() string {
6376	return s.String()
6377}
6378
6379// SetChannelArn sets the ChannelArn field's value.
6380func (s *ChannelMessage) SetChannelArn(v string) *ChannelMessage {
6381	s.ChannelArn = &v
6382	return s
6383}
6384
6385// SetContent sets the Content field's value.
6386func (s *ChannelMessage) SetContent(v string) *ChannelMessage {
6387	s.Content = &v
6388	return s
6389}
6390
6391// SetCreatedTimestamp sets the CreatedTimestamp field's value.
6392func (s *ChannelMessage) SetCreatedTimestamp(v time.Time) *ChannelMessage {
6393	s.CreatedTimestamp = &v
6394	return s
6395}
6396
6397// SetLastEditedTimestamp sets the LastEditedTimestamp field's value.
6398func (s *ChannelMessage) SetLastEditedTimestamp(v time.Time) *ChannelMessage {
6399	s.LastEditedTimestamp = &v
6400	return s
6401}
6402
6403// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
6404func (s *ChannelMessage) SetLastUpdatedTimestamp(v time.Time) *ChannelMessage {
6405	s.LastUpdatedTimestamp = &v
6406	return s
6407}
6408
6409// SetMessageAttributes sets the MessageAttributes field's value.
6410func (s *ChannelMessage) SetMessageAttributes(v map[string]*MessageAttributeValue) *ChannelMessage {
6411	s.MessageAttributes = v
6412	return s
6413}
6414
6415// SetMessageId sets the MessageId field's value.
6416func (s *ChannelMessage) SetMessageId(v string) *ChannelMessage {
6417	s.MessageId = &v
6418	return s
6419}
6420
6421// SetMetadata sets the Metadata field's value.
6422func (s *ChannelMessage) SetMetadata(v string) *ChannelMessage {
6423	s.Metadata = &v
6424	return s
6425}
6426
6427// SetPersistence sets the Persistence field's value.
6428func (s *ChannelMessage) SetPersistence(v string) *ChannelMessage {
6429	s.Persistence = &v
6430	return s
6431}
6432
6433// SetRedacted sets the Redacted field's value.
6434func (s *ChannelMessage) SetRedacted(v bool) *ChannelMessage {
6435	s.Redacted = &v
6436	return s
6437}
6438
6439// SetSender sets the Sender field's value.
6440func (s *ChannelMessage) SetSender(v *Identity) *ChannelMessage {
6441	s.Sender = v
6442	return s
6443}
6444
6445// SetStatus sets the Status field's value.
6446func (s *ChannelMessage) SetStatus(v *ChannelMessageStatusStructure) *ChannelMessage {
6447	s.Status = v
6448	return s
6449}
6450
6451// SetType sets the Type field's value.
6452func (s *ChannelMessage) SetType(v string) *ChannelMessage {
6453	s.Type = &v
6454	return s
6455}
6456
6457// Stores information about a callback.
6458type ChannelMessageCallback struct {
6459	_ struct{} `type:"structure"`
6460
6461	// The message content.
6462	//
6463	// Content is a sensitive parameter and its value will be
6464	// replaced with "sensitive" in string returned by ChannelMessageCallback's
6465	// String and GoString methods.
6466	Content *string `min:"1" type:"string" sensitive:"true"`
6467
6468	// The message ID.
6469	//
6470	// MessageId is a required field
6471	MessageId *string `min:"1" type:"string" required:"true"`
6472
6473	// The message metadata.
6474	//
6475	// Metadata is a sensitive parameter and its value will be
6476	// replaced with "sensitive" in string returned by ChannelMessageCallback's
6477	// String and GoString methods.
6478	Metadata *string `type:"string" sensitive:"true"`
6479}
6480
6481// String returns the string representation.
6482//
6483// API parameter values that are decorated as "sensitive" in the API will not
6484// be included in the string output. The member name will be present, but the
6485// value will be replaced with "sensitive".
6486func (s ChannelMessageCallback) String() string {
6487	return awsutil.Prettify(s)
6488}
6489
6490// GoString returns the string representation.
6491//
6492// API parameter values that are decorated as "sensitive" in the API will not
6493// be included in the string output. The member name will be present, but the
6494// value will be replaced with "sensitive".
6495func (s ChannelMessageCallback) GoString() string {
6496	return s.String()
6497}
6498
6499// Validate inspects the fields of the type to determine if they are valid.
6500func (s *ChannelMessageCallback) Validate() error {
6501	invalidParams := request.ErrInvalidParams{Context: "ChannelMessageCallback"}
6502	if s.Content != nil && len(*s.Content) < 1 {
6503		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
6504	}
6505	if s.MessageId == nil {
6506		invalidParams.Add(request.NewErrParamRequired("MessageId"))
6507	}
6508	if s.MessageId != nil && len(*s.MessageId) < 1 {
6509		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
6510	}
6511
6512	if invalidParams.Len() > 0 {
6513		return invalidParams
6514	}
6515	return nil
6516}
6517
6518// SetContent sets the Content field's value.
6519func (s *ChannelMessageCallback) SetContent(v string) *ChannelMessageCallback {
6520	s.Content = &v
6521	return s
6522}
6523
6524// SetMessageId sets the MessageId field's value.
6525func (s *ChannelMessageCallback) SetMessageId(v string) *ChannelMessageCallback {
6526	s.MessageId = &v
6527	return s
6528}
6529
6530// SetMetadata sets the Metadata field's value.
6531func (s *ChannelMessageCallback) SetMetadata(v string) *ChannelMessageCallback {
6532	s.Metadata = &v
6533	return s
6534}
6535
6536// Stores information about a message status.
6537type ChannelMessageStatusStructure struct {
6538	_ struct{} `type:"structure"`
6539
6540	// Contains more details about the messasge status.
6541	Detail *string `type:"string"`
6542
6543	// The message status value.
6544	Value *string `type:"string" enum:"ChannelMessageStatus"`
6545}
6546
6547// String returns the string representation.
6548//
6549// API parameter values that are decorated as "sensitive" in the API will not
6550// be included in the string output. The member name will be present, but the
6551// value will be replaced with "sensitive".
6552func (s ChannelMessageStatusStructure) String() string {
6553	return awsutil.Prettify(s)
6554}
6555
6556// GoString returns the string representation.
6557//
6558// API parameter values that are decorated as "sensitive" in the API will not
6559// be included in the string output. The member name will be present, but the
6560// value will be replaced with "sensitive".
6561func (s ChannelMessageStatusStructure) GoString() string {
6562	return s.String()
6563}
6564
6565// SetDetail sets the Detail field's value.
6566func (s *ChannelMessageStatusStructure) SetDetail(v string) *ChannelMessageStatusStructure {
6567	s.Detail = &v
6568	return s
6569}
6570
6571// SetValue sets the Value field's value.
6572func (s *ChannelMessageStatusStructure) SetValue(v string) *ChannelMessageStatusStructure {
6573	s.Value = &v
6574	return s
6575}
6576
6577// Summary of the messages in a Channel.
6578type ChannelMessageSummary struct {
6579	_ struct{} `type:"structure"`
6580
6581	// The content of the message.
6582	//
6583	// Content is a sensitive parameter and its value will be
6584	// replaced with "sensitive" in string returned by ChannelMessageSummary's
6585	// String and GoString methods.
6586	Content *string `type:"string" sensitive:"true"`
6587
6588	// The time at which the message summary was created.
6589	CreatedTimestamp *time.Time `type:"timestamp"`
6590
6591	// The time at which a message was last edited.
6592	LastEditedTimestamp *time.Time `type:"timestamp"`
6593
6594	// The time at which a message was last updated.
6595	LastUpdatedTimestamp *time.Time `type:"timestamp"`
6596
6597	// The message attribues listed in a the summary of a channel message.
6598	MessageAttributes map[string]*MessageAttributeValue `type:"map"`
6599
6600	// The ID of the message.
6601	MessageId *string `min:"1" type:"string"`
6602
6603	// The metadata of the message.
6604	//
6605	// Metadata is a sensitive parameter and its value will be
6606	// replaced with "sensitive" in string returned by ChannelMessageSummary's
6607	// String and GoString methods.
6608	Metadata *string `type:"string" sensitive:"true"`
6609
6610	// Indicates whether a message was redacted.
6611	Redacted *bool `type:"boolean"`
6612
6613	// The message sender.
6614	Sender *Identity `type:"structure"`
6615
6616	// The message status. The status value is SENT for messages sent to a channel
6617	// without a channel flow. For channels associated with channel flow, the value
6618	// determines the processing stage.
6619	Status *ChannelMessageStatusStructure `type:"structure"`
6620
6621	// The type of message.
6622	Type *string `type:"string" enum:"ChannelMessageType"`
6623}
6624
6625// String returns the string representation.
6626//
6627// API parameter values that are decorated as "sensitive" in the API will not
6628// be included in the string output. The member name will be present, but the
6629// value will be replaced with "sensitive".
6630func (s ChannelMessageSummary) String() string {
6631	return awsutil.Prettify(s)
6632}
6633
6634// GoString returns the string representation.
6635//
6636// API parameter values that are decorated as "sensitive" in the API will not
6637// be included in the string output. The member name will be present, but the
6638// value will be replaced with "sensitive".
6639func (s ChannelMessageSummary) GoString() string {
6640	return s.String()
6641}
6642
6643// SetContent sets the Content field's value.
6644func (s *ChannelMessageSummary) SetContent(v string) *ChannelMessageSummary {
6645	s.Content = &v
6646	return s
6647}
6648
6649// SetCreatedTimestamp sets the CreatedTimestamp field's value.
6650func (s *ChannelMessageSummary) SetCreatedTimestamp(v time.Time) *ChannelMessageSummary {
6651	s.CreatedTimestamp = &v
6652	return s
6653}
6654
6655// SetLastEditedTimestamp sets the LastEditedTimestamp field's value.
6656func (s *ChannelMessageSummary) SetLastEditedTimestamp(v time.Time) *ChannelMessageSummary {
6657	s.LastEditedTimestamp = &v
6658	return s
6659}
6660
6661// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
6662func (s *ChannelMessageSummary) SetLastUpdatedTimestamp(v time.Time) *ChannelMessageSummary {
6663	s.LastUpdatedTimestamp = &v
6664	return s
6665}
6666
6667// SetMessageAttributes sets the MessageAttributes field's value.
6668func (s *ChannelMessageSummary) SetMessageAttributes(v map[string]*MessageAttributeValue) *ChannelMessageSummary {
6669	s.MessageAttributes = v
6670	return s
6671}
6672
6673// SetMessageId sets the MessageId field's value.
6674func (s *ChannelMessageSummary) SetMessageId(v string) *ChannelMessageSummary {
6675	s.MessageId = &v
6676	return s
6677}
6678
6679// SetMetadata sets the Metadata field's value.
6680func (s *ChannelMessageSummary) SetMetadata(v string) *ChannelMessageSummary {
6681	s.Metadata = &v
6682	return s
6683}
6684
6685// SetRedacted sets the Redacted field's value.
6686func (s *ChannelMessageSummary) SetRedacted(v bool) *ChannelMessageSummary {
6687	s.Redacted = &v
6688	return s
6689}
6690
6691// SetSender sets the Sender field's value.
6692func (s *ChannelMessageSummary) SetSender(v *Identity) *ChannelMessageSummary {
6693	s.Sender = v
6694	return s
6695}
6696
6697// SetStatus sets the Status field's value.
6698func (s *ChannelMessageSummary) SetStatus(v *ChannelMessageStatusStructure) *ChannelMessageSummary {
6699	s.Status = v
6700	return s
6701}
6702
6703// SetType sets the Type field's value.
6704func (s *ChannelMessageSummary) SetType(v string) *ChannelMessageSummary {
6705	s.Type = &v
6706	return s
6707}
6708
6709// Summary of the details of a moderated channel.
6710type ChannelModeratedByAppInstanceUserSummary struct {
6711	_ struct{} `type:"structure"`
6712
6713	// Summary of the details of a Channel.
6714	ChannelSummary *ChannelSummary `type:"structure"`
6715}
6716
6717// String returns the string representation.
6718//
6719// API parameter values that are decorated as "sensitive" in the API will not
6720// be included in the string output. The member name will be present, but the
6721// value will be replaced with "sensitive".
6722func (s ChannelModeratedByAppInstanceUserSummary) String() string {
6723	return awsutil.Prettify(s)
6724}
6725
6726// GoString returns the string representation.
6727//
6728// API parameter values that are decorated as "sensitive" in the API will not
6729// be included in the string output. The member name will be present, but the
6730// value will be replaced with "sensitive".
6731func (s ChannelModeratedByAppInstanceUserSummary) GoString() string {
6732	return s.String()
6733}
6734
6735// SetChannelSummary sets the ChannelSummary field's value.
6736func (s *ChannelModeratedByAppInstanceUserSummary) SetChannelSummary(v *ChannelSummary) *ChannelModeratedByAppInstanceUserSummary {
6737	s.ChannelSummary = v
6738	return s
6739}
6740
6741// The details of a channel moderator.
6742type ChannelModerator struct {
6743	_ struct{} `type:"structure"`
6744
6745	// The ARN of the moderator's channel.
6746	ChannelArn *string `min:"5" type:"string"`
6747
6748	// The AppInstanceUser who created the moderator.
6749	CreatedBy *Identity `type:"structure"`
6750
6751	// The time at which the moderator was created.
6752	CreatedTimestamp *time.Time `type:"timestamp"`
6753
6754	// The moderator's data.
6755	Moderator *Identity `type:"structure"`
6756}
6757
6758// String returns the string representation.
6759//
6760// API parameter values that are decorated as "sensitive" in the API will not
6761// be included in the string output. The member name will be present, but the
6762// value will be replaced with "sensitive".
6763func (s ChannelModerator) String() string {
6764	return awsutil.Prettify(s)
6765}
6766
6767// GoString returns the string representation.
6768//
6769// API parameter values that are decorated as "sensitive" in the API will not
6770// be included in the string output. The member name will be present, but the
6771// value will be replaced with "sensitive".
6772func (s ChannelModerator) GoString() string {
6773	return s.String()
6774}
6775
6776// SetChannelArn sets the ChannelArn field's value.
6777func (s *ChannelModerator) SetChannelArn(v string) *ChannelModerator {
6778	s.ChannelArn = &v
6779	return s
6780}
6781
6782// SetCreatedBy sets the CreatedBy field's value.
6783func (s *ChannelModerator) SetCreatedBy(v *Identity) *ChannelModerator {
6784	s.CreatedBy = v
6785	return s
6786}
6787
6788// SetCreatedTimestamp sets the CreatedTimestamp field's value.
6789func (s *ChannelModerator) SetCreatedTimestamp(v time.Time) *ChannelModerator {
6790	s.CreatedTimestamp = &v
6791	return s
6792}
6793
6794// SetModerator sets the Moderator field's value.
6795func (s *ChannelModerator) SetModerator(v *Identity) *ChannelModerator {
6796	s.Moderator = v
6797	return s
6798}
6799
6800// Summary of the details of a ChannelModerator.
6801type ChannelModeratorSummary struct {
6802	_ struct{} `type:"structure"`
6803
6804	// The data for a moderator.
6805	Moderator *Identity `type:"structure"`
6806}
6807
6808// String returns the string representation.
6809//
6810// API parameter values that are decorated as "sensitive" in the API will not
6811// be included in the string output. The member name will be present, but the
6812// value will be replaced with "sensitive".
6813func (s ChannelModeratorSummary) String() string {
6814	return awsutil.Prettify(s)
6815}
6816
6817// GoString returns the string representation.
6818//
6819// API parameter values that are decorated as "sensitive" in the API will not
6820// be included in the string output. The member name will be present, but the
6821// value will be replaced with "sensitive".
6822func (s ChannelModeratorSummary) GoString() string {
6823	return s.String()
6824}
6825
6826// SetModerator sets the Moderator field's value.
6827func (s *ChannelModeratorSummary) SetModerator(v *Identity) *ChannelModeratorSummary {
6828	s.Moderator = v
6829	return s
6830}
6831
6832// Summary of the details of a Channel.
6833type ChannelSummary struct {
6834	_ struct{} `type:"structure"`
6835
6836	// The ARN of the channel.
6837	ChannelArn *string `min:"5" type:"string"`
6838
6839	// The time at which the last message in a channel was sent.
6840	LastMessageTimestamp *time.Time `type:"timestamp"`
6841
6842	// The metadata of the channel.
6843	//
6844	// Metadata is a sensitive parameter and its value will be
6845	// replaced with "sensitive" in string returned by ChannelSummary's
6846	// String and GoString methods.
6847	Metadata *string `type:"string" sensitive:"true"`
6848
6849	// The mode of the channel.
6850	Mode *string `type:"string" enum:"ChannelMode"`
6851
6852	// The name of the channel.
6853	//
6854	// Name is a sensitive parameter and its value will be
6855	// replaced with "sensitive" in string returned by ChannelSummary's
6856	// String and GoString methods.
6857	Name *string `min:"1" type:"string" sensitive:"true"`
6858
6859	// The privacy setting of the channel.
6860	Privacy *string `type:"string" enum:"ChannelPrivacy"`
6861}
6862
6863// String returns the string representation.
6864//
6865// API parameter values that are decorated as "sensitive" in the API will not
6866// be included in the string output. The member name will be present, but the
6867// value will be replaced with "sensitive".
6868func (s ChannelSummary) String() string {
6869	return awsutil.Prettify(s)
6870}
6871
6872// GoString returns the string representation.
6873//
6874// API parameter values that are decorated as "sensitive" in the API will not
6875// be included in the string output. The member name will be present, but the
6876// value will be replaced with "sensitive".
6877func (s ChannelSummary) GoString() string {
6878	return s.String()
6879}
6880
6881// SetChannelArn sets the ChannelArn field's value.
6882func (s *ChannelSummary) SetChannelArn(v string) *ChannelSummary {
6883	s.ChannelArn = &v
6884	return s
6885}
6886
6887// SetLastMessageTimestamp sets the LastMessageTimestamp field's value.
6888func (s *ChannelSummary) SetLastMessageTimestamp(v time.Time) *ChannelSummary {
6889	s.LastMessageTimestamp = &v
6890	return s
6891}
6892
6893// SetMetadata sets the Metadata field's value.
6894func (s *ChannelSummary) SetMetadata(v string) *ChannelSummary {
6895	s.Metadata = &v
6896	return s
6897}
6898
6899// SetMode sets the Mode field's value.
6900func (s *ChannelSummary) SetMode(v string) *ChannelSummary {
6901	s.Mode = &v
6902	return s
6903}
6904
6905// SetName sets the Name field's value.
6906func (s *ChannelSummary) SetName(v string) *ChannelSummary {
6907	s.Name = &v
6908	return s
6909}
6910
6911// SetPrivacy sets the Privacy field's value.
6912func (s *ChannelSummary) SetPrivacy(v string) *ChannelSummary {
6913	s.Privacy = &v
6914	return s
6915}
6916
6917// The request could not be processed because of conflict in the current state
6918// of the resource.
6919type ConflictException struct {
6920	_            struct{}                  `type:"structure"`
6921	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6922
6923	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
6924
6925	Message_ *string `locationName:"Message" type:"string"`
6926}
6927
6928// String returns the string representation.
6929//
6930// API parameter values that are decorated as "sensitive" in the API will not
6931// be included in the string output. The member name will be present, but the
6932// value will be replaced with "sensitive".
6933func (s ConflictException) String() string {
6934	return awsutil.Prettify(s)
6935}
6936
6937// GoString returns the string representation.
6938//
6939// API parameter values that are decorated as "sensitive" in the API will not
6940// be included in the string output. The member name will be present, but the
6941// value will be replaced with "sensitive".
6942func (s ConflictException) GoString() string {
6943	return s.String()
6944}
6945
6946func newErrorConflictException(v protocol.ResponseMetadata) error {
6947	return &ConflictException{
6948		RespMetadata: v,
6949	}
6950}
6951
6952// Code returns the exception type name.
6953func (s *ConflictException) Code() string {
6954	return "ConflictException"
6955}
6956
6957// Message returns the exception's message.
6958func (s *ConflictException) Message() string {
6959	if s.Message_ != nil {
6960		return *s.Message_
6961	}
6962	return ""
6963}
6964
6965// OrigErr always returns nil, satisfies awserr.Error interface.
6966func (s *ConflictException) OrigErr() error {
6967	return nil
6968}
6969
6970func (s *ConflictException) Error() string {
6971	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6972}
6973
6974// Status code returns the HTTP status code for the request's response error.
6975func (s *ConflictException) StatusCode() int {
6976	return s.RespMetadata.StatusCode
6977}
6978
6979// RequestID returns the service's response RequestID for request.
6980func (s *ConflictException) RequestID() string {
6981	return s.RespMetadata.RequestID
6982}
6983
6984type CreateChannelBanInput struct {
6985	_ struct{} `type:"structure"`
6986
6987	// The ARN of the ban request.
6988	//
6989	// ChannelArn is a required field
6990	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
6991
6992	// The AppInstanceUserArn of the user that makes the API call.
6993	//
6994	// ChimeBearer is a required field
6995	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
6996
6997	// The AppInstanceUserArn of the member being banned.
6998	//
6999	// MemberArn is a required field
7000	MemberArn *string `min:"5" type:"string" required:"true"`
7001}
7002
7003// String returns the string representation.
7004//
7005// API parameter values that are decorated as "sensitive" in the API will not
7006// be included in the string output. The member name will be present, but the
7007// value will be replaced with "sensitive".
7008func (s CreateChannelBanInput) String() string {
7009	return awsutil.Prettify(s)
7010}
7011
7012// GoString returns the string representation.
7013//
7014// API parameter values that are decorated as "sensitive" in the API will not
7015// be included in the string output. The member name will be present, but the
7016// value will be replaced with "sensitive".
7017func (s CreateChannelBanInput) GoString() string {
7018	return s.String()
7019}
7020
7021// Validate inspects the fields of the type to determine if they are valid.
7022func (s *CreateChannelBanInput) Validate() error {
7023	invalidParams := request.ErrInvalidParams{Context: "CreateChannelBanInput"}
7024	if s.ChannelArn == nil {
7025		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
7026	}
7027	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
7028		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
7029	}
7030	if s.ChimeBearer == nil {
7031		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
7032	}
7033	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
7034		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
7035	}
7036	if s.MemberArn == nil {
7037		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
7038	}
7039	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
7040		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
7041	}
7042
7043	if invalidParams.Len() > 0 {
7044		return invalidParams
7045	}
7046	return nil
7047}
7048
7049// SetChannelArn sets the ChannelArn field's value.
7050func (s *CreateChannelBanInput) SetChannelArn(v string) *CreateChannelBanInput {
7051	s.ChannelArn = &v
7052	return s
7053}
7054
7055// SetChimeBearer sets the ChimeBearer field's value.
7056func (s *CreateChannelBanInput) SetChimeBearer(v string) *CreateChannelBanInput {
7057	s.ChimeBearer = &v
7058	return s
7059}
7060
7061// SetMemberArn sets the MemberArn field's value.
7062func (s *CreateChannelBanInput) SetMemberArn(v string) *CreateChannelBanInput {
7063	s.MemberArn = &v
7064	return s
7065}
7066
7067type CreateChannelBanOutput struct {
7068	_ struct{} `type:"structure"`
7069
7070	// The ARN of the response to the ban request.
7071	ChannelArn *string `min:"5" type:"string"`
7072
7073	// The ChannelArn and BannedIdentity of the member in the ban response.
7074	Member *Identity `type:"structure"`
7075}
7076
7077// String returns the string representation.
7078//
7079// API parameter values that are decorated as "sensitive" in the API will not
7080// be included in the string output. The member name will be present, but the
7081// value will be replaced with "sensitive".
7082func (s CreateChannelBanOutput) String() string {
7083	return awsutil.Prettify(s)
7084}
7085
7086// GoString returns the string representation.
7087//
7088// API parameter values that are decorated as "sensitive" in the API will not
7089// be included in the string output. The member name will be present, but the
7090// value will be replaced with "sensitive".
7091func (s CreateChannelBanOutput) GoString() string {
7092	return s.String()
7093}
7094
7095// SetChannelArn sets the ChannelArn field's value.
7096func (s *CreateChannelBanOutput) SetChannelArn(v string) *CreateChannelBanOutput {
7097	s.ChannelArn = &v
7098	return s
7099}
7100
7101// SetMember sets the Member field's value.
7102func (s *CreateChannelBanOutput) SetMember(v *Identity) *CreateChannelBanOutput {
7103	s.Member = v
7104	return s
7105}
7106
7107type CreateChannelFlowInput struct {
7108	_ struct{} `type:"structure"`
7109
7110	// The ARN of the channel flow request.
7111	//
7112	// AppInstanceArn is a required field
7113	AppInstanceArn *string `min:"5" type:"string" required:"true"`
7114
7115	// The client token for the request. An Idempotency token.
7116	//
7117	// ClientRequestToken is a sensitive parameter and its value will be
7118	// replaced with "sensitive" in string returned by CreateChannelFlowInput's
7119	// String and GoString methods.
7120	//
7121	// ClientRequestToken is a required field
7122	ClientRequestToken *string `min:"2" type:"string" required:"true" sensitive:"true"`
7123
7124	// The name of the channel flow.
7125	//
7126	// Name is a sensitive parameter and its value will be
7127	// replaced with "sensitive" in string returned by CreateChannelFlowInput's
7128	// String and GoString methods.
7129	//
7130	// Name is a required field
7131	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
7132
7133	// Information about the processor Lambda functions.
7134	//
7135	// Processors is a required field
7136	Processors []*Processor `min:"1" type:"list" required:"true"`
7137
7138	// The tags for the creation request.
7139	Tags []*Tag `min:"1" type:"list"`
7140}
7141
7142// String returns the string representation.
7143//
7144// API parameter values that are decorated as "sensitive" in the API will not
7145// be included in the string output. The member name will be present, but the
7146// value will be replaced with "sensitive".
7147func (s CreateChannelFlowInput) String() string {
7148	return awsutil.Prettify(s)
7149}
7150
7151// GoString returns the string representation.
7152//
7153// API parameter values that are decorated as "sensitive" in the API will not
7154// be included in the string output. The member name will be present, but the
7155// value will be replaced with "sensitive".
7156func (s CreateChannelFlowInput) GoString() string {
7157	return s.String()
7158}
7159
7160// Validate inspects the fields of the type to determine if they are valid.
7161func (s *CreateChannelFlowInput) Validate() error {
7162	invalidParams := request.ErrInvalidParams{Context: "CreateChannelFlowInput"}
7163	if s.AppInstanceArn == nil {
7164		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
7165	}
7166	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
7167		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
7168	}
7169	if s.ClientRequestToken == nil {
7170		invalidParams.Add(request.NewErrParamRequired("ClientRequestToken"))
7171	}
7172	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 2 {
7173		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 2))
7174	}
7175	if s.Name == nil {
7176		invalidParams.Add(request.NewErrParamRequired("Name"))
7177	}
7178	if s.Name != nil && len(*s.Name) < 1 {
7179		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7180	}
7181	if s.Processors == nil {
7182		invalidParams.Add(request.NewErrParamRequired("Processors"))
7183	}
7184	if s.Processors != nil && len(s.Processors) < 1 {
7185		invalidParams.Add(request.NewErrParamMinLen("Processors", 1))
7186	}
7187	if s.Tags != nil && len(s.Tags) < 1 {
7188		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7189	}
7190	if s.Processors != nil {
7191		for i, v := range s.Processors {
7192			if v == nil {
7193				continue
7194			}
7195			if err := v.Validate(); err != nil {
7196				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Processors", i), err.(request.ErrInvalidParams))
7197			}
7198		}
7199	}
7200	if s.Tags != nil {
7201		for i, v := range s.Tags {
7202			if v == nil {
7203				continue
7204			}
7205			if err := v.Validate(); err != nil {
7206				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7207			}
7208		}
7209	}
7210
7211	if invalidParams.Len() > 0 {
7212		return invalidParams
7213	}
7214	return nil
7215}
7216
7217// SetAppInstanceArn sets the AppInstanceArn field's value.
7218func (s *CreateChannelFlowInput) SetAppInstanceArn(v string) *CreateChannelFlowInput {
7219	s.AppInstanceArn = &v
7220	return s
7221}
7222
7223// SetClientRequestToken sets the ClientRequestToken field's value.
7224func (s *CreateChannelFlowInput) SetClientRequestToken(v string) *CreateChannelFlowInput {
7225	s.ClientRequestToken = &v
7226	return s
7227}
7228
7229// SetName sets the Name field's value.
7230func (s *CreateChannelFlowInput) SetName(v string) *CreateChannelFlowInput {
7231	s.Name = &v
7232	return s
7233}
7234
7235// SetProcessors sets the Processors field's value.
7236func (s *CreateChannelFlowInput) SetProcessors(v []*Processor) *CreateChannelFlowInput {
7237	s.Processors = v
7238	return s
7239}
7240
7241// SetTags sets the Tags field's value.
7242func (s *CreateChannelFlowInput) SetTags(v []*Tag) *CreateChannelFlowInput {
7243	s.Tags = v
7244	return s
7245}
7246
7247type CreateChannelFlowOutput struct {
7248	_ struct{} `type:"structure"`
7249
7250	// The ARN of the channel flow.
7251	ChannelFlowArn *string `min:"5" type:"string"`
7252}
7253
7254// String returns the string representation.
7255//
7256// API parameter values that are decorated as "sensitive" in the API will not
7257// be included in the string output. The member name will be present, but the
7258// value will be replaced with "sensitive".
7259func (s CreateChannelFlowOutput) String() string {
7260	return awsutil.Prettify(s)
7261}
7262
7263// GoString returns the string representation.
7264//
7265// API parameter values that are decorated as "sensitive" in the API will not
7266// be included in the string output. The member name will be present, but the
7267// value will be replaced with "sensitive".
7268func (s CreateChannelFlowOutput) GoString() string {
7269	return s.String()
7270}
7271
7272// SetChannelFlowArn sets the ChannelFlowArn field's value.
7273func (s *CreateChannelFlowOutput) SetChannelFlowArn(v string) *CreateChannelFlowOutput {
7274	s.ChannelFlowArn = &v
7275	return s
7276}
7277
7278type CreateChannelInput struct {
7279	_ struct{} `type:"structure"`
7280
7281	// The ARN of the channel request.
7282	//
7283	// AppInstanceArn is a required field
7284	AppInstanceArn *string `min:"5" type:"string" required:"true"`
7285
7286	// The AppInstanceUserArn of the user that makes the API call.
7287	//
7288	// ChimeBearer is a required field
7289	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
7290
7291	// The client token for the request. An Idempotency token.
7292	//
7293	// ClientRequestToken is a sensitive parameter and its value will be
7294	// replaced with "sensitive" in string returned by CreateChannelInput's
7295	// String and GoString methods.
7296	ClientRequestToken *string `min:"2" type:"string" idempotencyToken:"true" sensitive:"true"`
7297
7298	// The metadata of the creation request. Limited to 1KB and UTF-8.
7299	//
7300	// Metadata is a sensitive parameter and its value will be
7301	// replaced with "sensitive" in string returned by CreateChannelInput's
7302	// String and GoString methods.
7303	Metadata *string `type:"string" sensitive:"true"`
7304
7305	// The channel mode: UNRESTRICTED or RESTRICTED. Administrators, moderators,
7306	// and channel members can add themselves and other members to unrestricted
7307	// channels. Only administrators and moderators can add members to restricted
7308	// channels.
7309	Mode *string `type:"string" enum:"ChannelMode"`
7310
7311	// The name of the channel.
7312	//
7313	// Name is a sensitive parameter and its value will be
7314	// replaced with "sensitive" in string returned by CreateChannelInput's
7315	// String and GoString methods.
7316	//
7317	// Name is a required field
7318	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
7319
7320	// The channel's privacy level: PUBLIC or PRIVATE. Private channels aren't discoverable
7321	// by users outside the channel. Public channels are discoverable by anyone
7322	// in the AppInstance.
7323	Privacy *string `type:"string" enum:"ChannelPrivacy"`
7324
7325	// The tags for the creation request.
7326	Tags []*Tag `min:"1" type:"list"`
7327}
7328
7329// String returns the string representation.
7330//
7331// API parameter values that are decorated as "sensitive" in the API will not
7332// be included in the string output. The member name will be present, but the
7333// value will be replaced with "sensitive".
7334func (s CreateChannelInput) String() string {
7335	return awsutil.Prettify(s)
7336}
7337
7338// GoString returns the string representation.
7339//
7340// API parameter values that are decorated as "sensitive" in the API will not
7341// be included in the string output. The member name will be present, but the
7342// value will be replaced with "sensitive".
7343func (s CreateChannelInput) GoString() string {
7344	return s.String()
7345}
7346
7347// Validate inspects the fields of the type to determine if they are valid.
7348func (s *CreateChannelInput) Validate() error {
7349	invalidParams := request.ErrInvalidParams{Context: "CreateChannelInput"}
7350	if s.AppInstanceArn == nil {
7351		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
7352	}
7353	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
7354		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
7355	}
7356	if s.ChimeBearer == nil {
7357		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
7358	}
7359	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
7360		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
7361	}
7362	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 2 {
7363		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 2))
7364	}
7365	if s.Name == nil {
7366		invalidParams.Add(request.NewErrParamRequired("Name"))
7367	}
7368	if s.Name != nil && len(*s.Name) < 1 {
7369		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7370	}
7371	if s.Tags != nil && len(s.Tags) < 1 {
7372		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7373	}
7374	if s.Tags != nil {
7375		for i, v := range s.Tags {
7376			if v == nil {
7377				continue
7378			}
7379			if err := v.Validate(); err != nil {
7380				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7381			}
7382		}
7383	}
7384
7385	if invalidParams.Len() > 0 {
7386		return invalidParams
7387	}
7388	return nil
7389}
7390
7391// SetAppInstanceArn sets the AppInstanceArn field's value.
7392func (s *CreateChannelInput) SetAppInstanceArn(v string) *CreateChannelInput {
7393	s.AppInstanceArn = &v
7394	return s
7395}
7396
7397// SetChimeBearer sets the ChimeBearer field's value.
7398func (s *CreateChannelInput) SetChimeBearer(v string) *CreateChannelInput {
7399	s.ChimeBearer = &v
7400	return s
7401}
7402
7403// SetClientRequestToken sets the ClientRequestToken field's value.
7404func (s *CreateChannelInput) SetClientRequestToken(v string) *CreateChannelInput {
7405	s.ClientRequestToken = &v
7406	return s
7407}
7408
7409// SetMetadata sets the Metadata field's value.
7410func (s *CreateChannelInput) SetMetadata(v string) *CreateChannelInput {
7411	s.Metadata = &v
7412	return s
7413}
7414
7415// SetMode sets the Mode field's value.
7416func (s *CreateChannelInput) SetMode(v string) *CreateChannelInput {
7417	s.Mode = &v
7418	return s
7419}
7420
7421// SetName sets the Name field's value.
7422func (s *CreateChannelInput) SetName(v string) *CreateChannelInput {
7423	s.Name = &v
7424	return s
7425}
7426
7427// SetPrivacy sets the Privacy field's value.
7428func (s *CreateChannelInput) SetPrivacy(v string) *CreateChannelInput {
7429	s.Privacy = &v
7430	return s
7431}
7432
7433// SetTags sets the Tags field's value.
7434func (s *CreateChannelInput) SetTags(v []*Tag) *CreateChannelInput {
7435	s.Tags = v
7436	return s
7437}
7438
7439type CreateChannelMembershipInput struct {
7440	_ struct{} `type:"structure"`
7441
7442	// The ARN of the channel to which you're adding users.
7443	//
7444	// ChannelArn is a required field
7445	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
7446
7447	// The AppInstanceUserArn of the user that makes the API call.
7448	//
7449	// ChimeBearer is a required field
7450	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
7451
7452	// The AppInstanceUserArn of the member you want to add to the channel.
7453	//
7454	// MemberArn is a required field
7455	MemberArn *string `min:"5" type:"string" required:"true"`
7456
7457	// The membership type of a user, DEFAULT or HIDDEN. Default members are always
7458	// returned as part of ListChannelMemberships. Hidden members are only returned
7459	// if the type filter in ListChannelMemberships equals HIDDEN. Otherwise hidden
7460	// members are not returned. This is only supported by moderators.
7461	//
7462	// Type is a required field
7463	Type *string `type:"string" required:"true" enum:"ChannelMembershipType"`
7464}
7465
7466// String returns the string representation.
7467//
7468// API parameter values that are decorated as "sensitive" in the API will not
7469// be included in the string output. The member name will be present, but the
7470// value will be replaced with "sensitive".
7471func (s CreateChannelMembershipInput) String() string {
7472	return awsutil.Prettify(s)
7473}
7474
7475// GoString returns the string representation.
7476//
7477// API parameter values that are decorated as "sensitive" in the API will not
7478// be included in the string output. The member name will be present, but the
7479// value will be replaced with "sensitive".
7480func (s CreateChannelMembershipInput) GoString() string {
7481	return s.String()
7482}
7483
7484// Validate inspects the fields of the type to determine if they are valid.
7485func (s *CreateChannelMembershipInput) Validate() error {
7486	invalidParams := request.ErrInvalidParams{Context: "CreateChannelMembershipInput"}
7487	if s.ChannelArn == nil {
7488		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
7489	}
7490	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
7491		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
7492	}
7493	if s.ChimeBearer == nil {
7494		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
7495	}
7496	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
7497		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
7498	}
7499	if s.MemberArn == nil {
7500		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
7501	}
7502	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
7503		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
7504	}
7505	if s.Type == nil {
7506		invalidParams.Add(request.NewErrParamRequired("Type"))
7507	}
7508
7509	if invalidParams.Len() > 0 {
7510		return invalidParams
7511	}
7512	return nil
7513}
7514
7515// SetChannelArn sets the ChannelArn field's value.
7516func (s *CreateChannelMembershipInput) SetChannelArn(v string) *CreateChannelMembershipInput {
7517	s.ChannelArn = &v
7518	return s
7519}
7520
7521// SetChimeBearer sets the ChimeBearer field's value.
7522func (s *CreateChannelMembershipInput) SetChimeBearer(v string) *CreateChannelMembershipInput {
7523	s.ChimeBearer = &v
7524	return s
7525}
7526
7527// SetMemberArn sets the MemberArn field's value.
7528func (s *CreateChannelMembershipInput) SetMemberArn(v string) *CreateChannelMembershipInput {
7529	s.MemberArn = &v
7530	return s
7531}
7532
7533// SetType sets the Type field's value.
7534func (s *CreateChannelMembershipInput) SetType(v string) *CreateChannelMembershipInput {
7535	s.Type = &v
7536	return s
7537}
7538
7539type CreateChannelMembershipOutput struct {
7540	_ struct{} `type:"structure"`
7541
7542	// The ARN of the channel.
7543	ChannelArn *string `min:"5" type:"string"`
7544
7545	// The ARN and metadata of the member being added.
7546	Member *Identity `type:"structure"`
7547}
7548
7549// String returns the string representation.
7550//
7551// API parameter values that are decorated as "sensitive" in the API will not
7552// be included in the string output. The member name will be present, but the
7553// value will be replaced with "sensitive".
7554func (s CreateChannelMembershipOutput) String() string {
7555	return awsutil.Prettify(s)
7556}
7557
7558// GoString returns the string representation.
7559//
7560// API parameter values that are decorated as "sensitive" in the API will not
7561// be included in the string output. The member name will be present, but the
7562// value will be replaced with "sensitive".
7563func (s CreateChannelMembershipOutput) GoString() string {
7564	return s.String()
7565}
7566
7567// SetChannelArn sets the ChannelArn field's value.
7568func (s *CreateChannelMembershipOutput) SetChannelArn(v string) *CreateChannelMembershipOutput {
7569	s.ChannelArn = &v
7570	return s
7571}
7572
7573// SetMember sets the Member field's value.
7574func (s *CreateChannelMembershipOutput) SetMember(v *Identity) *CreateChannelMembershipOutput {
7575	s.Member = v
7576	return s
7577}
7578
7579type CreateChannelModeratorInput struct {
7580	_ struct{} `type:"structure"`
7581
7582	// The ARN of the channel.
7583	//
7584	// ChannelArn is a required field
7585	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
7586
7587	// The AppInstanceUserArn of the moderator.
7588	//
7589	// ChannelModeratorArn is a required field
7590	ChannelModeratorArn *string `min:"5" type:"string" required:"true"`
7591
7592	// The AppInstanceUserArn of the user that makes the API call.
7593	//
7594	// ChimeBearer is a required field
7595	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
7596}
7597
7598// String returns the string representation.
7599//
7600// API parameter values that are decorated as "sensitive" in the API will not
7601// be included in the string output. The member name will be present, but the
7602// value will be replaced with "sensitive".
7603func (s CreateChannelModeratorInput) String() string {
7604	return awsutil.Prettify(s)
7605}
7606
7607// GoString returns the string representation.
7608//
7609// API parameter values that are decorated as "sensitive" in the API will not
7610// be included in the string output. The member name will be present, but the
7611// value will be replaced with "sensitive".
7612func (s CreateChannelModeratorInput) GoString() string {
7613	return s.String()
7614}
7615
7616// Validate inspects the fields of the type to determine if they are valid.
7617func (s *CreateChannelModeratorInput) Validate() error {
7618	invalidParams := request.ErrInvalidParams{Context: "CreateChannelModeratorInput"}
7619	if s.ChannelArn == nil {
7620		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
7621	}
7622	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
7623		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
7624	}
7625	if s.ChannelModeratorArn == nil {
7626		invalidParams.Add(request.NewErrParamRequired("ChannelModeratorArn"))
7627	}
7628	if s.ChannelModeratorArn != nil && len(*s.ChannelModeratorArn) < 5 {
7629		invalidParams.Add(request.NewErrParamMinLen("ChannelModeratorArn", 5))
7630	}
7631	if s.ChimeBearer == nil {
7632		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
7633	}
7634	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
7635		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
7636	}
7637
7638	if invalidParams.Len() > 0 {
7639		return invalidParams
7640	}
7641	return nil
7642}
7643
7644// SetChannelArn sets the ChannelArn field's value.
7645func (s *CreateChannelModeratorInput) SetChannelArn(v string) *CreateChannelModeratorInput {
7646	s.ChannelArn = &v
7647	return s
7648}
7649
7650// SetChannelModeratorArn sets the ChannelModeratorArn field's value.
7651func (s *CreateChannelModeratorInput) SetChannelModeratorArn(v string) *CreateChannelModeratorInput {
7652	s.ChannelModeratorArn = &v
7653	return s
7654}
7655
7656// SetChimeBearer sets the ChimeBearer field's value.
7657func (s *CreateChannelModeratorInput) SetChimeBearer(v string) *CreateChannelModeratorInput {
7658	s.ChimeBearer = &v
7659	return s
7660}
7661
7662type CreateChannelModeratorOutput struct {
7663	_ struct{} `type:"structure"`
7664
7665	// The ARN of the channel.
7666	ChannelArn *string `min:"5" type:"string"`
7667
7668	// The ARNs of the channel and the moderator.
7669	ChannelModerator *Identity `type:"structure"`
7670}
7671
7672// String returns the string representation.
7673//
7674// API parameter values that are decorated as "sensitive" in the API will not
7675// be included in the string output. The member name will be present, but the
7676// value will be replaced with "sensitive".
7677func (s CreateChannelModeratorOutput) String() string {
7678	return awsutil.Prettify(s)
7679}
7680
7681// GoString returns the string representation.
7682//
7683// API parameter values that are decorated as "sensitive" in the API will not
7684// be included in the string output. The member name will be present, but the
7685// value will be replaced with "sensitive".
7686func (s CreateChannelModeratorOutput) GoString() string {
7687	return s.String()
7688}
7689
7690// SetChannelArn sets the ChannelArn field's value.
7691func (s *CreateChannelModeratorOutput) SetChannelArn(v string) *CreateChannelModeratorOutput {
7692	s.ChannelArn = &v
7693	return s
7694}
7695
7696// SetChannelModerator sets the ChannelModerator field's value.
7697func (s *CreateChannelModeratorOutput) SetChannelModerator(v *Identity) *CreateChannelModeratorOutput {
7698	s.ChannelModerator = v
7699	return s
7700}
7701
7702type CreateChannelOutput struct {
7703	_ struct{} `type:"structure"`
7704
7705	// The ARN of the channel.
7706	ChannelArn *string `min:"5" type:"string"`
7707}
7708
7709// String returns the string representation.
7710//
7711// API parameter values that are decorated as "sensitive" in the API will not
7712// be included in the string output. The member name will be present, but the
7713// value will be replaced with "sensitive".
7714func (s CreateChannelOutput) String() string {
7715	return awsutil.Prettify(s)
7716}
7717
7718// GoString returns the string representation.
7719//
7720// API parameter values that are decorated as "sensitive" in the API will not
7721// be included in the string output. The member name will be present, but the
7722// value will be replaced with "sensitive".
7723func (s CreateChannelOutput) GoString() string {
7724	return s.String()
7725}
7726
7727// SetChannelArn sets the ChannelArn field's value.
7728func (s *CreateChannelOutput) SetChannelArn(v string) *CreateChannelOutput {
7729	s.ChannelArn = &v
7730	return s
7731}
7732
7733type DeleteChannelBanInput struct {
7734	_ struct{} `type:"structure" nopayload:"true"`
7735
7736	// The ARN of the channel from which the AppInstanceUser was banned.
7737	//
7738	// ChannelArn is a required field
7739	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
7740
7741	// The AppInstanceUserArn of the user that makes the API call.
7742	//
7743	// ChimeBearer is a required field
7744	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
7745
7746	// The ARN of the AppInstanceUser that you want to reinstate.
7747	//
7748	// MemberArn is a required field
7749	MemberArn *string `location:"uri" locationName:"memberArn" min:"5" type:"string" required:"true"`
7750}
7751
7752// String returns the string representation.
7753//
7754// API parameter values that are decorated as "sensitive" in the API will not
7755// be included in the string output. The member name will be present, but the
7756// value will be replaced with "sensitive".
7757func (s DeleteChannelBanInput) String() string {
7758	return awsutil.Prettify(s)
7759}
7760
7761// GoString returns the string representation.
7762//
7763// API parameter values that are decorated as "sensitive" in the API will not
7764// be included in the string output. The member name will be present, but the
7765// value will be replaced with "sensitive".
7766func (s DeleteChannelBanInput) GoString() string {
7767	return s.String()
7768}
7769
7770// Validate inspects the fields of the type to determine if they are valid.
7771func (s *DeleteChannelBanInput) Validate() error {
7772	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelBanInput"}
7773	if s.ChannelArn == nil {
7774		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
7775	}
7776	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
7777		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
7778	}
7779	if s.ChimeBearer == nil {
7780		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
7781	}
7782	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
7783		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
7784	}
7785	if s.MemberArn == nil {
7786		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
7787	}
7788	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
7789		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
7790	}
7791
7792	if invalidParams.Len() > 0 {
7793		return invalidParams
7794	}
7795	return nil
7796}
7797
7798// SetChannelArn sets the ChannelArn field's value.
7799func (s *DeleteChannelBanInput) SetChannelArn(v string) *DeleteChannelBanInput {
7800	s.ChannelArn = &v
7801	return s
7802}
7803
7804// SetChimeBearer sets the ChimeBearer field's value.
7805func (s *DeleteChannelBanInput) SetChimeBearer(v string) *DeleteChannelBanInput {
7806	s.ChimeBearer = &v
7807	return s
7808}
7809
7810// SetMemberArn sets the MemberArn field's value.
7811func (s *DeleteChannelBanInput) SetMemberArn(v string) *DeleteChannelBanInput {
7812	s.MemberArn = &v
7813	return s
7814}
7815
7816type DeleteChannelBanOutput struct {
7817	_ struct{} `type:"structure"`
7818}
7819
7820// String returns the string representation.
7821//
7822// API parameter values that are decorated as "sensitive" in the API will not
7823// be included in the string output. The member name will be present, but the
7824// value will be replaced with "sensitive".
7825func (s DeleteChannelBanOutput) String() string {
7826	return awsutil.Prettify(s)
7827}
7828
7829// GoString returns the string representation.
7830//
7831// API parameter values that are decorated as "sensitive" in the API will not
7832// be included in the string output. The member name will be present, but the
7833// value will be replaced with "sensitive".
7834func (s DeleteChannelBanOutput) GoString() string {
7835	return s.String()
7836}
7837
7838type DeleteChannelFlowInput struct {
7839	_ struct{} `type:"structure" nopayload:"true"`
7840
7841	// The ARN of the channel flow.
7842	//
7843	// ChannelFlowArn is a required field
7844	ChannelFlowArn *string `location:"uri" locationName:"channelFlowArn" min:"5" type:"string" required:"true"`
7845}
7846
7847// String returns the string representation.
7848//
7849// API parameter values that are decorated as "sensitive" in the API will not
7850// be included in the string output. The member name will be present, but the
7851// value will be replaced with "sensitive".
7852func (s DeleteChannelFlowInput) String() string {
7853	return awsutil.Prettify(s)
7854}
7855
7856// GoString returns the string representation.
7857//
7858// API parameter values that are decorated as "sensitive" in the API will not
7859// be included in the string output. The member name will be present, but the
7860// value will be replaced with "sensitive".
7861func (s DeleteChannelFlowInput) GoString() string {
7862	return s.String()
7863}
7864
7865// Validate inspects the fields of the type to determine if they are valid.
7866func (s *DeleteChannelFlowInput) Validate() error {
7867	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelFlowInput"}
7868	if s.ChannelFlowArn == nil {
7869		invalidParams.Add(request.NewErrParamRequired("ChannelFlowArn"))
7870	}
7871	if s.ChannelFlowArn != nil && len(*s.ChannelFlowArn) < 5 {
7872		invalidParams.Add(request.NewErrParamMinLen("ChannelFlowArn", 5))
7873	}
7874
7875	if invalidParams.Len() > 0 {
7876		return invalidParams
7877	}
7878	return nil
7879}
7880
7881// SetChannelFlowArn sets the ChannelFlowArn field's value.
7882func (s *DeleteChannelFlowInput) SetChannelFlowArn(v string) *DeleteChannelFlowInput {
7883	s.ChannelFlowArn = &v
7884	return s
7885}
7886
7887type DeleteChannelFlowOutput struct {
7888	_ struct{} `type:"structure"`
7889}
7890
7891// String returns the string representation.
7892//
7893// API parameter values that are decorated as "sensitive" in the API will not
7894// be included in the string output. The member name will be present, but the
7895// value will be replaced with "sensitive".
7896func (s DeleteChannelFlowOutput) String() string {
7897	return awsutil.Prettify(s)
7898}
7899
7900// GoString returns the string representation.
7901//
7902// API parameter values that are decorated as "sensitive" in the API will not
7903// be included in the string output. The member name will be present, but the
7904// value will be replaced with "sensitive".
7905func (s DeleteChannelFlowOutput) GoString() string {
7906	return s.String()
7907}
7908
7909type DeleteChannelInput struct {
7910	_ struct{} `type:"structure" nopayload:"true"`
7911
7912	// The ARN of the channel being deleted.
7913	//
7914	// ChannelArn is a required field
7915	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
7916
7917	// The AppInstanceUserArn of the user that makes the API call.
7918	//
7919	// ChimeBearer is a required field
7920	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
7921}
7922
7923// String returns the string representation.
7924//
7925// API parameter values that are decorated as "sensitive" in the API will not
7926// be included in the string output. The member name will be present, but the
7927// value will be replaced with "sensitive".
7928func (s DeleteChannelInput) String() string {
7929	return awsutil.Prettify(s)
7930}
7931
7932// GoString returns the string representation.
7933//
7934// API parameter values that are decorated as "sensitive" in the API will not
7935// be included in the string output. The member name will be present, but the
7936// value will be replaced with "sensitive".
7937func (s DeleteChannelInput) GoString() string {
7938	return s.String()
7939}
7940
7941// Validate inspects the fields of the type to determine if they are valid.
7942func (s *DeleteChannelInput) Validate() error {
7943	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"}
7944	if s.ChannelArn == nil {
7945		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
7946	}
7947	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
7948		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
7949	}
7950	if s.ChimeBearer == nil {
7951		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
7952	}
7953	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
7954		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
7955	}
7956
7957	if invalidParams.Len() > 0 {
7958		return invalidParams
7959	}
7960	return nil
7961}
7962
7963// SetChannelArn sets the ChannelArn field's value.
7964func (s *DeleteChannelInput) SetChannelArn(v string) *DeleteChannelInput {
7965	s.ChannelArn = &v
7966	return s
7967}
7968
7969// SetChimeBearer sets the ChimeBearer field's value.
7970func (s *DeleteChannelInput) SetChimeBearer(v string) *DeleteChannelInput {
7971	s.ChimeBearer = &v
7972	return s
7973}
7974
7975type DeleteChannelMembershipInput struct {
7976	_ struct{} `type:"structure" nopayload:"true"`
7977
7978	// The ARN of the channel from which you want to remove the user.
7979	//
7980	// ChannelArn is a required field
7981	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
7982
7983	// The AppInstanceUserArn of the user that makes the API call.
7984	//
7985	// ChimeBearer is a required field
7986	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
7987
7988	// The AppInstanceUserArn of the member that you're removing from the channel.
7989	//
7990	// MemberArn is a required field
7991	MemberArn *string `location:"uri" locationName:"memberArn" min:"5" type:"string" required:"true"`
7992}
7993
7994// String returns the string representation.
7995//
7996// API parameter values that are decorated as "sensitive" in the API will not
7997// be included in the string output. The member name will be present, but the
7998// value will be replaced with "sensitive".
7999func (s DeleteChannelMembershipInput) String() string {
8000	return awsutil.Prettify(s)
8001}
8002
8003// GoString returns the string representation.
8004//
8005// API parameter values that are decorated as "sensitive" in the API will not
8006// be included in the string output. The member name will be present, but the
8007// value will be replaced with "sensitive".
8008func (s DeleteChannelMembershipInput) GoString() string {
8009	return s.String()
8010}
8011
8012// Validate inspects the fields of the type to determine if they are valid.
8013func (s *DeleteChannelMembershipInput) Validate() error {
8014	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelMembershipInput"}
8015	if s.ChannelArn == nil {
8016		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8017	}
8018	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8019		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8020	}
8021	if s.ChimeBearer == nil {
8022		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8023	}
8024	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8025		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8026	}
8027	if s.MemberArn == nil {
8028		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
8029	}
8030	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
8031		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
8032	}
8033
8034	if invalidParams.Len() > 0 {
8035		return invalidParams
8036	}
8037	return nil
8038}
8039
8040// SetChannelArn sets the ChannelArn field's value.
8041func (s *DeleteChannelMembershipInput) SetChannelArn(v string) *DeleteChannelMembershipInput {
8042	s.ChannelArn = &v
8043	return s
8044}
8045
8046// SetChimeBearer sets the ChimeBearer field's value.
8047func (s *DeleteChannelMembershipInput) SetChimeBearer(v string) *DeleteChannelMembershipInput {
8048	s.ChimeBearer = &v
8049	return s
8050}
8051
8052// SetMemberArn sets the MemberArn field's value.
8053func (s *DeleteChannelMembershipInput) SetMemberArn(v string) *DeleteChannelMembershipInput {
8054	s.MemberArn = &v
8055	return s
8056}
8057
8058type DeleteChannelMembershipOutput struct {
8059	_ struct{} `type:"structure"`
8060}
8061
8062// String returns the string representation.
8063//
8064// API parameter values that are decorated as "sensitive" in the API will not
8065// be included in the string output. The member name will be present, but the
8066// value will be replaced with "sensitive".
8067func (s DeleteChannelMembershipOutput) String() string {
8068	return awsutil.Prettify(s)
8069}
8070
8071// GoString returns the string representation.
8072//
8073// API parameter values that are decorated as "sensitive" in the API will not
8074// be included in the string output. The member name will be present, but the
8075// value will be replaced with "sensitive".
8076func (s DeleteChannelMembershipOutput) GoString() string {
8077	return s.String()
8078}
8079
8080type DeleteChannelMessageInput struct {
8081	_ struct{} `type:"structure" nopayload:"true"`
8082
8083	// The ARN of the channel.
8084	//
8085	// ChannelArn is a required field
8086	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8087
8088	// The AppInstanceUserArn of the user that makes the API call.
8089	//
8090	// ChimeBearer is a required field
8091	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8092
8093	// The ID of the message being deleted.
8094	//
8095	// MessageId is a required field
8096	MessageId *string `location:"uri" locationName:"messageId" min:"1" type:"string" required:"true"`
8097}
8098
8099// String returns the string representation.
8100//
8101// API parameter values that are decorated as "sensitive" in the API will not
8102// be included in the string output. The member name will be present, but the
8103// value will be replaced with "sensitive".
8104func (s DeleteChannelMessageInput) String() string {
8105	return awsutil.Prettify(s)
8106}
8107
8108// GoString returns the string representation.
8109//
8110// API parameter values that are decorated as "sensitive" in the API will not
8111// be included in the string output. The member name will be present, but the
8112// value will be replaced with "sensitive".
8113func (s DeleteChannelMessageInput) GoString() string {
8114	return s.String()
8115}
8116
8117// Validate inspects the fields of the type to determine if they are valid.
8118func (s *DeleteChannelMessageInput) Validate() error {
8119	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelMessageInput"}
8120	if s.ChannelArn == nil {
8121		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8122	}
8123	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8124		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8125	}
8126	if s.ChimeBearer == nil {
8127		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8128	}
8129	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8130		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8131	}
8132	if s.MessageId == nil {
8133		invalidParams.Add(request.NewErrParamRequired("MessageId"))
8134	}
8135	if s.MessageId != nil && len(*s.MessageId) < 1 {
8136		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
8137	}
8138
8139	if invalidParams.Len() > 0 {
8140		return invalidParams
8141	}
8142	return nil
8143}
8144
8145// SetChannelArn sets the ChannelArn field's value.
8146func (s *DeleteChannelMessageInput) SetChannelArn(v string) *DeleteChannelMessageInput {
8147	s.ChannelArn = &v
8148	return s
8149}
8150
8151// SetChimeBearer sets the ChimeBearer field's value.
8152func (s *DeleteChannelMessageInput) SetChimeBearer(v string) *DeleteChannelMessageInput {
8153	s.ChimeBearer = &v
8154	return s
8155}
8156
8157// SetMessageId sets the MessageId field's value.
8158func (s *DeleteChannelMessageInput) SetMessageId(v string) *DeleteChannelMessageInput {
8159	s.MessageId = &v
8160	return s
8161}
8162
8163type DeleteChannelMessageOutput struct {
8164	_ struct{} `type:"structure"`
8165}
8166
8167// String returns the string representation.
8168//
8169// API parameter values that are decorated as "sensitive" in the API will not
8170// be included in the string output. The member name will be present, but the
8171// value will be replaced with "sensitive".
8172func (s DeleteChannelMessageOutput) String() string {
8173	return awsutil.Prettify(s)
8174}
8175
8176// GoString returns the string representation.
8177//
8178// API parameter values that are decorated as "sensitive" in the API will not
8179// be included in the string output. The member name will be present, but the
8180// value will be replaced with "sensitive".
8181func (s DeleteChannelMessageOutput) GoString() string {
8182	return s.String()
8183}
8184
8185type DeleteChannelModeratorInput struct {
8186	_ struct{} `type:"structure" nopayload:"true"`
8187
8188	// The ARN of the channel.
8189	//
8190	// ChannelArn is a required field
8191	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8192
8193	// The AppInstanceUserArn of the moderator being deleted.
8194	//
8195	// ChannelModeratorArn is a required field
8196	ChannelModeratorArn *string `location:"uri" locationName:"channelModeratorArn" min:"5" type:"string" required:"true"`
8197
8198	// The AppInstanceUserArn of the user that makes the API call.
8199	//
8200	// ChimeBearer is a required field
8201	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8202}
8203
8204// String returns the string representation.
8205//
8206// API parameter values that are decorated as "sensitive" in the API will not
8207// be included in the string output. The member name will be present, but the
8208// value will be replaced with "sensitive".
8209func (s DeleteChannelModeratorInput) String() string {
8210	return awsutil.Prettify(s)
8211}
8212
8213// GoString returns the string representation.
8214//
8215// API parameter values that are decorated as "sensitive" in the API will not
8216// be included in the string output. The member name will be present, but the
8217// value will be replaced with "sensitive".
8218func (s DeleteChannelModeratorInput) GoString() string {
8219	return s.String()
8220}
8221
8222// Validate inspects the fields of the type to determine if they are valid.
8223func (s *DeleteChannelModeratorInput) Validate() error {
8224	invalidParams := request.ErrInvalidParams{Context: "DeleteChannelModeratorInput"}
8225	if s.ChannelArn == nil {
8226		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8227	}
8228	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8229		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8230	}
8231	if s.ChannelModeratorArn == nil {
8232		invalidParams.Add(request.NewErrParamRequired("ChannelModeratorArn"))
8233	}
8234	if s.ChannelModeratorArn != nil && len(*s.ChannelModeratorArn) < 5 {
8235		invalidParams.Add(request.NewErrParamMinLen("ChannelModeratorArn", 5))
8236	}
8237	if s.ChimeBearer == nil {
8238		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8239	}
8240	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8241		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8242	}
8243
8244	if invalidParams.Len() > 0 {
8245		return invalidParams
8246	}
8247	return nil
8248}
8249
8250// SetChannelArn sets the ChannelArn field's value.
8251func (s *DeleteChannelModeratorInput) SetChannelArn(v string) *DeleteChannelModeratorInput {
8252	s.ChannelArn = &v
8253	return s
8254}
8255
8256// SetChannelModeratorArn sets the ChannelModeratorArn field's value.
8257func (s *DeleteChannelModeratorInput) SetChannelModeratorArn(v string) *DeleteChannelModeratorInput {
8258	s.ChannelModeratorArn = &v
8259	return s
8260}
8261
8262// SetChimeBearer sets the ChimeBearer field's value.
8263func (s *DeleteChannelModeratorInput) SetChimeBearer(v string) *DeleteChannelModeratorInput {
8264	s.ChimeBearer = &v
8265	return s
8266}
8267
8268type DeleteChannelModeratorOutput struct {
8269	_ struct{} `type:"structure"`
8270}
8271
8272// String returns the string representation.
8273//
8274// API parameter values that are decorated as "sensitive" in the API will not
8275// be included in the string output. The member name will be present, but the
8276// value will be replaced with "sensitive".
8277func (s DeleteChannelModeratorOutput) String() string {
8278	return awsutil.Prettify(s)
8279}
8280
8281// GoString returns the string representation.
8282//
8283// API parameter values that are decorated as "sensitive" in the API will not
8284// be included in the string output. The member name will be present, but the
8285// value will be replaced with "sensitive".
8286func (s DeleteChannelModeratorOutput) GoString() string {
8287	return s.String()
8288}
8289
8290type DeleteChannelOutput struct {
8291	_ struct{} `type:"structure"`
8292}
8293
8294// String returns the string representation.
8295//
8296// API parameter values that are decorated as "sensitive" in the API will not
8297// be included in the string output. The member name will be present, but the
8298// value will be replaced with "sensitive".
8299func (s DeleteChannelOutput) String() string {
8300	return awsutil.Prettify(s)
8301}
8302
8303// GoString returns the string representation.
8304//
8305// API parameter values that are decorated as "sensitive" in the API will not
8306// be included in the string output. The member name will be present, but the
8307// value will be replaced with "sensitive".
8308func (s DeleteChannelOutput) GoString() string {
8309	return s.String()
8310}
8311
8312type DescribeChannelBanInput struct {
8313	_ struct{} `type:"structure" nopayload:"true"`
8314
8315	// The ARN of the channel from which the user is banned.
8316	//
8317	// ChannelArn is a required field
8318	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8319
8320	// The AppInstanceUserArn of the user that makes the API call.
8321	//
8322	// ChimeBearer is a required field
8323	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8324
8325	// The AppInstanceUserArn of the member being banned.
8326	//
8327	// MemberArn is a required field
8328	MemberArn *string `location:"uri" locationName:"memberArn" min:"5" type:"string" required:"true"`
8329}
8330
8331// String returns the string representation.
8332//
8333// API parameter values that are decorated as "sensitive" in the API will not
8334// be included in the string output. The member name will be present, but the
8335// value will be replaced with "sensitive".
8336func (s DescribeChannelBanInput) String() string {
8337	return awsutil.Prettify(s)
8338}
8339
8340// GoString returns the string representation.
8341//
8342// API parameter values that are decorated as "sensitive" in the API will not
8343// be included in the string output. The member name will be present, but the
8344// value will be replaced with "sensitive".
8345func (s DescribeChannelBanInput) GoString() string {
8346	return s.String()
8347}
8348
8349// Validate inspects the fields of the type to determine if they are valid.
8350func (s *DescribeChannelBanInput) Validate() error {
8351	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelBanInput"}
8352	if s.ChannelArn == nil {
8353		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8354	}
8355	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8356		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8357	}
8358	if s.ChimeBearer == nil {
8359		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8360	}
8361	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8362		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8363	}
8364	if s.MemberArn == nil {
8365		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
8366	}
8367	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
8368		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
8369	}
8370
8371	if invalidParams.Len() > 0 {
8372		return invalidParams
8373	}
8374	return nil
8375}
8376
8377// SetChannelArn sets the ChannelArn field's value.
8378func (s *DescribeChannelBanInput) SetChannelArn(v string) *DescribeChannelBanInput {
8379	s.ChannelArn = &v
8380	return s
8381}
8382
8383// SetChimeBearer sets the ChimeBearer field's value.
8384func (s *DescribeChannelBanInput) SetChimeBearer(v string) *DescribeChannelBanInput {
8385	s.ChimeBearer = &v
8386	return s
8387}
8388
8389// SetMemberArn sets the MemberArn field's value.
8390func (s *DescribeChannelBanInput) SetMemberArn(v string) *DescribeChannelBanInput {
8391	s.MemberArn = &v
8392	return s
8393}
8394
8395type DescribeChannelBanOutput struct {
8396	_ struct{} `type:"structure"`
8397
8398	// The details of the ban.
8399	ChannelBan *ChannelBan `type:"structure"`
8400}
8401
8402// String returns the string representation.
8403//
8404// API parameter values that are decorated as "sensitive" in the API will not
8405// be included in the string output. The member name will be present, but the
8406// value will be replaced with "sensitive".
8407func (s DescribeChannelBanOutput) String() string {
8408	return awsutil.Prettify(s)
8409}
8410
8411// GoString returns the string representation.
8412//
8413// API parameter values that are decorated as "sensitive" in the API will not
8414// be included in the string output. The member name will be present, but the
8415// value will be replaced with "sensitive".
8416func (s DescribeChannelBanOutput) GoString() string {
8417	return s.String()
8418}
8419
8420// SetChannelBan sets the ChannelBan field's value.
8421func (s *DescribeChannelBanOutput) SetChannelBan(v *ChannelBan) *DescribeChannelBanOutput {
8422	s.ChannelBan = v
8423	return s
8424}
8425
8426type DescribeChannelFlowInput struct {
8427	_ struct{} `type:"structure" nopayload:"true"`
8428
8429	// The ARN of the channel flow.
8430	//
8431	// ChannelFlowArn is a required field
8432	ChannelFlowArn *string `location:"uri" locationName:"channelFlowArn" min:"5" type:"string" required:"true"`
8433}
8434
8435// String returns the string representation.
8436//
8437// API parameter values that are decorated as "sensitive" in the API will not
8438// be included in the string output. The member name will be present, but the
8439// value will be replaced with "sensitive".
8440func (s DescribeChannelFlowInput) String() string {
8441	return awsutil.Prettify(s)
8442}
8443
8444// GoString returns the string representation.
8445//
8446// API parameter values that are decorated as "sensitive" in the API will not
8447// be included in the string output. The member name will be present, but the
8448// value will be replaced with "sensitive".
8449func (s DescribeChannelFlowInput) GoString() string {
8450	return s.String()
8451}
8452
8453// Validate inspects the fields of the type to determine if they are valid.
8454func (s *DescribeChannelFlowInput) Validate() error {
8455	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelFlowInput"}
8456	if s.ChannelFlowArn == nil {
8457		invalidParams.Add(request.NewErrParamRequired("ChannelFlowArn"))
8458	}
8459	if s.ChannelFlowArn != nil && len(*s.ChannelFlowArn) < 5 {
8460		invalidParams.Add(request.NewErrParamMinLen("ChannelFlowArn", 5))
8461	}
8462
8463	if invalidParams.Len() > 0 {
8464		return invalidParams
8465	}
8466	return nil
8467}
8468
8469// SetChannelFlowArn sets the ChannelFlowArn field's value.
8470func (s *DescribeChannelFlowInput) SetChannelFlowArn(v string) *DescribeChannelFlowInput {
8471	s.ChannelFlowArn = &v
8472	return s
8473}
8474
8475type DescribeChannelFlowOutput struct {
8476	_ struct{} `type:"structure"`
8477
8478	// The channel flow details.
8479	ChannelFlow *ChannelFlow `type:"structure"`
8480}
8481
8482// String returns the string representation.
8483//
8484// API parameter values that are decorated as "sensitive" in the API will not
8485// be included in the string output. The member name will be present, but the
8486// value will be replaced with "sensitive".
8487func (s DescribeChannelFlowOutput) String() string {
8488	return awsutil.Prettify(s)
8489}
8490
8491// GoString returns the string representation.
8492//
8493// API parameter values that are decorated as "sensitive" in the API will not
8494// be included in the string output. The member name will be present, but the
8495// value will be replaced with "sensitive".
8496func (s DescribeChannelFlowOutput) GoString() string {
8497	return s.String()
8498}
8499
8500// SetChannelFlow sets the ChannelFlow field's value.
8501func (s *DescribeChannelFlowOutput) SetChannelFlow(v *ChannelFlow) *DescribeChannelFlowOutput {
8502	s.ChannelFlow = v
8503	return s
8504}
8505
8506type DescribeChannelInput struct {
8507	_ struct{} `type:"structure" nopayload:"true"`
8508
8509	// The ARN of the channel.
8510	//
8511	// ChannelArn is a required field
8512	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8513
8514	// The AppInstanceUserArn of the user that makes the API call.
8515	//
8516	// ChimeBearer is a required field
8517	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8518}
8519
8520// String returns the string representation.
8521//
8522// API parameter values that are decorated as "sensitive" in the API will not
8523// be included in the string output. The member name will be present, but the
8524// value will be replaced with "sensitive".
8525func (s DescribeChannelInput) String() string {
8526	return awsutil.Prettify(s)
8527}
8528
8529// GoString returns the string representation.
8530//
8531// API parameter values that are decorated as "sensitive" in the API will not
8532// be included in the string output. The member name will be present, but the
8533// value will be replaced with "sensitive".
8534func (s DescribeChannelInput) GoString() string {
8535	return s.String()
8536}
8537
8538// Validate inspects the fields of the type to determine if they are valid.
8539func (s *DescribeChannelInput) Validate() error {
8540	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelInput"}
8541	if s.ChannelArn == nil {
8542		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8543	}
8544	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8545		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8546	}
8547	if s.ChimeBearer == nil {
8548		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8549	}
8550	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8551		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8552	}
8553
8554	if invalidParams.Len() > 0 {
8555		return invalidParams
8556	}
8557	return nil
8558}
8559
8560// SetChannelArn sets the ChannelArn field's value.
8561func (s *DescribeChannelInput) SetChannelArn(v string) *DescribeChannelInput {
8562	s.ChannelArn = &v
8563	return s
8564}
8565
8566// SetChimeBearer sets the ChimeBearer field's value.
8567func (s *DescribeChannelInput) SetChimeBearer(v string) *DescribeChannelInput {
8568	s.ChimeBearer = &v
8569	return s
8570}
8571
8572type DescribeChannelMembershipForAppInstanceUserInput struct {
8573	_ struct{} `type:"structure" nopayload:"true"`
8574
8575	// The ARN of the user in a channel.
8576	//
8577	// AppInstanceUserArn is a required field
8578	AppInstanceUserArn *string `location:"querystring" locationName:"app-instance-user-arn" min:"5" type:"string" required:"true"`
8579
8580	// The ARN of the channel to which the user belongs.
8581	//
8582	// ChannelArn is a required field
8583	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8584
8585	// The AppInstanceUserArn of the user that makes the API call.
8586	//
8587	// ChimeBearer is a required field
8588	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8589}
8590
8591// String returns the string representation.
8592//
8593// API parameter values that are decorated as "sensitive" in the API will not
8594// be included in the string output. The member name will be present, but the
8595// value will be replaced with "sensitive".
8596func (s DescribeChannelMembershipForAppInstanceUserInput) String() string {
8597	return awsutil.Prettify(s)
8598}
8599
8600// GoString returns the string representation.
8601//
8602// API parameter values that are decorated as "sensitive" in the API will not
8603// be included in the string output. The member name will be present, but the
8604// value will be replaced with "sensitive".
8605func (s DescribeChannelMembershipForAppInstanceUserInput) GoString() string {
8606	return s.String()
8607}
8608
8609// Validate inspects the fields of the type to determine if they are valid.
8610func (s *DescribeChannelMembershipForAppInstanceUserInput) Validate() error {
8611	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelMembershipForAppInstanceUserInput"}
8612	if s.AppInstanceUserArn == nil {
8613		invalidParams.Add(request.NewErrParamRequired("AppInstanceUserArn"))
8614	}
8615	if s.AppInstanceUserArn != nil && len(*s.AppInstanceUserArn) < 5 {
8616		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserArn", 5))
8617	}
8618	if s.ChannelArn == nil {
8619		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8620	}
8621	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8622		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8623	}
8624	if s.ChimeBearer == nil {
8625		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8626	}
8627	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8628		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8629	}
8630
8631	if invalidParams.Len() > 0 {
8632		return invalidParams
8633	}
8634	return nil
8635}
8636
8637// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
8638func (s *DescribeChannelMembershipForAppInstanceUserInput) SetAppInstanceUserArn(v string) *DescribeChannelMembershipForAppInstanceUserInput {
8639	s.AppInstanceUserArn = &v
8640	return s
8641}
8642
8643// SetChannelArn sets the ChannelArn field's value.
8644func (s *DescribeChannelMembershipForAppInstanceUserInput) SetChannelArn(v string) *DescribeChannelMembershipForAppInstanceUserInput {
8645	s.ChannelArn = &v
8646	return s
8647}
8648
8649// SetChimeBearer sets the ChimeBearer field's value.
8650func (s *DescribeChannelMembershipForAppInstanceUserInput) SetChimeBearer(v string) *DescribeChannelMembershipForAppInstanceUserInput {
8651	s.ChimeBearer = &v
8652	return s
8653}
8654
8655type DescribeChannelMembershipForAppInstanceUserOutput struct {
8656	_ struct{} `type:"structure"`
8657
8658	// The channel to which a user belongs.
8659	ChannelMembership *ChannelMembershipForAppInstanceUserSummary `type:"structure"`
8660}
8661
8662// String returns the string representation.
8663//
8664// API parameter values that are decorated as "sensitive" in the API will not
8665// be included in the string output. The member name will be present, but the
8666// value will be replaced with "sensitive".
8667func (s DescribeChannelMembershipForAppInstanceUserOutput) String() string {
8668	return awsutil.Prettify(s)
8669}
8670
8671// GoString returns the string representation.
8672//
8673// API parameter values that are decorated as "sensitive" in the API will not
8674// be included in the string output. The member name will be present, but the
8675// value will be replaced with "sensitive".
8676func (s DescribeChannelMembershipForAppInstanceUserOutput) GoString() string {
8677	return s.String()
8678}
8679
8680// SetChannelMembership sets the ChannelMembership field's value.
8681func (s *DescribeChannelMembershipForAppInstanceUserOutput) SetChannelMembership(v *ChannelMembershipForAppInstanceUserSummary) *DescribeChannelMembershipForAppInstanceUserOutput {
8682	s.ChannelMembership = v
8683	return s
8684}
8685
8686type DescribeChannelMembershipInput struct {
8687	_ struct{} `type:"structure" nopayload:"true"`
8688
8689	// The ARN of the channel.
8690	//
8691	// ChannelArn is a required field
8692	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8693
8694	// The AppInstanceUserArn of the user that makes the API call.
8695	//
8696	// ChimeBearer is a required field
8697	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8698
8699	// The AppInstanceUserArn of the member.
8700	//
8701	// MemberArn is a required field
8702	MemberArn *string `location:"uri" locationName:"memberArn" min:"5" type:"string" required:"true"`
8703}
8704
8705// String returns the string representation.
8706//
8707// API parameter values that are decorated as "sensitive" in the API will not
8708// be included in the string output. The member name will be present, but the
8709// value will be replaced with "sensitive".
8710func (s DescribeChannelMembershipInput) String() string {
8711	return awsutil.Prettify(s)
8712}
8713
8714// GoString returns the string representation.
8715//
8716// API parameter values that are decorated as "sensitive" in the API will not
8717// be included in the string output. The member name will be present, but the
8718// value will be replaced with "sensitive".
8719func (s DescribeChannelMembershipInput) GoString() string {
8720	return s.String()
8721}
8722
8723// Validate inspects the fields of the type to determine if they are valid.
8724func (s *DescribeChannelMembershipInput) Validate() error {
8725	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelMembershipInput"}
8726	if s.ChannelArn == nil {
8727		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8728	}
8729	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8730		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8731	}
8732	if s.ChimeBearer == nil {
8733		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8734	}
8735	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8736		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8737	}
8738	if s.MemberArn == nil {
8739		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
8740	}
8741	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
8742		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
8743	}
8744
8745	if invalidParams.Len() > 0 {
8746		return invalidParams
8747	}
8748	return nil
8749}
8750
8751// SetChannelArn sets the ChannelArn field's value.
8752func (s *DescribeChannelMembershipInput) SetChannelArn(v string) *DescribeChannelMembershipInput {
8753	s.ChannelArn = &v
8754	return s
8755}
8756
8757// SetChimeBearer sets the ChimeBearer field's value.
8758func (s *DescribeChannelMembershipInput) SetChimeBearer(v string) *DescribeChannelMembershipInput {
8759	s.ChimeBearer = &v
8760	return s
8761}
8762
8763// SetMemberArn sets the MemberArn field's value.
8764func (s *DescribeChannelMembershipInput) SetMemberArn(v string) *DescribeChannelMembershipInput {
8765	s.MemberArn = &v
8766	return s
8767}
8768
8769type DescribeChannelMembershipOutput struct {
8770	_ struct{} `type:"structure"`
8771
8772	// The details of the membership.
8773	ChannelMembership *ChannelMembership `type:"structure"`
8774}
8775
8776// String returns the string representation.
8777//
8778// API parameter values that are decorated as "sensitive" in the API will not
8779// be included in the string output. The member name will be present, but the
8780// value will be replaced with "sensitive".
8781func (s DescribeChannelMembershipOutput) String() string {
8782	return awsutil.Prettify(s)
8783}
8784
8785// GoString returns the string representation.
8786//
8787// API parameter values that are decorated as "sensitive" in the API will not
8788// be included in the string output. The member name will be present, but the
8789// value will be replaced with "sensitive".
8790func (s DescribeChannelMembershipOutput) GoString() string {
8791	return s.String()
8792}
8793
8794// SetChannelMembership sets the ChannelMembership field's value.
8795func (s *DescribeChannelMembershipOutput) SetChannelMembership(v *ChannelMembership) *DescribeChannelMembershipOutput {
8796	s.ChannelMembership = v
8797	return s
8798}
8799
8800type DescribeChannelModeratedByAppInstanceUserInput struct {
8801	_ struct{} `type:"structure" nopayload:"true"`
8802
8803	// The ARN of the AppInstanceUser in the moderated channel.
8804	//
8805	// AppInstanceUserArn is a required field
8806	AppInstanceUserArn *string `location:"querystring" locationName:"app-instance-user-arn" min:"5" type:"string" required:"true"`
8807
8808	// The ARN of the moderated channel.
8809	//
8810	// ChannelArn is a required field
8811	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8812
8813	// The AppInstanceUserArn of the user that makes the API call.
8814	//
8815	// ChimeBearer is a required field
8816	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8817}
8818
8819// String returns the string representation.
8820//
8821// API parameter values that are decorated as "sensitive" in the API will not
8822// be included in the string output. The member name will be present, but the
8823// value will be replaced with "sensitive".
8824func (s DescribeChannelModeratedByAppInstanceUserInput) String() string {
8825	return awsutil.Prettify(s)
8826}
8827
8828// GoString returns the string representation.
8829//
8830// API parameter values that are decorated as "sensitive" in the API will not
8831// be included in the string output. The member name will be present, but the
8832// value will be replaced with "sensitive".
8833func (s DescribeChannelModeratedByAppInstanceUserInput) GoString() string {
8834	return s.String()
8835}
8836
8837// Validate inspects the fields of the type to determine if they are valid.
8838func (s *DescribeChannelModeratedByAppInstanceUserInput) Validate() error {
8839	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelModeratedByAppInstanceUserInput"}
8840	if s.AppInstanceUserArn == nil {
8841		invalidParams.Add(request.NewErrParamRequired("AppInstanceUserArn"))
8842	}
8843	if s.AppInstanceUserArn != nil && len(*s.AppInstanceUserArn) < 5 {
8844		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserArn", 5))
8845	}
8846	if s.ChannelArn == nil {
8847		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8848	}
8849	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8850		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8851	}
8852	if s.ChimeBearer == nil {
8853		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8854	}
8855	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8856		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8857	}
8858
8859	if invalidParams.Len() > 0 {
8860		return invalidParams
8861	}
8862	return nil
8863}
8864
8865// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
8866func (s *DescribeChannelModeratedByAppInstanceUserInput) SetAppInstanceUserArn(v string) *DescribeChannelModeratedByAppInstanceUserInput {
8867	s.AppInstanceUserArn = &v
8868	return s
8869}
8870
8871// SetChannelArn sets the ChannelArn field's value.
8872func (s *DescribeChannelModeratedByAppInstanceUserInput) SetChannelArn(v string) *DescribeChannelModeratedByAppInstanceUserInput {
8873	s.ChannelArn = &v
8874	return s
8875}
8876
8877// SetChimeBearer sets the ChimeBearer field's value.
8878func (s *DescribeChannelModeratedByAppInstanceUserInput) SetChimeBearer(v string) *DescribeChannelModeratedByAppInstanceUserInput {
8879	s.ChimeBearer = &v
8880	return s
8881}
8882
8883type DescribeChannelModeratedByAppInstanceUserOutput struct {
8884	_ struct{} `type:"structure"`
8885
8886	// The moderated channel.
8887	Channel *ChannelModeratedByAppInstanceUserSummary `type:"structure"`
8888}
8889
8890// String returns the string representation.
8891//
8892// API parameter values that are decorated as "sensitive" in the API will not
8893// be included in the string output. The member name will be present, but the
8894// value will be replaced with "sensitive".
8895func (s DescribeChannelModeratedByAppInstanceUserOutput) String() string {
8896	return awsutil.Prettify(s)
8897}
8898
8899// GoString returns the string representation.
8900//
8901// API parameter values that are decorated as "sensitive" in the API will not
8902// be included in the string output. The member name will be present, but the
8903// value will be replaced with "sensitive".
8904func (s DescribeChannelModeratedByAppInstanceUserOutput) GoString() string {
8905	return s.String()
8906}
8907
8908// SetChannel sets the Channel field's value.
8909func (s *DescribeChannelModeratedByAppInstanceUserOutput) SetChannel(v *ChannelModeratedByAppInstanceUserSummary) *DescribeChannelModeratedByAppInstanceUserOutput {
8910	s.Channel = v
8911	return s
8912}
8913
8914type DescribeChannelModeratorInput struct {
8915	_ struct{} `type:"structure" nopayload:"true"`
8916
8917	// The ARN of the channel.
8918	//
8919	// ChannelArn is a required field
8920	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
8921
8922	// The AppInstanceUserArn of the channel moderator.
8923	//
8924	// ChannelModeratorArn is a required field
8925	ChannelModeratorArn *string `location:"uri" locationName:"channelModeratorArn" min:"5" type:"string" required:"true"`
8926
8927	// The AppInstanceUserArn of the user that makes the API call.
8928	//
8929	// ChimeBearer is a required field
8930	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
8931}
8932
8933// String returns the string representation.
8934//
8935// API parameter values that are decorated as "sensitive" in the API will not
8936// be included in the string output. The member name will be present, but the
8937// value will be replaced with "sensitive".
8938func (s DescribeChannelModeratorInput) String() string {
8939	return awsutil.Prettify(s)
8940}
8941
8942// GoString returns the string representation.
8943//
8944// API parameter values that are decorated as "sensitive" in the API will not
8945// be included in the string output. The member name will be present, but the
8946// value will be replaced with "sensitive".
8947func (s DescribeChannelModeratorInput) GoString() string {
8948	return s.String()
8949}
8950
8951// Validate inspects the fields of the type to determine if they are valid.
8952func (s *DescribeChannelModeratorInput) Validate() error {
8953	invalidParams := request.ErrInvalidParams{Context: "DescribeChannelModeratorInput"}
8954	if s.ChannelArn == nil {
8955		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
8956	}
8957	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
8958		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
8959	}
8960	if s.ChannelModeratorArn == nil {
8961		invalidParams.Add(request.NewErrParamRequired("ChannelModeratorArn"))
8962	}
8963	if s.ChannelModeratorArn != nil && len(*s.ChannelModeratorArn) < 5 {
8964		invalidParams.Add(request.NewErrParamMinLen("ChannelModeratorArn", 5))
8965	}
8966	if s.ChimeBearer == nil {
8967		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
8968	}
8969	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
8970		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
8971	}
8972
8973	if invalidParams.Len() > 0 {
8974		return invalidParams
8975	}
8976	return nil
8977}
8978
8979// SetChannelArn sets the ChannelArn field's value.
8980func (s *DescribeChannelModeratorInput) SetChannelArn(v string) *DescribeChannelModeratorInput {
8981	s.ChannelArn = &v
8982	return s
8983}
8984
8985// SetChannelModeratorArn sets the ChannelModeratorArn field's value.
8986func (s *DescribeChannelModeratorInput) SetChannelModeratorArn(v string) *DescribeChannelModeratorInput {
8987	s.ChannelModeratorArn = &v
8988	return s
8989}
8990
8991// SetChimeBearer sets the ChimeBearer field's value.
8992func (s *DescribeChannelModeratorInput) SetChimeBearer(v string) *DescribeChannelModeratorInput {
8993	s.ChimeBearer = &v
8994	return s
8995}
8996
8997type DescribeChannelModeratorOutput struct {
8998	_ struct{} `type:"structure"`
8999
9000	// The details of the channel moderator.
9001	ChannelModerator *ChannelModerator `type:"structure"`
9002}
9003
9004// String returns the string representation.
9005//
9006// API parameter values that are decorated as "sensitive" in the API will not
9007// be included in the string output. The member name will be present, but the
9008// value will be replaced with "sensitive".
9009func (s DescribeChannelModeratorOutput) String() string {
9010	return awsutil.Prettify(s)
9011}
9012
9013// GoString returns the string representation.
9014//
9015// API parameter values that are decorated as "sensitive" in the API will not
9016// be included in the string output. The member name will be present, but the
9017// value will be replaced with "sensitive".
9018func (s DescribeChannelModeratorOutput) GoString() string {
9019	return s.String()
9020}
9021
9022// SetChannelModerator sets the ChannelModerator field's value.
9023func (s *DescribeChannelModeratorOutput) SetChannelModerator(v *ChannelModerator) *DescribeChannelModeratorOutput {
9024	s.ChannelModerator = v
9025	return s
9026}
9027
9028type DescribeChannelOutput struct {
9029	_ struct{} `type:"structure"`
9030
9031	// The channel details.
9032	Channel *Channel `type:"structure"`
9033}
9034
9035// String returns the string representation.
9036//
9037// API parameter values that are decorated as "sensitive" in the API will not
9038// be included in the string output. The member name will be present, but the
9039// value will be replaced with "sensitive".
9040func (s DescribeChannelOutput) String() string {
9041	return awsutil.Prettify(s)
9042}
9043
9044// GoString returns the string representation.
9045//
9046// API parameter values that are decorated as "sensitive" in the API will not
9047// be included in the string output. The member name will be present, but the
9048// value will be replaced with "sensitive".
9049func (s DescribeChannelOutput) GoString() string {
9050	return s.String()
9051}
9052
9053// SetChannel sets the Channel field's value.
9054func (s *DescribeChannelOutput) SetChannel(v *Channel) *DescribeChannelOutput {
9055	s.Channel = v
9056	return s
9057}
9058
9059type DisassociateChannelFlowInput struct {
9060	_ struct{} `type:"structure" nopayload:"true"`
9061
9062	// The ARN of the channel.
9063	//
9064	// ChannelArn is a required field
9065	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
9066
9067	// The ARN of the channel flow.
9068	//
9069	// ChannelFlowArn is a required field
9070	ChannelFlowArn *string `location:"uri" locationName:"channelFlowArn" min:"5" type:"string" required:"true"`
9071
9072	// The AppInstanceUserArn of the user making the API call.
9073	//
9074	// ChimeBearer is a required field
9075	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
9076}
9077
9078// String returns the string representation.
9079//
9080// API parameter values that are decorated as "sensitive" in the API will not
9081// be included in the string output. The member name will be present, but the
9082// value will be replaced with "sensitive".
9083func (s DisassociateChannelFlowInput) String() string {
9084	return awsutil.Prettify(s)
9085}
9086
9087// GoString returns the string representation.
9088//
9089// API parameter values that are decorated as "sensitive" in the API will not
9090// be included in the string output. The member name will be present, but the
9091// value will be replaced with "sensitive".
9092func (s DisassociateChannelFlowInput) GoString() string {
9093	return s.String()
9094}
9095
9096// Validate inspects the fields of the type to determine if they are valid.
9097func (s *DisassociateChannelFlowInput) Validate() error {
9098	invalidParams := request.ErrInvalidParams{Context: "DisassociateChannelFlowInput"}
9099	if s.ChannelArn == nil {
9100		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
9101	}
9102	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
9103		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
9104	}
9105	if s.ChannelFlowArn == nil {
9106		invalidParams.Add(request.NewErrParamRequired("ChannelFlowArn"))
9107	}
9108	if s.ChannelFlowArn != nil && len(*s.ChannelFlowArn) < 5 {
9109		invalidParams.Add(request.NewErrParamMinLen("ChannelFlowArn", 5))
9110	}
9111	if s.ChimeBearer == nil {
9112		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
9113	}
9114	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
9115		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
9116	}
9117
9118	if invalidParams.Len() > 0 {
9119		return invalidParams
9120	}
9121	return nil
9122}
9123
9124// SetChannelArn sets the ChannelArn field's value.
9125func (s *DisassociateChannelFlowInput) SetChannelArn(v string) *DisassociateChannelFlowInput {
9126	s.ChannelArn = &v
9127	return s
9128}
9129
9130// SetChannelFlowArn sets the ChannelFlowArn field's value.
9131func (s *DisassociateChannelFlowInput) SetChannelFlowArn(v string) *DisassociateChannelFlowInput {
9132	s.ChannelFlowArn = &v
9133	return s
9134}
9135
9136// SetChimeBearer sets the ChimeBearer field's value.
9137func (s *DisassociateChannelFlowInput) SetChimeBearer(v string) *DisassociateChannelFlowInput {
9138	s.ChimeBearer = &v
9139	return s
9140}
9141
9142type DisassociateChannelFlowOutput struct {
9143	_ struct{} `type:"structure"`
9144}
9145
9146// String returns the string representation.
9147//
9148// API parameter values that are decorated as "sensitive" in the API will not
9149// be included in the string output. The member name will be present, but the
9150// value will be replaced with "sensitive".
9151func (s DisassociateChannelFlowOutput) String() string {
9152	return awsutil.Prettify(s)
9153}
9154
9155// GoString returns the string representation.
9156//
9157// API parameter values that are decorated as "sensitive" in the API will not
9158// be included in the string output. The member name will be present, but the
9159// value will be replaced with "sensitive".
9160func (s DisassociateChannelFlowOutput) GoString() string {
9161	return s.String()
9162}
9163
9164// The client is permanently forbidden from making the request.
9165type ForbiddenException struct {
9166	_            struct{}                  `type:"structure"`
9167	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9168
9169	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
9170
9171	Message_ *string `locationName:"Message" type:"string"`
9172}
9173
9174// String returns the string representation.
9175//
9176// API parameter values that are decorated as "sensitive" in the API will not
9177// be included in the string output. The member name will be present, but the
9178// value will be replaced with "sensitive".
9179func (s ForbiddenException) String() string {
9180	return awsutil.Prettify(s)
9181}
9182
9183// GoString returns the string representation.
9184//
9185// API parameter values that are decorated as "sensitive" in the API will not
9186// be included in the string output. The member name will be present, but the
9187// value will be replaced with "sensitive".
9188func (s ForbiddenException) GoString() string {
9189	return s.String()
9190}
9191
9192func newErrorForbiddenException(v protocol.ResponseMetadata) error {
9193	return &ForbiddenException{
9194		RespMetadata: v,
9195	}
9196}
9197
9198// Code returns the exception type name.
9199func (s *ForbiddenException) Code() string {
9200	return "ForbiddenException"
9201}
9202
9203// Message returns the exception's message.
9204func (s *ForbiddenException) Message() string {
9205	if s.Message_ != nil {
9206		return *s.Message_
9207	}
9208	return ""
9209}
9210
9211// OrigErr always returns nil, satisfies awserr.Error interface.
9212func (s *ForbiddenException) OrigErr() error {
9213	return nil
9214}
9215
9216func (s *ForbiddenException) Error() string {
9217	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9218}
9219
9220// Status code returns the HTTP status code for the request's response error.
9221func (s *ForbiddenException) StatusCode() int {
9222	return s.RespMetadata.StatusCode
9223}
9224
9225// RequestID returns the service's response RequestID for request.
9226func (s *ForbiddenException) RequestID() string {
9227	return s.RespMetadata.RequestID
9228}
9229
9230type GetChannelMembershipPreferencesInput struct {
9231	_ struct{} `type:"structure" nopayload:"true"`
9232
9233	// The ARN of the channel.
9234	//
9235	// ChannelArn is a required field
9236	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
9237
9238	// The AppInstanceUserARN of the user making the API call.
9239	//
9240	// ChimeBearer is a required field
9241	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
9242
9243	// The AppInstanceUserArn of the member retrieving the preferences.
9244	//
9245	// MemberArn is a required field
9246	MemberArn *string `location:"uri" locationName:"memberArn" min:"5" type:"string" required:"true"`
9247}
9248
9249// String returns the string representation.
9250//
9251// API parameter values that are decorated as "sensitive" in the API will not
9252// be included in the string output. The member name will be present, but the
9253// value will be replaced with "sensitive".
9254func (s GetChannelMembershipPreferencesInput) String() string {
9255	return awsutil.Prettify(s)
9256}
9257
9258// GoString returns the string representation.
9259//
9260// API parameter values that are decorated as "sensitive" in the API will not
9261// be included in the string output. The member name will be present, but the
9262// value will be replaced with "sensitive".
9263func (s GetChannelMembershipPreferencesInput) GoString() string {
9264	return s.String()
9265}
9266
9267// Validate inspects the fields of the type to determine if they are valid.
9268func (s *GetChannelMembershipPreferencesInput) Validate() error {
9269	invalidParams := request.ErrInvalidParams{Context: "GetChannelMembershipPreferencesInput"}
9270	if s.ChannelArn == nil {
9271		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
9272	}
9273	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
9274		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
9275	}
9276	if s.ChimeBearer == nil {
9277		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
9278	}
9279	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
9280		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
9281	}
9282	if s.MemberArn == nil {
9283		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
9284	}
9285	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
9286		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
9287	}
9288
9289	if invalidParams.Len() > 0 {
9290		return invalidParams
9291	}
9292	return nil
9293}
9294
9295// SetChannelArn sets the ChannelArn field's value.
9296func (s *GetChannelMembershipPreferencesInput) SetChannelArn(v string) *GetChannelMembershipPreferencesInput {
9297	s.ChannelArn = &v
9298	return s
9299}
9300
9301// SetChimeBearer sets the ChimeBearer field's value.
9302func (s *GetChannelMembershipPreferencesInput) SetChimeBearer(v string) *GetChannelMembershipPreferencesInput {
9303	s.ChimeBearer = &v
9304	return s
9305}
9306
9307// SetMemberArn sets the MemberArn field's value.
9308func (s *GetChannelMembershipPreferencesInput) SetMemberArn(v string) *GetChannelMembershipPreferencesInput {
9309	s.MemberArn = &v
9310	return s
9311}
9312
9313type GetChannelMembershipPreferencesOutput struct {
9314	_ struct{} `type:"structure"`
9315
9316	// The ARN of the channel.
9317	ChannelArn *string `min:"5" type:"string"`
9318
9319	// The details of a user.
9320	Member *Identity `type:"structure"`
9321
9322	// The channel membership preferences for an AppInstanceUser .
9323	Preferences *ChannelMembershipPreferences `type:"structure"`
9324}
9325
9326// String returns the string representation.
9327//
9328// API parameter values that are decorated as "sensitive" in the API will not
9329// be included in the string output. The member name will be present, but the
9330// value will be replaced with "sensitive".
9331func (s GetChannelMembershipPreferencesOutput) String() string {
9332	return awsutil.Prettify(s)
9333}
9334
9335// GoString returns the string representation.
9336//
9337// API parameter values that are decorated as "sensitive" in the API will not
9338// be included in the string output. The member name will be present, but the
9339// value will be replaced with "sensitive".
9340func (s GetChannelMembershipPreferencesOutput) GoString() string {
9341	return s.String()
9342}
9343
9344// SetChannelArn sets the ChannelArn field's value.
9345func (s *GetChannelMembershipPreferencesOutput) SetChannelArn(v string) *GetChannelMembershipPreferencesOutput {
9346	s.ChannelArn = &v
9347	return s
9348}
9349
9350// SetMember sets the Member field's value.
9351func (s *GetChannelMembershipPreferencesOutput) SetMember(v *Identity) *GetChannelMembershipPreferencesOutput {
9352	s.Member = v
9353	return s
9354}
9355
9356// SetPreferences sets the Preferences field's value.
9357func (s *GetChannelMembershipPreferencesOutput) SetPreferences(v *ChannelMembershipPreferences) *GetChannelMembershipPreferencesOutput {
9358	s.Preferences = v
9359	return s
9360}
9361
9362type GetChannelMessageInput struct {
9363	_ struct{} `type:"structure" nopayload:"true"`
9364
9365	// The ARN of the channel.
9366	//
9367	// ChannelArn is a required field
9368	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
9369
9370	// The AppInstanceUserArn of the user that makes the API call.
9371	//
9372	// ChimeBearer is a required field
9373	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
9374
9375	// The ID of the message.
9376	//
9377	// MessageId is a required field
9378	MessageId *string `location:"uri" locationName:"messageId" min:"1" type:"string" required:"true"`
9379}
9380
9381// String returns the string representation.
9382//
9383// API parameter values that are decorated as "sensitive" in the API will not
9384// be included in the string output. The member name will be present, but the
9385// value will be replaced with "sensitive".
9386func (s GetChannelMessageInput) String() string {
9387	return awsutil.Prettify(s)
9388}
9389
9390// GoString returns the string representation.
9391//
9392// API parameter values that are decorated as "sensitive" in the API will not
9393// be included in the string output. The member name will be present, but the
9394// value will be replaced with "sensitive".
9395func (s GetChannelMessageInput) GoString() string {
9396	return s.String()
9397}
9398
9399// Validate inspects the fields of the type to determine if they are valid.
9400func (s *GetChannelMessageInput) Validate() error {
9401	invalidParams := request.ErrInvalidParams{Context: "GetChannelMessageInput"}
9402	if s.ChannelArn == nil {
9403		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
9404	}
9405	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
9406		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
9407	}
9408	if s.ChimeBearer == nil {
9409		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
9410	}
9411	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
9412		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
9413	}
9414	if s.MessageId == nil {
9415		invalidParams.Add(request.NewErrParamRequired("MessageId"))
9416	}
9417	if s.MessageId != nil && len(*s.MessageId) < 1 {
9418		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
9419	}
9420
9421	if invalidParams.Len() > 0 {
9422		return invalidParams
9423	}
9424	return nil
9425}
9426
9427// SetChannelArn sets the ChannelArn field's value.
9428func (s *GetChannelMessageInput) SetChannelArn(v string) *GetChannelMessageInput {
9429	s.ChannelArn = &v
9430	return s
9431}
9432
9433// SetChimeBearer sets the ChimeBearer field's value.
9434func (s *GetChannelMessageInput) SetChimeBearer(v string) *GetChannelMessageInput {
9435	s.ChimeBearer = &v
9436	return s
9437}
9438
9439// SetMessageId sets the MessageId field's value.
9440func (s *GetChannelMessageInput) SetMessageId(v string) *GetChannelMessageInput {
9441	s.MessageId = &v
9442	return s
9443}
9444
9445type GetChannelMessageOutput struct {
9446	_ struct{} `type:"structure"`
9447
9448	// The details of and content in the message.
9449	ChannelMessage *ChannelMessage `type:"structure"`
9450}
9451
9452// String returns the string representation.
9453//
9454// API parameter values that are decorated as "sensitive" in the API will not
9455// be included in the string output. The member name will be present, but the
9456// value will be replaced with "sensitive".
9457func (s GetChannelMessageOutput) String() string {
9458	return awsutil.Prettify(s)
9459}
9460
9461// GoString returns the string representation.
9462//
9463// API parameter values that are decorated as "sensitive" in the API will not
9464// be included in the string output. The member name will be present, but the
9465// value will be replaced with "sensitive".
9466func (s GetChannelMessageOutput) GoString() string {
9467	return s.String()
9468}
9469
9470// SetChannelMessage sets the ChannelMessage field's value.
9471func (s *GetChannelMessageOutput) SetChannelMessage(v *ChannelMessage) *GetChannelMessageOutput {
9472	s.ChannelMessage = v
9473	return s
9474}
9475
9476type GetChannelMessageStatusInput struct {
9477	_ struct{} `type:"structure" nopayload:"true"`
9478
9479	// The ARN of the channel
9480	//
9481	// ChannelArn is a required field
9482	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
9483
9484	// The AppInstanceUserArn of the user making the API call.
9485	//
9486	// ChimeBearer is a required field
9487	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
9488
9489	// The ID of the message.
9490	//
9491	// MessageId is a required field
9492	MessageId *string `location:"uri" locationName:"messageId" min:"1" type:"string" required:"true"`
9493}
9494
9495// String returns the string representation.
9496//
9497// API parameter values that are decorated as "sensitive" in the API will not
9498// be included in the string output. The member name will be present, but the
9499// value will be replaced with "sensitive".
9500func (s GetChannelMessageStatusInput) String() string {
9501	return awsutil.Prettify(s)
9502}
9503
9504// GoString returns the string representation.
9505//
9506// API parameter values that are decorated as "sensitive" in the API will not
9507// be included in the string output. The member name will be present, but the
9508// value will be replaced with "sensitive".
9509func (s GetChannelMessageStatusInput) GoString() string {
9510	return s.String()
9511}
9512
9513// Validate inspects the fields of the type to determine if they are valid.
9514func (s *GetChannelMessageStatusInput) Validate() error {
9515	invalidParams := request.ErrInvalidParams{Context: "GetChannelMessageStatusInput"}
9516	if s.ChannelArn == nil {
9517		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
9518	}
9519	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
9520		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
9521	}
9522	if s.ChimeBearer == nil {
9523		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
9524	}
9525	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
9526		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
9527	}
9528	if s.MessageId == nil {
9529		invalidParams.Add(request.NewErrParamRequired("MessageId"))
9530	}
9531	if s.MessageId != nil && len(*s.MessageId) < 1 {
9532		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
9533	}
9534
9535	if invalidParams.Len() > 0 {
9536		return invalidParams
9537	}
9538	return nil
9539}
9540
9541// SetChannelArn sets the ChannelArn field's value.
9542func (s *GetChannelMessageStatusInput) SetChannelArn(v string) *GetChannelMessageStatusInput {
9543	s.ChannelArn = &v
9544	return s
9545}
9546
9547// SetChimeBearer sets the ChimeBearer field's value.
9548func (s *GetChannelMessageStatusInput) SetChimeBearer(v string) *GetChannelMessageStatusInput {
9549	s.ChimeBearer = &v
9550	return s
9551}
9552
9553// SetMessageId sets the MessageId field's value.
9554func (s *GetChannelMessageStatusInput) SetMessageId(v string) *GetChannelMessageStatusInput {
9555	s.MessageId = &v
9556	return s
9557}
9558
9559type GetChannelMessageStatusOutput struct {
9560	_ struct{} `type:"structure"`
9561
9562	// The message status and details.
9563	Status *ChannelMessageStatusStructure `type:"structure"`
9564}
9565
9566// String returns the string representation.
9567//
9568// API parameter values that are decorated as "sensitive" in the API will not
9569// be included in the string output. The member name will be present, but the
9570// value will be replaced with "sensitive".
9571func (s GetChannelMessageStatusOutput) String() string {
9572	return awsutil.Prettify(s)
9573}
9574
9575// GoString returns the string representation.
9576//
9577// API parameter values that are decorated as "sensitive" in the API will not
9578// be included in the string output. The member name will be present, but the
9579// value will be replaced with "sensitive".
9580func (s GetChannelMessageStatusOutput) GoString() string {
9581	return s.String()
9582}
9583
9584// SetStatus sets the Status field's value.
9585func (s *GetChannelMessageStatusOutput) SetStatus(v *ChannelMessageStatusStructure) *GetChannelMessageStatusOutput {
9586	s.Status = v
9587	return s
9588}
9589
9590type GetMessagingSessionEndpointInput struct {
9591	_ struct{} `type:"structure" nopayload:"true"`
9592}
9593
9594// String returns the string representation.
9595//
9596// API parameter values that are decorated as "sensitive" in the API will not
9597// be included in the string output. The member name will be present, but the
9598// value will be replaced with "sensitive".
9599func (s GetMessagingSessionEndpointInput) String() string {
9600	return awsutil.Prettify(s)
9601}
9602
9603// GoString returns the string representation.
9604//
9605// API parameter values that are decorated as "sensitive" in the API will not
9606// be included in the string output. The member name will be present, but the
9607// value will be replaced with "sensitive".
9608func (s GetMessagingSessionEndpointInput) GoString() string {
9609	return s.String()
9610}
9611
9612type GetMessagingSessionEndpointOutput struct {
9613	_ struct{} `type:"structure"`
9614
9615	// The endpoint returned in the response.
9616	Endpoint *MessagingSessionEndpoint `type:"structure"`
9617}
9618
9619// String returns the string representation.
9620//
9621// API parameter values that are decorated as "sensitive" in the API will not
9622// be included in the string output. The member name will be present, but the
9623// value will be replaced with "sensitive".
9624func (s GetMessagingSessionEndpointOutput) String() string {
9625	return awsutil.Prettify(s)
9626}
9627
9628// GoString returns the string representation.
9629//
9630// API parameter values that are decorated as "sensitive" in the API will not
9631// be included in the string output. The member name will be present, but the
9632// value will be replaced with "sensitive".
9633func (s GetMessagingSessionEndpointOutput) GoString() string {
9634	return s.String()
9635}
9636
9637// SetEndpoint sets the Endpoint field's value.
9638func (s *GetMessagingSessionEndpointOutput) SetEndpoint(v *MessagingSessionEndpoint) *GetMessagingSessionEndpointOutput {
9639	s.Endpoint = v
9640	return s
9641}
9642
9643// The details of a user.
9644type Identity struct {
9645	_ struct{} `type:"structure"`
9646
9647	// The ARN in an Identity.
9648	Arn *string `min:"5" type:"string"`
9649
9650	// The name in an Identity.
9651	//
9652	// Name is a sensitive parameter and its value will be
9653	// replaced with "sensitive" in string returned by Identity's
9654	// String and GoString methods.
9655	Name *string `type:"string" sensitive:"true"`
9656}
9657
9658// String returns the string representation.
9659//
9660// API parameter values that are decorated as "sensitive" in the API will not
9661// be included in the string output. The member name will be present, but the
9662// value will be replaced with "sensitive".
9663func (s Identity) String() string {
9664	return awsutil.Prettify(s)
9665}
9666
9667// GoString returns the string representation.
9668//
9669// API parameter values that are decorated as "sensitive" in the API will not
9670// be included in the string output. The member name will be present, but the
9671// value will be replaced with "sensitive".
9672func (s Identity) GoString() string {
9673	return s.String()
9674}
9675
9676// SetArn sets the Arn field's value.
9677func (s *Identity) SetArn(v string) *Identity {
9678	s.Arn = &v
9679	return s
9680}
9681
9682// SetName sets the Name field's value.
9683func (s *Identity) SetName(v string) *Identity {
9684	s.Name = &v
9685	return s
9686}
9687
9688// Stores metadata about a Lambda processor.
9689type LambdaConfiguration struct {
9690	_ struct{} `type:"structure"`
9691
9692	// Controls how the Lambda function is invoked.
9693	//
9694	// InvocationType is a required field
9695	InvocationType *string `type:"string" required:"true" enum:"InvocationType"`
9696
9697	// The ARN of the Lambda message processing function.
9698	//
9699	// ResourceArn is a required field
9700	ResourceArn *string `min:"15" type:"string" required:"true"`
9701}
9702
9703// String returns the string representation.
9704//
9705// API parameter values that are decorated as "sensitive" in the API will not
9706// be included in the string output. The member name will be present, but the
9707// value will be replaced with "sensitive".
9708func (s LambdaConfiguration) String() string {
9709	return awsutil.Prettify(s)
9710}
9711
9712// GoString returns the string representation.
9713//
9714// API parameter values that are decorated as "sensitive" in the API will not
9715// be included in the string output. The member name will be present, but the
9716// value will be replaced with "sensitive".
9717func (s LambdaConfiguration) GoString() string {
9718	return s.String()
9719}
9720
9721// Validate inspects the fields of the type to determine if they are valid.
9722func (s *LambdaConfiguration) Validate() error {
9723	invalidParams := request.ErrInvalidParams{Context: "LambdaConfiguration"}
9724	if s.InvocationType == nil {
9725		invalidParams.Add(request.NewErrParamRequired("InvocationType"))
9726	}
9727	if s.ResourceArn == nil {
9728		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9729	}
9730	if s.ResourceArn != nil && len(*s.ResourceArn) < 15 {
9731		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 15))
9732	}
9733
9734	if invalidParams.Len() > 0 {
9735		return invalidParams
9736	}
9737	return nil
9738}
9739
9740// SetInvocationType sets the InvocationType field's value.
9741func (s *LambdaConfiguration) SetInvocationType(v string) *LambdaConfiguration {
9742	s.InvocationType = &v
9743	return s
9744}
9745
9746// SetResourceArn sets the ResourceArn field's value.
9747func (s *LambdaConfiguration) SetResourceArn(v string) *LambdaConfiguration {
9748	s.ResourceArn = &v
9749	return s
9750}
9751
9752type ListChannelBansInput struct {
9753	_ struct{} `type:"structure" nopayload:"true"`
9754
9755	// The ARN of the channel.
9756	//
9757	// ChannelArn is a required field
9758	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
9759
9760	// The AppInstanceUserArn of the user that makes the API call.
9761	//
9762	// ChimeBearer is a required field
9763	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
9764
9765	// The maximum number of bans that you want returned.
9766	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
9767
9768	// The token passed by previous API calls until all requested bans are returned.
9769	//
9770	// NextToken is a sensitive parameter and its value will be
9771	// replaced with "sensitive" in string returned by ListChannelBansInput's
9772	// String and GoString methods.
9773	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
9774}
9775
9776// String returns the string representation.
9777//
9778// API parameter values that are decorated as "sensitive" in the API will not
9779// be included in the string output. The member name will be present, but the
9780// value will be replaced with "sensitive".
9781func (s ListChannelBansInput) String() string {
9782	return awsutil.Prettify(s)
9783}
9784
9785// GoString returns the string representation.
9786//
9787// API parameter values that are decorated as "sensitive" in the API will not
9788// be included in the string output. The member name will be present, but the
9789// value will be replaced with "sensitive".
9790func (s ListChannelBansInput) GoString() string {
9791	return s.String()
9792}
9793
9794// Validate inspects the fields of the type to determine if they are valid.
9795func (s *ListChannelBansInput) Validate() error {
9796	invalidParams := request.ErrInvalidParams{Context: "ListChannelBansInput"}
9797	if s.ChannelArn == nil {
9798		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
9799	}
9800	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
9801		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
9802	}
9803	if s.ChimeBearer == nil {
9804		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
9805	}
9806	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
9807		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
9808	}
9809	if s.MaxResults != nil && *s.MaxResults < 1 {
9810		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9811	}
9812
9813	if invalidParams.Len() > 0 {
9814		return invalidParams
9815	}
9816	return nil
9817}
9818
9819// SetChannelArn sets the ChannelArn field's value.
9820func (s *ListChannelBansInput) SetChannelArn(v string) *ListChannelBansInput {
9821	s.ChannelArn = &v
9822	return s
9823}
9824
9825// SetChimeBearer sets the ChimeBearer field's value.
9826func (s *ListChannelBansInput) SetChimeBearer(v string) *ListChannelBansInput {
9827	s.ChimeBearer = &v
9828	return s
9829}
9830
9831// SetMaxResults sets the MaxResults field's value.
9832func (s *ListChannelBansInput) SetMaxResults(v int64) *ListChannelBansInput {
9833	s.MaxResults = &v
9834	return s
9835}
9836
9837// SetNextToken sets the NextToken field's value.
9838func (s *ListChannelBansInput) SetNextToken(v string) *ListChannelBansInput {
9839	s.NextToken = &v
9840	return s
9841}
9842
9843type ListChannelBansOutput struct {
9844	_ struct{} `type:"structure"`
9845
9846	// The ARN of the channel.
9847	ChannelArn *string `min:"5" type:"string"`
9848
9849	// The information for each requested ban.
9850	ChannelBans []*ChannelBanSummary `type:"list"`
9851
9852	// The token passed by previous API calls until all requested bans are returned.
9853	//
9854	// NextToken is a sensitive parameter and its value will be
9855	// replaced with "sensitive" in string returned by ListChannelBansOutput's
9856	// String and GoString methods.
9857	NextToken *string `type:"string" sensitive:"true"`
9858}
9859
9860// String returns the string representation.
9861//
9862// API parameter values that are decorated as "sensitive" in the API will not
9863// be included in the string output. The member name will be present, but the
9864// value will be replaced with "sensitive".
9865func (s ListChannelBansOutput) String() string {
9866	return awsutil.Prettify(s)
9867}
9868
9869// GoString returns the string representation.
9870//
9871// API parameter values that are decorated as "sensitive" in the API will not
9872// be included in the string output. The member name will be present, but the
9873// value will be replaced with "sensitive".
9874func (s ListChannelBansOutput) GoString() string {
9875	return s.String()
9876}
9877
9878// SetChannelArn sets the ChannelArn field's value.
9879func (s *ListChannelBansOutput) SetChannelArn(v string) *ListChannelBansOutput {
9880	s.ChannelArn = &v
9881	return s
9882}
9883
9884// SetChannelBans sets the ChannelBans field's value.
9885func (s *ListChannelBansOutput) SetChannelBans(v []*ChannelBanSummary) *ListChannelBansOutput {
9886	s.ChannelBans = v
9887	return s
9888}
9889
9890// SetNextToken sets the NextToken field's value.
9891func (s *ListChannelBansOutput) SetNextToken(v string) *ListChannelBansOutput {
9892	s.NextToken = &v
9893	return s
9894}
9895
9896type ListChannelFlowsInput struct {
9897	_ struct{} `type:"structure" nopayload:"true"`
9898
9899	// The ARN of the app instance.
9900	//
9901	// AppInstanceArn is a required field
9902	AppInstanceArn *string `location:"querystring" locationName:"app-instance-arn" min:"5" type:"string" required:"true"`
9903
9904	// The maximum number of channel flows that you want to return.
9905	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
9906
9907	// The token passed by previous API calls until all requested channel flows
9908	// are returned.
9909	//
9910	// NextToken is a sensitive parameter and its value will be
9911	// replaced with "sensitive" in string returned by ListChannelFlowsInput's
9912	// String and GoString methods.
9913	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
9914}
9915
9916// String returns the string representation.
9917//
9918// API parameter values that are decorated as "sensitive" in the API will not
9919// be included in the string output. The member name will be present, but the
9920// value will be replaced with "sensitive".
9921func (s ListChannelFlowsInput) String() string {
9922	return awsutil.Prettify(s)
9923}
9924
9925// GoString returns the string representation.
9926//
9927// API parameter values that are decorated as "sensitive" in the API will not
9928// be included in the string output. The member name will be present, but the
9929// value will be replaced with "sensitive".
9930func (s ListChannelFlowsInput) GoString() string {
9931	return s.String()
9932}
9933
9934// Validate inspects the fields of the type to determine if they are valid.
9935func (s *ListChannelFlowsInput) Validate() error {
9936	invalidParams := request.ErrInvalidParams{Context: "ListChannelFlowsInput"}
9937	if s.AppInstanceArn == nil {
9938		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
9939	}
9940	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
9941		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
9942	}
9943	if s.MaxResults != nil && *s.MaxResults < 1 {
9944		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9945	}
9946
9947	if invalidParams.Len() > 0 {
9948		return invalidParams
9949	}
9950	return nil
9951}
9952
9953// SetAppInstanceArn sets the AppInstanceArn field's value.
9954func (s *ListChannelFlowsInput) SetAppInstanceArn(v string) *ListChannelFlowsInput {
9955	s.AppInstanceArn = &v
9956	return s
9957}
9958
9959// SetMaxResults sets the MaxResults field's value.
9960func (s *ListChannelFlowsInput) SetMaxResults(v int64) *ListChannelFlowsInput {
9961	s.MaxResults = &v
9962	return s
9963}
9964
9965// SetNextToken sets the NextToken field's value.
9966func (s *ListChannelFlowsInput) SetNextToken(v string) *ListChannelFlowsInput {
9967	s.NextToken = &v
9968	return s
9969}
9970
9971type ListChannelFlowsOutput struct {
9972	_ struct{} `type:"structure"`
9973
9974	// The information about each channel flow.
9975	ChannelFlows []*ChannelFlowSummary `type:"list"`
9976
9977	// The token passed by previous API calls until all requested channels are returned.
9978	//
9979	// NextToken is a sensitive parameter and its value will be
9980	// replaced with "sensitive" in string returned by ListChannelFlowsOutput's
9981	// String and GoString methods.
9982	NextToken *string `type:"string" sensitive:"true"`
9983}
9984
9985// String returns the string representation.
9986//
9987// API parameter values that are decorated as "sensitive" in the API will not
9988// be included in the string output. The member name will be present, but the
9989// value will be replaced with "sensitive".
9990func (s ListChannelFlowsOutput) String() string {
9991	return awsutil.Prettify(s)
9992}
9993
9994// GoString returns the string representation.
9995//
9996// API parameter values that are decorated as "sensitive" in the API will not
9997// be included in the string output. The member name will be present, but the
9998// value will be replaced with "sensitive".
9999func (s ListChannelFlowsOutput) GoString() string {
10000	return s.String()
10001}
10002
10003// SetChannelFlows sets the ChannelFlows field's value.
10004func (s *ListChannelFlowsOutput) SetChannelFlows(v []*ChannelFlowSummary) *ListChannelFlowsOutput {
10005	s.ChannelFlows = v
10006	return s
10007}
10008
10009// SetNextToken sets the NextToken field's value.
10010func (s *ListChannelFlowsOutput) SetNextToken(v string) *ListChannelFlowsOutput {
10011	s.NextToken = &v
10012	return s
10013}
10014
10015type ListChannelMembershipsForAppInstanceUserInput struct {
10016	_ struct{} `type:"structure" nopayload:"true"`
10017
10018	// The ARN of the AppInstanceUsers
10019	AppInstanceUserArn *string `location:"querystring" locationName:"app-instance-user-arn" min:"5" type:"string"`
10020
10021	// The AppInstanceUserArn of the user that makes the API call.
10022	//
10023	// ChimeBearer is a required field
10024	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
10025
10026	// The maximum number of users that you want returned.
10027	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
10028
10029	// The token returned from previous API requests until the number of channel
10030	// memberships is reached.
10031	//
10032	// NextToken is a sensitive parameter and its value will be
10033	// replaced with "sensitive" in string returned by ListChannelMembershipsForAppInstanceUserInput's
10034	// String and GoString methods.
10035	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
10036}
10037
10038// String returns the string representation.
10039//
10040// API parameter values that are decorated as "sensitive" in the API will not
10041// be included in the string output. The member name will be present, but the
10042// value will be replaced with "sensitive".
10043func (s ListChannelMembershipsForAppInstanceUserInput) String() string {
10044	return awsutil.Prettify(s)
10045}
10046
10047// GoString returns the string representation.
10048//
10049// API parameter values that are decorated as "sensitive" in the API will not
10050// be included in the string output. The member name will be present, but the
10051// value will be replaced with "sensitive".
10052func (s ListChannelMembershipsForAppInstanceUserInput) GoString() string {
10053	return s.String()
10054}
10055
10056// Validate inspects the fields of the type to determine if they are valid.
10057func (s *ListChannelMembershipsForAppInstanceUserInput) Validate() error {
10058	invalidParams := request.ErrInvalidParams{Context: "ListChannelMembershipsForAppInstanceUserInput"}
10059	if s.AppInstanceUserArn != nil && len(*s.AppInstanceUserArn) < 5 {
10060		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserArn", 5))
10061	}
10062	if s.ChimeBearer == nil {
10063		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
10064	}
10065	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
10066		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
10067	}
10068	if s.MaxResults != nil && *s.MaxResults < 1 {
10069		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10070	}
10071
10072	if invalidParams.Len() > 0 {
10073		return invalidParams
10074	}
10075	return nil
10076}
10077
10078// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
10079func (s *ListChannelMembershipsForAppInstanceUserInput) SetAppInstanceUserArn(v string) *ListChannelMembershipsForAppInstanceUserInput {
10080	s.AppInstanceUserArn = &v
10081	return s
10082}
10083
10084// SetChimeBearer sets the ChimeBearer field's value.
10085func (s *ListChannelMembershipsForAppInstanceUserInput) SetChimeBearer(v string) *ListChannelMembershipsForAppInstanceUserInput {
10086	s.ChimeBearer = &v
10087	return s
10088}
10089
10090// SetMaxResults sets the MaxResults field's value.
10091func (s *ListChannelMembershipsForAppInstanceUserInput) SetMaxResults(v int64) *ListChannelMembershipsForAppInstanceUserInput {
10092	s.MaxResults = &v
10093	return s
10094}
10095
10096// SetNextToken sets the NextToken field's value.
10097func (s *ListChannelMembershipsForAppInstanceUserInput) SetNextToken(v string) *ListChannelMembershipsForAppInstanceUserInput {
10098	s.NextToken = &v
10099	return s
10100}
10101
10102type ListChannelMembershipsForAppInstanceUserOutput struct {
10103	_ struct{} `type:"structure"`
10104
10105	// The token passed by previous API calls until all requested users are returned.
10106	ChannelMemberships []*ChannelMembershipForAppInstanceUserSummary `type:"list"`
10107
10108	// The token passed by previous API calls until all requested users are returned.
10109	//
10110	// NextToken is a sensitive parameter and its value will be
10111	// replaced with "sensitive" in string returned by ListChannelMembershipsForAppInstanceUserOutput's
10112	// String and GoString methods.
10113	NextToken *string `type:"string" sensitive:"true"`
10114}
10115
10116// String returns the string representation.
10117//
10118// API parameter values that are decorated as "sensitive" in the API will not
10119// be included in the string output. The member name will be present, but the
10120// value will be replaced with "sensitive".
10121func (s ListChannelMembershipsForAppInstanceUserOutput) String() string {
10122	return awsutil.Prettify(s)
10123}
10124
10125// GoString returns the string representation.
10126//
10127// API parameter values that are decorated as "sensitive" in the API will not
10128// be included in the string output. The member name will be present, but the
10129// value will be replaced with "sensitive".
10130func (s ListChannelMembershipsForAppInstanceUserOutput) GoString() string {
10131	return s.String()
10132}
10133
10134// SetChannelMemberships sets the ChannelMemberships field's value.
10135func (s *ListChannelMembershipsForAppInstanceUserOutput) SetChannelMemberships(v []*ChannelMembershipForAppInstanceUserSummary) *ListChannelMembershipsForAppInstanceUserOutput {
10136	s.ChannelMemberships = v
10137	return s
10138}
10139
10140// SetNextToken sets the NextToken field's value.
10141func (s *ListChannelMembershipsForAppInstanceUserOutput) SetNextToken(v string) *ListChannelMembershipsForAppInstanceUserOutput {
10142	s.NextToken = &v
10143	return s
10144}
10145
10146type ListChannelMembershipsInput struct {
10147	_ struct{} `type:"structure" nopayload:"true"`
10148
10149	// The maximum number of channel memberships that you want returned.
10150	//
10151	// ChannelArn is a required field
10152	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
10153
10154	// The AppInstanceUserArn of the user that makes the API call.
10155	//
10156	// ChimeBearer is a required field
10157	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
10158
10159	// The maximum number of channel memberships that you want returned.
10160	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
10161
10162	// The token passed by previous API calls until all requested channel memberships
10163	// are returned.
10164	//
10165	// NextToken is a sensitive parameter and its value will be
10166	// replaced with "sensitive" in string returned by ListChannelMembershipsInput's
10167	// String and GoString methods.
10168	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
10169
10170	// The membership type of a user, DEFAULT or HIDDEN. Default members are always
10171	// returned as part of ListChannelMemberships. Hidden members are only returned
10172	// if the type filter in ListChannelMemberships equals HIDDEN. Otherwise hidden
10173	// members are not returned.
10174	Type *string `location:"querystring" locationName:"type" type:"string" enum:"ChannelMembershipType"`
10175}
10176
10177// String returns the string representation.
10178//
10179// API parameter values that are decorated as "sensitive" in the API will not
10180// be included in the string output. The member name will be present, but the
10181// value will be replaced with "sensitive".
10182func (s ListChannelMembershipsInput) String() string {
10183	return awsutil.Prettify(s)
10184}
10185
10186// GoString returns the string representation.
10187//
10188// API parameter values that are decorated as "sensitive" in the API will not
10189// be included in the string output. The member name will be present, but the
10190// value will be replaced with "sensitive".
10191func (s ListChannelMembershipsInput) GoString() string {
10192	return s.String()
10193}
10194
10195// Validate inspects the fields of the type to determine if they are valid.
10196func (s *ListChannelMembershipsInput) Validate() error {
10197	invalidParams := request.ErrInvalidParams{Context: "ListChannelMembershipsInput"}
10198	if s.ChannelArn == nil {
10199		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
10200	}
10201	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
10202		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
10203	}
10204	if s.ChimeBearer == nil {
10205		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
10206	}
10207	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
10208		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
10209	}
10210	if s.MaxResults != nil && *s.MaxResults < 1 {
10211		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10212	}
10213
10214	if invalidParams.Len() > 0 {
10215		return invalidParams
10216	}
10217	return nil
10218}
10219
10220// SetChannelArn sets the ChannelArn field's value.
10221func (s *ListChannelMembershipsInput) SetChannelArn(v string) *ListChannelMembershipsInput {
10222	s.ChannelArn = &v
10223	return s
10224}
10225
10226// SetChimeBearer sets the ChimeBearer field's value.
10227func (s *ListChannelMembershipsInput) SetChimeBearer(v string) *ListChannelMembershipsInput {
10228	s.ChimeBearer = &v
10229	return s
10230}
10231
10232// SetMaxResults sets the MaxResults field's value.
10233func (s *ListChannelMembershipsInput) SetMaxResults(v int64) *ListChannelMembershipsInput {
10234	s.MaxResults = &v
10235	return s
10236}
10237
10238// SetNextToken sets the NextToken field's value.
10239func (s *ListChannelMembershipsInput) SetNextToken(v string) *ListChannelMembershipsInput {
10240	s.NextToken = &v
10241	return s
10242}
10243
10244// SetType sets the Type field's value.
10245func (s *ListChannelMembershipsInput) SetType(v string) *ListChannelMembershipsInput {
10246	s.Type = &v
10247	return s
10248}
10249
10250type ListChannelMembershipsOutput struct {
10251	_ struct{} `type:"structure"`
10252
10253	// The ARN of the channel.
10254	ChannelArn *string `min:"5" type:"string"`
10255
10256	// The information for the requested channel memberships.
10257	ChannelMemberships []*ChannelMembershipSummary `type:"list"`
10258
10259	// The token passed by previous API calls until all requested channel memberships
10260	// are returned.
10261	//
10262	// NextToken is a sensitive parameter and its value will be
10263	// replaced with "sensitive" in string returned by ListChannelMembershipsOutput's
10264	// String and GoString methods.
10265	NextToken *string `type:"string" sensitive:"true"`
10266}
10267
10268// String returns the string representation.
10269//
10270// API parameter values that are decorated as "sensitive" in the API will not
10271// be included in the string output. The member name will be present, but the
10272// value will be replaced with "sensitive".
10273func (s ListChannelMembershipsOutput) String() string {
10274	return awsutil.Prettify(s)
10275}
10276
10277// GoString returns the string representation.
10278//
10279// API parameter values that are decorated as "sensitive" in the API will not
10280// be included in the string output. The member name will be present, but the
10281// value will be replaced with "sensitive".
10282func (s ListChannelMembershipsOutput) GoString() string {
10283	return s.String()
10284}
10285
10286// SetChannelArn sets the ChannelArn field's value.
10287func (s *ListChannelMembershipsOutput) SetChannelArn(v string) *ListChannelMembershipsOutput {
10288	s.ChannelArn = &v
10289	return s
10290}
10291
10292// SetChannelMemberships sets the ChannelMemberships field's value.
10293func (s *ListChannelMembershipsOutput) SetChannelMemberships(v []*ChannelMembershipSummary) *ListChannelMembershipsOutput {
10294	s.ChannelMemberships = v
10295	return s
10296}
10297
10298// SetNextToken sets the NextToken field's value.
10299func (s *ListChannelMembershipsOutput) SetNextToken(v string) *ListChannelMembershipsOutput {
10300	s.NextToken = &v
10301	return s
10302}
10303
10304type ListChannelMessagesInput struct {
10305	_ struct{} `type:"structure" nopayload:"true"`
10306
10307	// The ARN of the channel.
10308	//
10309	// ChannelArn is a required field
10310	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
10311
10312	// The AppInstanceUserArn of the user that makes the API call.
10313	//
10314	// ChimeBearer is a required field
10315	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
10316
10317	// The maximum number of messages that you want returned.
10318	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
10319
10320	// The token passed by previous API calls until all requested messages are returned.
10321	//
10322	// NextToken is a sensitive parameter and its value will be
10323	// replaced with "sensitive" in string returned by ListChannelMessagesInput's
10324	// String and GoString methods.
10325	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
10326
10327	// The final or ending time stamp for your requested messages.
10328	NotAfter *time.Time `location:"querystring" locationName:"not-after" type:"timestamp"`
10329
10330	// The initial or starting time stamp for your requested messages.
10331	NotBefore *time.Time `location:"querystring" locationName:"not-before" type:"timestamp"`
10332
10333	// The order in which you want messages sorted. Default is Descending, based
10334	// on time created.
10335	SortOrder *string `location:"querystring" locationName:"sort-order" type:"string" enum:"SortOrder"`
10336}
10337
10338// String returns the string representation.
10339//
10340// API parameter values that are decorated as "sensitive" in the API will not
10341// be included in the string output. The member name will be present, but the
10342// value will be replaced with "sensitive".
10343func (s ListChannelMessagesInput) String() string {
10344	return awsutil.Prettify(s)
10345}
10346
10347// GoString returns the string representation.
10348//
10349// API parameter values that are decorated as "sensitive" in the API will not
10350// be included in the string output. The member name will be present, but the
10351// value will be replaced with "sensitive".
10352func (s ListChannelMessagesInput) GoString() string {
10353	return s.String()
10354}
10355
10356// Validate inspects the fields of the type to determine if they are valid.
10357func (s *ListChannelMessagesInput) Validate() error {
10358	invalidParams := request.ErrInvalidParams{Context: "ListChannelMessagesInput"}
10359	if s.ChannelArn == nil {
10360		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
10361	}
10362	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
10363		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
10364	}
10365	if s.ChimeBearer == nil {
10366		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
10367	}
10368	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
10369		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
10370	}
10371	if s.MaxResults != nil && *s.MaxResults < 1 {
10372		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10373	}
10374
10375	if invalidParams.Len() > 0 {
10376		return invalidParams
10377	}
10378	return nil
10379}
10380
10381// SetChannelArn sets the ChannelArn field's value.
10382func (s *ListChannelMessagesInput) SetChannelArn(v string) *ListChannelMessagesInput {
10383	s.ChannelArn = &v
10384	return s
10385}
10386
10387// SetChimeBearer sets the ChimeBearer field's value.
10388func (s *ListChannelMessagesInput) SetChimeBearer(v string) *ListChannelMessagesInput {
10389	s.ChimeBearer = &v
10390	return s
10391}
10392
10393// SetMaxResults sets the MaxResults field's value.
10394func (s *ListChannelMessagesInput) SetMaxResults(v int64) *ListChannelMessagesInput {
10395	s.MaxResults = &v
10396	return s
10397}
10398
10399// SetNextToken sets the NextToken field's value.
10400func (s *ListChannelMessagesInput) SetNextToken(v string) *ListChannelMessagesInput {
10401	s.NextToken = &v
10402	return s
10403}
10404
10405// SetNotAfter sets the NotAfter field's value.
10406func (s *ListChannelMessagesInput) SetNotAfter(v time.Time) *ListChannelMessagesInput {
10407	s.NotAfter = &v
10408	return s
10409}
10410
10411// SetNotBefore sets the NotBefore field's value.
10412func (s *ListChannelMessagesInput) SetNotBefore(v time.Time) *ListChannelMessagesInput {
10413	s.NotBefore = &v
10414	return s
10415}
10416
10417// SetSortOrder sets the SortOrder field's value.
10418func (s *ListChannelMessagesInput) SetSortOrder(v string) *ListChannelMessagesInput {
10419	s.SortOrder = &v
10420	return s
10421}
10422
10423type ListChannelMessagesOutput struct {
10424	_ struct{} `type:"structure"`
10425
10426	// The ARN of the channel containing the requested messages.
10427	ChannelArn *string `min:"5" type:"string"`
10428
10429	// The information about, and content of, each requested message.
10430	ChannelMessages []*ChannelMessageSummary `type:"list"`
10431
10432	// The token passed by previous API calls until all requested messages are returned.
10433	//
10434	// NextToken is a sensitive parameter and its value will be
10435	// replaced with "sensitive" in string returned by ListChannelMessagesOutput's
10436	// String and GoString methods.
10437	NextToken *string `type:"string" sensitive:"true"`
10438}
10439
10440// String returns the string representation.
10441//
10442// API parameter values that are decorated as "sensitive" in the API will not
10443// be included in the string output. The member name will be present, but the
10444// value will be replaced with "sensitive".
10445func (s ListChannelMessagesOutput) String() string {
10446	return awsutil.Prettify(s)
10447}
10448
10449// GoString returns the string representation.
10450//
10451// API parameter values that are decorated as "sensitive" in the API will not
10452// be included in the string output. The member name will be present, but the
10453// value will be replaced with "sensitive".
10454func (s ListChannelMessagesOutput) GoString() string {
10455	return s.String()
10456}
10457
10458// SetChannelArn sets the ChannelArn field's value.
10459func (s *ListChannelMessagesOutput) SetChannelArn(v string) *ListChannelMessagesOutput {
10460	s.ChannelArn = &v
10461	return s
10462}
10463
10464// SetChannelMessages sets the ChannelMessages field's value.
10465func (s *ListChannelMessagesOutput) SetChannelMessages(v []*ChannelMessageSummary) *ListChannelMessagesOutput {
10466	s.ChannelMessages = v
10467	return s
10468}
10469
10470// SetNextToken sets the NextToken field's value.
10471func (s *ListChannelMessagesOutput) SetNextToken(v string) *ListChannelMessagesOutput {
10472	s.NextToken = &v
10473	return s
10474}
10475
10476type ListChannelModeratorsInput struct {
10477	_ struct{} `type:"structure" nopayload:"true"`
10478
10479	// The ARN of the channel.
10480	//
10481	// ChannelArn is a required field
10482	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
10483
10484	// The AppInstanceUserArn of the user that makes the API call.
10485	//
10486	// ChimeBearer is a required field
10487	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
10488
10489	// The maximum number of moderators that you want returned.
10490	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
10491
10492	// The token passed by previous API calls until all requested moderators are
10493	// returned.
10494	//
10495	// NextToken is a sensitive parameter and its value will be
10496	// replaced with "sensitive" in string returned by ListChannelModeratorsInput's
10497	// String and GoString methods.
10498	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
10499}
10500
10501// String returns the string representation.
10502//
10503// API parameter values that are decorated as "sensitive" in the API will not
10504// be included in the string output. The member name will be present, but the
10505// value will be replaced with "sensitive".
10506func (s ListChannelModeratorsInput) String() string {
10507	return awsutil.Prettify(s)
10508}
10509
10510// GoString returns the string representation.
10511//
10512// API parameter values that are decorated as "sensitive" in the API will not
10513// be included in the string output. The member name will be present, but the
10514// value will be replaced with "sensitive".
10515func (s ListChannelModeratorsInput) GoString() string {
10516	return s.String()
10517}
10518
10519// Validate inspects the fields of the type to determine if they are valid.
10520func (s *ListChannelModeratorsInput) Validate() error {
10521	invalidParams := request.ErrInvalidParams{Context: "ListChannelModeratorsInput"}
10522	if s.ChannelArn == nil {
10523		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
10524	}
10525	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
10526		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
10527	}
10528	if s.ChimeBearer == nil {
10529		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
10530	}
10531	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
10532		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
10533	}
10534	if s.MaxResults != nil && *s.MaxResults < 1 {
10535		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10536	}
10537
10538	if invalidParams.Len() > 0 {
10539		return invalidParams
10540	}
10541	return nil
10542}
10543
10544// SetChannelArn sets the ChannelArn field's value.
10545func (s *ListChannelModeratorsInput) SetChannelArn(v string) *ListChannelModeratorsInput {
10546	s.ChannelArn = &v
10547	return s
10548}
10549
10550// SetChimeBearer sets the ChimeBearer field's value.
10551func (s *ListChannelModeratorsInput) SetChimeBearer(v string) *ListChannelModeratorsInput {
10552	s.ChimeBearer = &v
10553	return s
10554}
10555
10556// SetMaxResults sets the MaxResults field's value.
10557func (s *ListChannelModeratorsInput) SetMaxResults(v int64) *ListChannelModeratorsInput {
10558	s.MaxResults = &v
10559	return s
10560}
10561
10562// SetNextToken sets the NextToken field's value.
10563func (s *ListChannelModeratorsInput) SetNextToken(v string) *ListChannelModeratorsInput {
10564	s.NextToken = &v
10565	return s
10566}
10567
10568type ListChannelModeratorsOutput struct {
10569	_ struct{} `type:"structure"`
10570
10571	// The ARN of the channel.
10572	ChannelArn *string `min:"5" type:"string"`
10573
10574	// The information about and names of each moderator.
10575	ChannelModerators []*ChannelModeratorSummary `type:"list"`
10576
10577	// The token passed by previous API calls until all requested moderators are
10578	// returned.
10579	//
10580	// NextToken is a sensitive parameter and its value will be
10581	// replaced with "sensitive" in string returned by ListChannelModeratorsOutput's
10582	// String and GoString methods.
10583	NextToken *string `type:"string" sensitive:"true"`
10584}
10585
10586// String returns the string representation.
10587//
10588// API parameter values that are decorated as "sensitive" in the API will not
10589// be included in the string output. The member name will be present, but the
10590// value will be replaced with "sensitive".
10591func (s ListChannelModeratorsOutput) String() string {
10592	return awsutil.Prettify(s)
10593}
10594
10595// GoString returns the string representation.
10596//
10597// API parameter values that are decorated as "sensitive" in the API will not
10598// be included in the string output. The member name will be present, but the
10599// value will be replaced with "sensitive".
10600func (s ListChannelModeratorsOutput) GoString() string {
10601	return s.String()
10602}
10603
10604// SetChannelArn sets the ChannelArn field's value.
10605func (s *ListChannelModeratorsOutput) SetChannelArn(v string) *ListChannelModeratorsOutput {
10606	s.ChannelArn = &v
10607	return s
10608}
10609
10610// SetChannelModerators sets the ChannelModerators field's value.
10611func (s *ListChannelModeratorsOutput) SetChannelModerators(v []*ChannelModeratorSummary) *ListChannelModeratorsOutput {
10612	s.ChannelModerators = v
10613	return s
10614}
10615
10616// SetNextToken sets the NextToken field's value.
10617func (s *ListChannelModeratorsOutput) SetNextToken(v string) *ListChannelModeratorsOutput {
10618	s.NextToken = &v
10619	return s
10620}
10621
10622type ListChannelsAssociatedWithChannelFlowInput struct {
10623	_ struct{} `type:"structure" nopayload:"true"`
10624
10625	// The ARN of the channel flow.
10626	//
10627	// ChannelFlowArn is a required field
10628	ChannelFlowArn *string `location:"querystring" locationName:"channel-flow-arn" min:"5" type:"string" required:"true"`
10629
10630	// The maximum number of channels that you want to return.
10631	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
10632
10633	// The token passed by previous API calls until all requested channels are returned.
10634	//
10635	// NextToken is a sensitive parameter and its value will be
10636	// replaced with "sensitive" in string returned by ListChannelsAssociatedWithChannelFlowInput's
10637	// String and GoString methods.
10638	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
10639}
10640
10641// String returns the string representation.
10642//
10643// API parameter values that are decorated as "sensitive" in the API will not
10644// be included in the string output. The member name will be present, but the
10645// value will be replaced with "sensitive".
10646func (s ListChannelsAssociatedWithChannelFlowInput) String() string {
10647	return awsutil.Prettify(s)
10648}
10649
10650// GoString returns the string representation.
10651//
10652// API parameter values that are decorated as "sensitive" in the API will not
10653// be included in the string output. The member name will be present, but the
10654// value will be replaced with "sensitive".
10655func (s ListChannelsAssociatedWithChannelFlowInput) GoString() string {
10656	return s.String()
10657}
10658
10659// Validate inspects the fields of the type to determine if they are valid.
10660func (s *ListChannelsAssociatedWithChannelFlowInput) Validate() error {
10661	invalidParams := request.ErrInvalidParams{Context: "ListChannelsAssociatedWithChannelFlowInput"}
10662	if s.ChannelFlowArn == nil {
10663		invalidParams.Add(request.NewErrParamRequired("ChannelFlowArn"))
10664	}
10665	if s.ChannelFlowArn != nil && len(*s.ChannelFlowArn) < 5 {
10666		invalidParams.Add(request.NewErrParamMinLen("ChannelFlowArn", 5))
10667	}
10668	if s.MaxResults != nil && *s.MaxResults < 1 {
10669		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10670	}
10671
10672	if invalidParams.Len() > 0 {
10673		return invalidParams
10674	}
10675	return nil
10676}
10677
10678// SetChannelFlowArn sets the ChannelFlowArn field's value.
10679func (s *ListChannelsAssociatedWithChannelFlowInput) SetChannelFlowArn(v string) *ListChannelsAssociatedWithChannelFlowInput {
10680	s.ChannelFlowArn = &v
10681	return s
10682}
10683
10684// SetMaxResults sets the MaxResults field's value.
10685func (s *ListChannelsAssociatedWithChannelFlowInput) SetMaxResults(v int64) *ListChannelsAssociatedWithChannelFlowInput {
10686	s.MaxResults = &v
10687	return s
10688}
10689
10690// SetNextToken sets the NextToken field's value.
10691func (s *ListChannelsAssociatedWithChannelFlowInput) SetNextToken(v string) *ListChannelsAssociatedWithChannelFlowInput {
10692	s.NextToken = &v
10693	return s
10694}
10695
10696type ListChannelsAssociatedWithChannelFlowOutput struct {
10697	_ struct{} `type:"structure"`
10698
10699	// The information about each channel.
10700	Channels []*ChannelAssociatedWithFlowSummary `type:"list"`
10701
10702	// The token passed by previous API calls until all requested channels are returned.
10703	//
10704	// NextToken is a sensitive parameter and its value will be
10705	// replaced with "sensitive" in string returned by ListChannelsAssociatedWithChannelFlowOutput's
10706	// String and GoString methods.
10707	NextToken *string `type:"string" sensitive:"true"`
10708}
10709
10710// String returns the string representation.
10711//
10712// API parameter values that are decorated as "sensitive" in the API will not
10713// be included in the string output. The member name will be present, but the
10714// value will be replaced with "sensitive".
10715func (s ListChannelsAssociatedWithChannelFlowOutput) String() string {
10716	return awsutil.Prettify(s)
10717}
10718
10719// GoString returns the string representation.
10720//
10721// API parameter values that are decorated as "sensitive" in the API will not
10722// be included in the string output. The member name will be present, but the
10723// value will be replaced with "sensitive".
10724func (s ListChannelsAssociatedWithChannelFlowOutput) GoString() string {
10725	return s.String()
10726}
10727
10728// SetChannels sets the Channels field's value.
10729func (s *ListChannelsAssociatedWithChannelFlowOutput) SetChannels(v []*ChannelAssociatedWithFlowSummary) *ListChannelsAssociatedWithChannelFlowOutput {
10730	s.Channels = v
10731	return s
10732}
10733
10734// SetNextToken sets the NextToken field's value.
10735func (s *ListChannelsAssociatedWithChannelFlowOutput) SetNextToken(v string) *ListChannelsAssociatedWithChannelFlowOutput {
10736	s.NextToken = &v
10737	return s
10738}
10739
10740type ListChannelsInput struct {
10741	_ struct{} `type:"structure" nopayload:"true"`
10742
10743	// The ARN of the AppInstance.
10744	//
10745	// AppInstanceArn is a required field
10746	AppInstanceArn *string `location:"querystring" locationName:"app-instance-arn" min:"5" type:"string" required:"true"`
10747
10748	// The AppInstanceUserArn of the user that makes the API call.
10749	//
10750	// ChimeBearer is a required field
10751	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
10752
10753	// The maximum number of channels that you want to return.
10754	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
10755
10756	// The token passed by previous API calls until all requested channels are returned.
10757	//
10758	// NextToken is a sensitive parameter and its value will be
10759	// replaced with "sensitive" in string returned by ListChannelsInput's
10760	// String and GoString methods.
10761	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
10762
10763	// The privacy setting. PUBLIC retrieves all the public channels. PRIVATE retrieves
10764	// private channels. Only an AppInstanceAdmin can retrieve private channels.
10765	Privacy *string `location:"querystring" locationName:"privacy" type:"string" enum:"ChannelPrivacy"`
10766}
10767
10768// String returns the string representation.
10769//
10770// API parameter values that are decorated as "sensitive" in the API will not
10771// be included in the string output. The member name will be present, but the
10772// value will be replaced with "sensitive".
10773func (s ListChannelsInput) String() string {
10774	return awsutil.Prettify(s)
10775}
10776
10777// GoString returns the string representation.
10778//
10779// API parameter values that are decorated as "sensitive" in the API will not
10780// be included in the string output. The member name will be present, but the
10781// value will be replaced with "sensitive".
10782func (s ListChannelsInput) GoString() string {
10783	return s.String()
10784}
10785
10786// Validate inspects the fields of the type to determine if they are valid.
10787func (s *ListChannelsInput) Validate() error {
10788	invalidParams := request.ErrInvalidParams{Context: "ListChannelsInput"}
10789	if s.AppInstanceArn == nil {
10790		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
10791	}
10792	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
10793		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
10794	}
10795	if s.ChimeBearer == nil {
10796		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
10797	}
10798	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
10799		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
10800	}
10801	if s.MaxResults != nil && *s.MaxResults < 1 {
10802		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10803	}
10804
10805	if invalidParams.Len() > 0 {
10806		return invalidParams
10807	}
10808	return nil
10809}
10810
10811// SetAppInstanceArn sets the AppInstanceArn field's value.
10812func (s *ListChannelsInput) SetAppInstanceArn(v string) *ListChannelsInput {
10813	s.AppInstanceArn = &v
10814	return s
10815}
10816
10817// SetChimeBearer sets the ChimeBearer field's value.
10818func (s *ListChannelsInput) SetChimeBearer(v string) *ListChannelsInput {
10819	s.ChimeBearer = &v
10820	return s
10821}
10822
10823// SetMaxResults sets the MaxResults field's value.
10824func (s *ListChannelsInput) SetMaxResults(v int64) *ListChannelsInput {
10825	s.MaxResults = &v
10826	return s
10827}
10828
10829// SetNextToken sets the NextToken field's value.
10830func (s *ListChannelsInput) SetNextToken(v string) *ListChannelsInput {
10831	s.NextToken = &v
10832	return s
10833}
10834
10835// SetPrivacy sets the Privacy field's value.
10836func (s *ListChannelsInput) SetPrivacy(v string) *ListChannelsInput {
10837	s.Privacy = &v
10838	return s
10839}
10840
10841type ListChannelsModeratedByAppInstanceUserInput struct {
10842	_ struct{} `type:"structure" nopayload:"true"`
10843
10844	// The ARN of the user in the moderated channel.
10845	AppInstanceUserArn *string `location:"querystring" locationName:"app-instance-user-arn" min:"5" type:"string"`
10846
10847	// The AppInstanceUserArn of the user that makes the API call.
10848	//
10849	// ChimeBearer is a required field
10850	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
10851
10852	// The maximum number of channels in the request.
10853	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
10854
10855	// The token returned from previous API requests until the number of channels
10856	// moderated by the user is reached.
10857	//
10858	// NextToken is a sensitive parameter and its value will be
10859	// replaced with "sensitive" in string returned by ListChannelsModeratedByAppInstanceUserInput's
10860	// String and GoString methods.
10861	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
10862}
10863
10864// String returns the string representation.
10865//
10866// API parameter values that are decorated as "sensitive" in the API will not
10867// be included in the string output. The member name will be present, but the
10868// value will be replaced with "sensitive".
10869func (s ListChannelsModeratedByAppInstanceUserInput) String() string {
10870	return awsutil.Prettify(s)
10871}
10872
10873// GoString returns the string representation.
10874//
10875// API parameter values that are decorated as "sensitive" in the API will not
10876// be included in the string output. The member name will be present, but the
10877// value will be replaced with "sensitive".
10878func (s ListChannelsModeratedByAppInstanceUserInput) GoString() string {
10879	return s.String()
10880}
10881
10882// Validate inspects the fields of the type to determine if they are valid.
10883func (s *ListChannelsModeratedByAppInstanceUserInput) Validate() error {
10884	invalidParams := request.ErrInvalidParams{Context: "ListChannelsModeratedByAppInstanceUserInput"}
10885	if s.AppInstanceUserArn != nil && len(*s.AppInstanceUserArn) < 5 {
10886		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserArn", 5))
10887	}
10888	if s.ChimeBearer == nil {
10889		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
10890	}
10891	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
10892		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
10893	}
10894	if s.MaxResults != nil && *s.MaxResults < 1 {
10895		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10896	}
10897
10898	if invalidParams.Len() > 0 {
10899		return invalidParams
10900	}
10901	return nil
10902}
10903
10904// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
10905func (s *ListChannelsModeratedByAppInstanceUserInput) SetAppInstanceUserArn(v string) *ListChannelsModeratedByAppInstanceUserInput {
10906	s.AppInstanceUserArn = &v
10907	return s
10908}
10909
10910// SetChimeBearer sets the ChimeBearer field's value.
10911func (s *ListChannelsModeratedByAppInstanceUserInput) SetChimeBearer(v string) *ListChannelsModeratedByAppInstanceUserInput {
10912	s.ChimeBearer = &v
10913	return s
10914}
10915
10916// SetMaxResults sets the MaxResults field's value.
10917func (s *ListChannelsModeratedByAppInstanceUserInput) SetMaxResults(v int64) *ListChannelsModeratedByAppInstanceUserInput {
10918	s.MaxResults = &v
10919	return s
10920}
10921
10922// SetNextToken sets the NextToken field's value.
10923func (s *ListChannelsModeratedByAppInstanceUserInput) SetNextToken(v string) *ListChannelsModeratedByAppInstanceUserInput {
10924	s.NextToken = &v
10925	return s
10926}
10927
10928type ListChannelsModeratedByAppInstanceUserOutput struct {
10929	_ struct{} `type:"structure"`
10930
10931	// The moderated channels in the request.
10932	Channels []*ChannelModeratedByAppInstanceUserSummary `type:"list"`
10933
10934	// The token returned from previous API requests until the number of channels
10935	// moderated by the user is reached.
10936	//
10937	// NextToken is a sensitive parameter and its value will be
10938	// replaced with "sensitive" in string returned by ListChannelsModeratedByAppInstanceUserOutput's
10939	// String and GoString methods.
10940	NextToken *string `type:"string" sensitive:"true"`
10941}
10942
10943// String returns the string representation.
10944//
10945// API parameter values that are decorated as "sensitive" in the API will not
10946// be included in the string output. The member name will be present, but the
10947// value will be replaced with "sensitive".
10948func (s ListChannelsModeratedByAppInstanceUserOutput) String() string {
10949	return awsutil.Prettify(s)
10950}
10951
10952// GoString returns the string representation.
10953//
10954// API parameter values that are decorated as "sensitive" in the API will not
10955// be included in the string output. The member name will be present, but the
10956// value will be replaced with "sensitive".
10957func (s ListChannelsModeratedByAppInstanceUserOutput) GoString() string {
10958	return s.String()
10959}
10960
10961// SetChannels sets the Channels field's value.
10962func (s *ListChannelsModeratedByAppInstanceUserOutput) SetChannels(v []*ChannelModeratedByAppInstanceUserSummary) *ListChannelsModeratedByAppInstanceUserOutput {
10963	s.Channels = v
10964	return s
10965}
10966
10967// SetNextToken sets the NextToken field's value.
10968func (s *ListChannelsModeratedByAppInstanceUserOutput) SetNextToken(v string) *ListChannelsModeratedByAppInstanceUserOutput {
10969	s.NextToken = &v
10970	return s
10971}
10972
10973type ListChannelsOutput struct {
10974	_ struct{} `type:"structure"`
10975
10976	// The information about each channel.
10977	Channels []*ChannelSummary `type:"list"`
10978
10979	// The token returned from previous API requests until the number of channels
10980	// is reached.
10981	//
10982	// NextToken is a sensitive parameter and its value will be
10983	// replaced with "sensitive" in string returned by ListChannelsOutput's
10984	// String and GoString methods.
10985	NextToken *string `type:"string" sensitive:"true"`
10986}
10987
10988// String returns the string representation.
10989//
10990// API parameter values that are decorated as "sensitive" in the API will not
10991// be included in the string output. The member name will be present, but the
10992// value will be replaced with "sensitive".
10993func (s ListChannelsOutput) String() string {
10994	return awsutil.Prettify(s)
10995}
10996
10997// GoString returns the string representation.
10998//
10999// API parameter values that are decorated as "sensitive" in the API will not
11000// be included in the string output. The member name will be present, but the
11001// value will be replaced with "sensitive".
11002func (s ListChannelsOutput) GoString() string {
11003	return s.String()
11004}
11005
11006// SetChannels sets the Channels field's value.
11007func (s *ListChannelsOutput) SetChannels(v []*ChannelSummary) *ListChannelsOutput {
11008	s.Channels = v
11009	return s
11010}
11011
11012// SetNextToken sets the NextToken field's value.
11013func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput {
11014	s.NextToken = &v
11015	return s
11016}
11017
11018type ListTagsForResourceInput struct {
11019	_ struct{} `type:"structure" nopayload:"true"`
11020
11021	// The ARN of the resource.
11022	//
11023	// ResourceARN is a required field
11024	ResourceARN *string `location:"querystring" locationName:"arn" min:"5" type:"string" required:"true"`
11025}
11026
11027// String returns the string representation.
11028//
11029// API parameter values that are decorated as "sensitive" in the API will not
11030// be included in the string output. The member name will be present, but the
11031// value will be replaced with "sensitive".
11032func (s ListTagsForResourceInput) String() string {
11033	return awsutil.Prettify(s)
11034}
11035
11036// GoString returns the string representation.
11037//
11038// API parameter values that are decorated as "sensitive" in the API will not
11039// be included in the string output. The member name will be present, but the
11040// value will be replaced with "sensitive".
11041func (s ListTagsForResourceInput) GoString() string {
11042	return s.String()
11043}
11044
11045// Validate inspects the fields of the type to determine if they are valid.
11046func (s *ListTagsForResourceInput) Validate() error {
11047	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11048	if s.ResourceARN == nil {
11049		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
11050	}
11051	if s.ResourceARN != nil && len(*s.ResourceARN) < 5 {
11052		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 5))
11053	}
11054
11055	if invalidParams.Len() > 0 {
11056		return invalidParams
11057	}
11058	return nil
11059}
11060
11061// SetResourceARN sets the ResourceARN field's value.
11062func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
11063	s.ResourceARN = &v
11064	return s
11065}
11066
11067type ListTagsForResourceOutput struct {
11068	_ struct{} `type:"structure"`
11069
11070	// The tag key-value pairs.
11071	Tags []*Tag `min:"1" type:"list"`
11072}
11073
11074// String returns the string representation.
11075//
11076// API parameter values that are decorated as "sensitive" in the API will not
11077// be included in the string output. The member name will be present, but the
11078// value will be replaced with "sensitive".
11079func (s ListTagsForResourceOutput) String() string {
11080	return awsutil.Prettify(s)
11081}
11082
11083// GoString returns the string representation.
11084//
11085// API parameter values that are decorated as "sensitive" in the API will not
11086// be included in the string output. The member name will be present, but the
11087// value will be replaced with "sensitive".
11088func (s ListTagsForResourceOutput) GoString() string {
11089	return s.String()
11090}
11091
11092// SetTags sets the Tags field's value.
11093func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
11094	s.Tags = v
11095	return s
11096}
11097
11098// A list of message attribute values.
11099type MessageAttributeValue struct {
11100	_ struct{} `type:"structure"`
11101
11102	// The strings in a message attribute value.
11103	StringValues []*string `type:"list"`
11104}
11105
11106// String returns the string representation.
11107//
11108// API parameter values that are decorated as "sensitive" in the API will not
11109// be included in the string output. The member name will be present, but the
11110// value will be replaced with "sensitive".
11111func (s MessageAttributeValue) String() string {
11112	return awsutil.Prettify(s)
11113}
11114
11115// GoString returns the string representation.
11116//
11117// API parameter values that are decorated as "sensitive" in the API will not
11118// be included in the string output. The member name will be present, but the
11119// value will be replaced with "sensitive".
11120func (s MessageAttributeValue) GoString() string {
11121	return s.String()
11122}
11123
11124// SetStringValues sets the StringValues field's value.
11125func (s *MessageAttributeValue) SetStringValues(v []*string) *MessageAttributeValue {
11126	s.StringValues = v
11127	return s
11128}
11129
11130// The websocket endpoint used to connect to Amazon Chime SDK messaging.
11131type MessagingSessionEndpoint struct {
11132	_ struct{} `type:"structure"`
11133
11134	// The endpoint to which you establish a websocket connection.
11135	Url *string `type:"string"`
11136}
11137
11138// String returns the string representation.
11139//
11140// API parameter values that are decorated as "sensitive" in the API will not
11141// be included in the string output. The member name will be present, but the
11142// value will be replaced with "sensitive".
11143func (s MessagingSessionEndpoint) String() string {
11144	return awsutil.Prettify(s)
11145}
11146
11147// GoString returns the string representation.
11148//
11149// API parameter values that are decorated as "sensitive" in the API will not
11150// be included in the string output. The member name will be present, but the
11151// value will be replaced with "sensitive".
11152func (s MessagingSessionEndpoint) GoString() string {
11153	return s.String()
11154}
11155
11156// SetUrl sets the Url field's value.
11157func (s *MessagingSessionEndpoint) SetUrl(v string) *MessagingSessionEndpoint {
11158	s.Url = &v
11159	return s
11160}
11161
11162// One or more of the resources in the request does not exist in the system.
11163type NotFoundException struct {
11164	_            struct{}                  `type:"structure"`
11165	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11166
11167	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
11168
11169	Message_ *string `locationName:"Message" type:"string"`
11170}
11171
11172// String returns the string representation.
11173//
11174// API parameter values that are decorated as "sensitive" in the API will not
11175// be included in the string output. The member name will be present, but the
11176// value will be replaced with "sensitive".
11177func (s NotFoundException) String() string {
11178	return awsutil.Prettify(s)
11179}
11180
11181// GoString returns the string representation.
11182//
11183// API parameter values that are decorated as "sensitive" in the API will not
11184// be included in the string output. The member name will be present, but the
11185// value will be replaced with "sensitive".
11186func (s NotFoundException) GoString() string {
11187	return s.String()
11188}
11189
11190func newErrorNotFoundException(v protocol.ResponseMetadata) error {
11191	return &NotFoundException{
11192		RespMetadata: v,
11193	}
11194}
11195
11196// Code returns the exception type name.
11197func (s *NotFoundException) Code() string {
11198	return "NotFoundException"
11199}
11200
11201// Message returns the exception's message.
11202func (s *NotFoundException) Message() string {
11203	if s.Message_ != nil {
11204		return *s.Message_
11205	}
11206	return ""
11207}
11208
11209// OrigErr always returns nil, satisfies awserr.Error interface.
11210func (s *NotFoundException) OrigErr() error {
11211	return nil
11212}
11213
11214func (s *NotFoundException) Error() string {
11215	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11216}
11217
11218// Status code returns the HTTP status code for the request's response error.
11219func (s *NotFoundException) StatusCode() int {
11220	return s.RespMetadata.StatusCode
11221}
11222
11223// RequestID returns the service's response RequestID for request.
11224func (s *NotFoundException) RequestID() string {
11225	return s.RespMetadata.RequestID
11226}
11227
11228// The information about a processor in a channel flow.
11229type Processor struct {
11230	_ struct{} `type:"structure"`
11231
11232	// The information about the type of processor and its identifier.
11233	//
11234	// Configuration is a required field
11235	Configuration *ProcessorConfiguration `type:"structure" required:"true"`
11236
11237	// The sequence in which processors run. If you have multiple processors in
11238	// a channel flow, message processing goes through each processor in the sequence.
11239	// The value determines the sequence. At this point, we support only 1 processor
11240	// within a flow.
11241	//
11242	// ExecutionOrder is a required field
11243	ExecutionOrder *int64 `min:"1" type:"integer" required:"true"`
11244
11245	// Determines whether to continue with message processing or stop it in cases
11246	// where communication with a processor fails. If a processor has a fallback
11247	// action of ABORT and communication with it fails, the processor sets the message
11248	// status to FAILED and does not send the message to any recipients. Note that
11249	// if the last processor in the channel flow sequence has a fallback action
11250	// of CONTINUE and communication with the processor fails, then the message
11251	// is considered processed and sent to recipients of the channel.
11252	//
11253	// FallbackAction is a required field
11254	FallbackAction *string `type:"string" required:"true" enum:"FallbackAction"`
11255
11256	// The name of the channel flow.
11257	//
11258	// Name is a sensitive parameter and its value will be
11259	// replaced with "sensitive" in string returned by Processor's
11260	// String and GoString methods.
11261	//
11262	// Name is a required field
11263	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
11264}
11265
11266// String returns the string representation.
11267//
11268// API parameter values that are decorated as "sensitive" in the API will not
11269// be included in the string output. The member name will be present, but the
11270// value will be replaced with "sensitive".
11271func (s Processor) String() string {
11272	return awsutil.Prettify(s)
11273}
11274
11275// GoString returns the string representation.
11276//
11277// API parameter values that are decorated as "sensitive" in the API will not
11278// be included in the string output. The member name will be present, but the
11279// value will be replaced with "sensitive".
11280func (s Processor) GoString() string {
11281	return s.String()
11282}
11283
11284// Validate inspects the fields of the type to determine if they are valid.
11285func (s *Processor) Validate() error {
11286	invalidParams := request.ErrInvalidParams{Context: "Processor"}
11287	if s.Configuration == nil {
11288		invalidParams.Add(request.NewErrParamRequired("Configuration"))
11289	}
11290	if s.ExecutionOrder == nil {
11291		invalidParams.Add(request.NewErrParamRequired("ExecutionOrder"))
11292	}
11293	if s.ExecutionOrder != nil && *s.ExecutionOrder < 1 {
11294		invalidParams.Add(request.NewErrParamMinValue("ExecutionOrder", 1))
11295	}
11296	if s.FallbackAction == nil {
11297		invalidParams.Add(request.NewErrParamRequired("FallbackAction"))
11298	}
11299	if s.Name == nil {
11300		invalidParams.Add(request.NewErrParamRequired("Name"))
11301	}
11302	if s.Name != nil && len(*s.Name) < 1 {
11303		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11304	}
11305	if s.Configuration != nil {
11306		if err := s.Configuration.Validate(); err != nil {
11307			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
11308		}
11309	}
11310
11311	if invalidParams.Len() > 0 {
11312		return invalidParams
11313	}
11314	return nil
11315}
11316
11317// SetConfiguration sets the Configuration field's value.
11318func (s *Processor) SetConfiguration(v *ProcessorConfiguration) *Processor {
11319	s.Configuration = v
11320	return s
11321}
11322
11323// SetExecutionOrder sets the ExecutionOrder field's value.
11324func (s *Processor) SetExecutionOrder(v int64) *Processor {
11325	s.ExecutionOrder = &v
11326	return s
11327}
11328
11329// SetFallbackAction sets the FallbackAction field's value.
11330func (s *Processor) SetFallbackAction(v string) *Processor {
11331	s.FallbackAction = &v
11332	return s
11333}
11334
11335// SetName sets the Name field's value.
11336func (s *Processor) SetName(v string) *Processor {
11337	s.Name = &v
11338	return s
11339}
11340
11341// A processor's metadata.
11342type ProcessorConfiguration struct {
11343	_ struct{} `type:"structure"`
11344
11345	// Indicates that the processor is of type Lambda.
11346	//
11347	// Lambda is a required field
11348	Lambda *LambdaConfiguration `type:"structure" required:"true"`
11349}
11350
11351// String returns the string representation.
11352//
11353// API parameter values that are decorated as "sensitive" in the API will not
11354// be included in the string output. The member name will be present, but the
11355// value will be replaced with "sensitive".
11356func (s ProcessorConfiguration) String() string {
11357	return awsutil.Prettify(s)
11358}
11359
11360// GoString returns the string representation.
11361//
11362// API parameter values that are decorated as "sensitive" in the API will not
11363// be included in the string output. The member name will be present, but the
11364// value will be replaced with "sensitive".
11365func (s ProcessorConfiguration) GoString() string {
11366	return s.String()
11367}
11368
11369// Validate inspects the fields of the type to determine if they are valid.
11370func (s *ProcessorConfiguration) Validate() error {
11371	invalidParams := request.ErrInvalidParams{Context: "ProcessorConfiguration"}
11372	if s.Lambda == nil {
11373		invalidParams.Add(request.NewErrParamRequired("Lambda"))
11374	}
11375	if s.Lambda != nil {
11376		if err := s.Lambda.Validate(); err != nil {
11377			invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams))
11378		}
11379	}
11380
11381	if invalidParams.Len() > 0 {
11382		return invalidParams
11383	}
11384	return nil
11385}
11386
11387// SetLambda sets the Lambda field's value.
11388func (s *ProcessorConfiguration) SetLambda(v *LambdaConfiguration) *ProcessorConfiguration {
11389	s.Lambda = v
11390	return s
11391}
11392
11393// The push notification configuration of the message.
11394type PushNotificationConfiguration struct {
11395	_ struct{} `type:"structure"`
11396
11397	// The body of the push notification.
11398	//
11399	// Body is a sensitive parameter and its value will be
11400	// replaced with "sensitive" in string returned by PushNotificationConfiguration's
11401	// String and GoString methods.
11402	//
11403	// Body is a required field
11404	Body *string `type:"string" required:"true" sensitive:"true"`
11405
11406	// The title of the push notification.
11407	//
11408	// Title is a sensitive parameter and its value will be
11409	// replaced with "sensitive" in string returned by PushNotificationConfiguration's
11410	// String and GoString methods.
11411	//
11412	// Title is a required field
11413	Title *string `type:"string" required:"true" sensitive:"true"`
11414
11415	// Enum value that indicates the type of the push notification for a message.
11416	// DEFAULT: Normal mobile push notification. VOIP: VOIP mobile push notification.
11417	//
11418	// Type is a required field
11419	Type *string `type:"string" required:"true" enum:"PushNotificationType"`
11420}
11421
11422// String returns the string representation.
11423//
11424// API parameter values that are decorated as "sensitive" in the API will not
11425// be included in the string output. The member name will be present, but the
11426// value will be replaced with "sensitive".
11427func (s PushNotificationConfiguration) String() string {
11428	return awsutil.Prettify(s)
11429}
11430
11431// GoString returns the string representation.
11432//
11433// API parameter values that are decorated as "sensitive" in the API will not
11434// be included in the string output. The member name will be present, but the
11435// value will be replaced with "sensitive".
11436func (s PushNotificationConfiguration) GoString() string {
11437	return s.String()
11438}
11439
11440// Validate inspects the fields of the type to determine if they are valid.
11441func (s *PushNotificationConfiguration) Validate() error {
11442	invalidParams := request.ErrInvalidParams{Context: "PushNotificationConfiguration"}
11443	if s.Body == nil {
11444		invalidParams.Add(request.NewErrParamRequired("Body"))
11445	}
11446	if s.Title == nil {
11447		invalidParams.Add(request.NewErrParamRequired("Title"))
11448	}
11449	if s.Type == nil {
11450		invalidParams.Add(request.NewErrParamRequired("Type"))
11451	}
11452
11453	if invalidParams.Len() > 0 {
11454		return invalidParams
11455	}
11456	return nil
11457}
11458
11459// SetBody sets the Body field's value.
11460func (s *PushNotificationConfiguration) SetBody(v string) *PushNotificationConfiguration {
11461	s.Body = &v
11462	return s
11463}
11464
11465// SetTitle sets the Title field's value.
11466func (s *PushNotificationConfiguration) SetTitle(v string) *PushNotificationConfiguration {
11467	s.Title = &v
11468	return s
11469}
11470
11471// SetType sets the Type field's value.
11472func (s *PushNotificationConfiguration) SetType(v string) *PushNotificationConfiguration {
11473	s.Type = &v
11474	return s
11475}
11476
11477// The channel membership preferences for push notification.
11478type PushNotificationPreferences struct {
11479	_ struct{} `type:"structure"`
11480
11481	// Enum value that indicates which push notifications to send to the requested
11482	// member of a channel. ALL sends all push notifications, NONE sends no push
11483	// notifications, FILTERED sends only filtered push notifications.
11484	//
11485	// AllowNotifications is a required field
11486	AllowNotifications *string `type:"string" required:"true" enum:"AllowNotifications"`
11487
11488	// The simple JSON object used to send a subset of a push notification to the
11489	// requsted member.
11490	//
11491	// FilterRule is a sensitive parameter and its value will be
11492	// replaced with "sensitive" in string returned by PushNotificationPreferences's
11493	// String and GoString methods.
11494	FilterRule *string `min:"1" type:"string" sensitive:"true"`
11495}
11496
11497// String returns the string representation.
11498//
11499// API parameter values that are decorated as "sensitive" in the API will not
11500// be included in the string output. The member name will be present, but the
11501// value will be replaced with "sensitive".
11502func (s PushNotificationPreferences) String() string {
11503	return awsutil.Prettify(s)
11504}
11505
11506// GoString returns the string representation.
11507//
11508// API parameter values that are decorated as "sensitive" in the API will not
11509// be included in the string output. The member name will be present, but the
11510// value will be replaced with "sensitive".
11511func (s PushNotificationPreferences) GoString() string {
11512	return s.String()
11513}
11514
11515// Validate inspects the fields of the type to determine if they are valid.
11516func (s *PushNotificationPreferences) Validate() error {
11517	invalidParams := request.ErrInvalidParams{Context: "PushNotificationPreferences"}
11518	if s.AllowNotifications == nil {
11519		invalidParams.Add(request.NewErrParamRequired("AllowNotifications"))
11520	}
11521	if s.FilterRule != nil && len(*s.FilterRule) < 1 {
11522		invalidParams.Add(request.NewErrParamMinLen("FilterRule", 1))
11523	}
11524
11525	if invalidParams.Len() > 0 {
11526		return invalidParams
11527	}
11528	return nil
11529}
11530
11531// SetAllowNotifications sets the AllowNotifications field's value.
11532func (s *PushNotificationPreferences) SetAllowNotifications(v string) *PushNotificationPreferences {
11533	s.AllowNotifications = &v
11534	return s
11535}
11536
11537// SetFilterRule sets the FilterRule field's value.
11538func (s *PushNotificationPreferences) SetFilterRule(v string) *PushNotificationPreferences {
11539	s.FilterRule = &v
11540	return s
11541}
11542
11543type PutChannelMembershipPreferencesInput struct {
11544	_ struct{} `type:"structure"`
11545
11546	// The ARN of the channel.
11547	//
11548	// ChannelArn is a required field
11549	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
11550
11551	// The AppInstanceUserARN of the user making the API call.
11552	//
11553	// ChimeBearer is a required field
11554	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
11555
11556	// The AppInstanceUserArn of the member setting the preferences.
11557	//
11558	// MemberArn is a required field
11559	MemberArn *string `location:"uri" locationName:"memberArn" min:"5" type:"string" required:"true"`
11560
11561	// The channel membership preferences of an AppInstanceUser .
11562	//
11563	// Preferences is a required field
11564	Preferences *ChannelMembershipPreferences `type:"structure" required:"true"`
11565}
11566
11567// String returns the string representation.
11568//
11569// API parameter values that are decorated as "sensitive" in the API will not
11570// be included in the string output. The member name will be present, but the
11571// value will be replaced with "sensitive".
11572func (s PutChannelMembershipPreferencesInput) String() string {
11573	return awsutil.Prettify(s)
11574}
11575
11576// GoString returns the string representation.
11577//
11578// API parameter values that are decorated as "sensitive" in the API will not
11579// be included in the string output. The member name will be present, but the
11580// value will be replaced with "sensitive".
11581func (s PutChannelMembershipPreferencesInput) GoString() string {
11582	return s.String()
11583}
11584
11585// Validate inspects the fields of the type to determine if they are valid.
11586func (s *PutChannelMembershipPreferencesInput) Validate() error {
11587	invalidParams := request.ErrInvalidParams{Context: "PutChannelMembershipPreferencesInput"}
11588	if s.ChannelArn == nil {
11589		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
11590	}
11591	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
11592		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
11593	}
11594	if s.ChimeBearer == nil {
11595		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
11596	}
11597	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
11598		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
11599	}
11600	if s.MemberArn == nil {
11601		invalidParams.Add(request.NewErrParamRequired("MemberArn"))
11602	}
11603	if s.MemberArn != nil && len(*s.MemberArn) < 5 {
11604		invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5))
11605	}
11606	if s.Preferences == nil {
11607		invalidParams.Add(request.NewErrParamRequired("Preferences"))
11608	}
11609	if s.Preferences != nil {
11610		if err := s.Preferences.Validate(); err != nil {
11611			invalidParams.AddNested("Preferences", err.(request.ErrInvalidParams))
11612		}
11613	}
11614
11615	if invalidParams.Len() > 0 {
11616		return invalidParams
11617	}
11618	return nil
11619}
11620
11621// SetChannelArn sets the ChannelArn field's value.
11622func (s *PutChannelMembershipPreferencesInput) SetChannelArn(v string) *PutChannelMembershipPreferencesInput {
11623	s.ChannelArn = &v
11624	return s
11625}
11626
11627// SetChimeBearer sets the ChimeBearer field's value.
11628func (s *PutChannelMembershipPreferencesInput) SetChimeBearer(v string) *PutChannelMembershipPreferencesInput {
11629	s.ChimeBearer = &v
11630	return s
11631}
11632
11633// SetMemberArn sets the MemberArn field's value.
11634func (s *PutChannelMembershipPreferencesInput) SetMemberArn(v string) *PutChannelMembershipPreferencesInput {
11635	s.MemberArn = &v
11636	return s
11637}
11638
11639// SetPreferences sets the Preferences field's value.
11640func (s *PutChannelMembershipPreferencesInput) SetPreferences(v *ChannelMembershipPreferences) *PutChannelMembershipPreferencesInput {
11641	s.Preferences = v
11642	return s
11643}
11644
11645type PutChannelMembershipPreferencesOutput struct {
11646	_ struct{} `type:"structure"`
11647
11648	// The ARN of the channel.
11649	ChannelArn *string `min:"5" type:"string"`
11650
11651	// The details of a user.
11652	Member *Identity `type:"structure"`
11653
11654	// The ARN and metadata of the member being added.
11655	Preferences *ChannelMembershipPreferences `type:"structure"`
11656}
11657
11658// String returns the string representation.
11659//
11660// API parameter values that are decorated as "sensitive" in the API will not
11661// be included in the string output. The member name will be present, but the
11662// value will be replaced with "sensitive".
11663func (s PutChannelMembershipPreferencesOutput) String() string {
11664	return awsutil.Prettify(s)
11665}
11666
11667// GoString returns the string representation.
11668//
11669// API parameter values that are decorated as "sensitive" in the API will not
11670// be included in the string output. The member name will be present, but the
11671// value will be replaced with "sensitive".
11672func (s PutChannelMembershipPreferencesOutput) GoString() string {
11673	return s.String()
11674}
11675
11676// SetChannelArn sets the ChannelArn field's value.
11677func (s *PutChannelMembershipPreferencesOutput) SetChannelArn(v string) *PutChannelMembershipPreferencesOutput {
11678	s.ChannelArn = &v
11679	return s
11680}
11681
11682// SetMember sets the Member field's value.
11683func (s *PutChannelMembershipPreferencesOutput) SetMember(v *Identity) *PutChannelMembershipPreferencesOutput {
11684	s.Member = v
11685	return s
11686}
11687
11688// SetPreferences sets the Preferences field's value.
11689func (s *PutChannelMembershipPreferencesOutput) SetPreferences(v *ChannelMembershipPreferences) *PutChannelMembershipPreferencesOutput {
11690	s.Preferences = v
11691	return s
11692}
11693
11694type RedactChannelMessageInput struct {
11695	_ struct{} `type:"structure" nopayload:"true"`
11696
11697	// The ARN of the channel containing the messages that you want to redact.
11698	//
11699	// ChannelArn is a required field
11700	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
11701
11702	// The AppInstanceUserArn of the user that makes the API call.
11703	//
11704	// ChimeBearer is a required field
11705	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
11706
11707	// The ID of the message being redacted.
11708	//
11709	// MessageId is a required field
11710	MessageId *string `location:"uri" locationName:"messageId" min:"1" type:"string" required:"true"`
11711}
11712
11713// String returns the string representation.
11714//
11715// API parameter values that are decorated as "sensitive" in the API will not
11716// be included in the string output. The member name will be present, but the
11717// value will be replaced with "sensitive".
11718func (s RedactChannelMessageInput) String() string {
11719	return awsutil.Prettify(s)
11720}
11721
11722// GoString returns the string representation.
11723//
11724// API parameter values that are decorated as "sensitive" in the API will not
11725// be included in the string output. The member name will be present, but the
11726// value will be replaced with "sensitive".
11727func (s RedactChannelMessageInput) GoString() string {
11728	return s.String()
11729}
11730
11731// Validate inspects the fields of the type to determine if they are valid.
11732func (s *RedactChannelMessageInput) Validate() error {
11733	invalidParams := request.ErrInvalidParams{Context: "RedactChannelMessageInput"}
11734	if s.ChannelArn == nil {
11735		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
11736	}
11737	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
11738		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
11739	}
11740	if s.ChimeBearer == nil {
11741		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
11742	}
11743	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
11744		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
11745	}
11746	if s.MessageId == nil {
11747		invalidParams.Add(request.NewErrParamRequired("MessageId"))
11748	}
11749	if s.MessageId != nil && len(*s.MessageId) < 1 {
11750		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
11751	}
11752
11753	if invalidParams.Len() > 0 {
11754		return invalidParams
11755	}
11756	return nil
11757}
11758
11759// SetChannelArn sets the ChannelArn field's value.
11760func (s *RedactChannelMessageInput) SetChannelArn(v string) *RedactChannelMessageInput {
11761	s.ChannelArn = &v
11762	return s
11763}
11764
11765// SetChimeBearer sets the ChimeBearer field's value.
11766func (s *RedactChannelMessageInput) SetChimeBearer(v string) *RedactChannelMessageInput {
11767	s.ChimeBearer = &v
11768	return s
11769}
11770
11771// SetMessageId sets the MessageId field's value.
11772func (s *RedactChannelMessageInput) SetMessageId(v string) *RedactChannelMessageInput {
11773	s.MessageId = &v
11774	return s
11775}
11776
11777type RedactChannelMessageOutput struct {
11778	_ struct{} `type:"structure"`
11779
11780	// The ARN of the channel containing the messages that you want to redact.
11781	ChannelArn *string `min:"5" type:"string"`
11782
11783	// The ID of the message being redacted.
11784	MessageId *string `min:"1" type:"string"`
11785}
11786
11787// String returns the string representation.
11788//
11789// API parameter values that are decorated as "sensitive" in the API will not
11790// be included in the string output. The member name will be present, but the
11791// value will be replaced with "sensitive".
11792func (s RedactChannelMessageOutput) String() string {
11793	return awsutil.Prettify(s)
11794}
11795
11796// GoString returns the string representation.
11797//
11798// API parameter values that are decorated as "sensitive" in the API will not
11799// be included in the string output. The member name will be present, but the
11800// value will be replaced with "sensitive".
11801func (s RedactChannelMessageOutput) GoString() string {
11802	return s.String()
11803}
11804
11805// SetChannelArn sets the ChannelArn field's value.
11806func (s *RedactChannelMessageOutput) SetChannelArn(v string) *RedactChannelMessageOutput {
11807	s.ChannelArn = &v
11808	return s
11809}
11810
11811// SetMessageId sets the MessageId field's value.
11812func (s *RedactChannelMessageOutput) SetMessageId(v string) *RedactChannelMessageOutput {
11813	s.MessageId = &v
11814	return s
11815}
11816
11817// The request exceeds the resource limit.
11818type ResourceLimitExceededException struct {
11819	_            struct{}                  `type:"structure"`
11820	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11821
11822	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
11823
11824	Message_ *string `locationName:"Message" type:"string"`
11825}
11826
11827// String returns the string representation.
11828//
11829// API parameter values that are decorated as "sensitive" in the API will not
11830// be included in the string output. The member name will be present, but the
11831// value will be replaced with "sensitive".
11832func (s ResourceLimitExceededException) String() string {
11833	return awsutil.Prettify(s)
11834}
11835
11836// GoString returns the string representation.
11837//
11838// API parameter values that are decorated as "sensitive" in the API will not
11839// be included in the string output. The member name will be present, but the
11840// value will be replaced with "sensitive".
11841func (s ResourceLimitExceededException) GoString() string {
11842	return s.String()
11843}
11844
11845func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
11846	return &ResourceLimitExceededException{
11847		RespMetadata: v,
11848	}
11849}
11850
11851// Code returns the exception type name.
11852func (s *ResourceLimitExceededException) Code() string {
11853	return "ResourceLimitExceededException"
11854}
11855
11856// Message returns the exception's message.
11857func (s *ResourceLimitExceededException) Message() string {
11858	if s.Message_ != nil {
11859		return *s.Message_
11860	}
11861	return ""
11862}
11863
11864// OrigErr always returns nil, satisfies awserr.Error interface.
11865func (s *ResourceLimitExceededException) OrigErr() error {
11866	return nil
11867}
11868
11869func (s *ResourceLimitExceededException) Error() string {
11870	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
11871}
11872
11873// Status code returns the HTTP status code for the request's response error.
11874func (s *ResourceLimitExceededException) StatusCode() int {
11875	return s.RespMetadata.StatusCode
11876}
11877
11878// RequestID returns the service's response RequestID for request.
11879func (s *ResourceLimitExceededException) RequestID() string {
11880	return s.RespMetadata.RequestID
11881}
11882
11883type SendChannelMessageInput struct {
11884	_ struct{} `type:"structure"`
11885
11886	// The ARN of the channel.
11887	//
11888	// ChannelArn is a required field
11889	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
11890
11891	// The AppInstanceUserArn of the user that makes the API call.
11892	//
11893	// ChimeBearer is a required field
11894	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
11895
11896	// The Idempotency token for each client request.
11897	//
11898	// ClientRequestToken is a sensitive parameter and its value will be
11899	// replaced with "sensitive" in string returned by SendChannelMessageInput's
11900	// String and GoString methods.
11901	ClientRequestToken *string `min:"2" type:"string" idempotencyToken:"true" sensitive:"true"`
11902
11903	// The content of the message.
11904	//
11905	// Content is a sensitive parameter and its value will be
11906	// replaced with "sensitive" in string returned by SendChannelMessageInput's
11907	// String and GoString methods.
11908	//
11909	// Content is a required field
11910	Content *string `min:"1" type:"string" required:"true" sensitive:"true"`
11911
11912	// The attributes for the message, used for message filtering along with a FilterRule
11913	// defined in the PushNotificationPreferences.
11914	MessageAttributes map[string]*MessageAttributeValue `type:"map"`
11915
11916	// The optional metadata for each message.
11917	//
11918	// Metadata is a sensitive parameter and its value will be
11919	// replaced with "sensitive" in string returned by SendChannelMessageInput's
11920	// String and GoString methods.
11921	Metadata *string `type:"string" sensitive:"true"`
11922
11923	// Boolean that controls whether the message is persisted on the back end. Required.
11924	//
11925	// Persistence is a required field
11926	Persistence *string `type:"string" required:"true" enum:"ChannelMessagePersistenceType"`
11927
11928	// The push notification configuration of the message.
11929	PushNotification *PushNotificationConfiguration `type:"structure"`
11930
11931	// The type of message, STANDARD or CONTROL.
11932	//
11933	// Type is a required field
11934	Type *string `type:"string" required:"true" enum:"ChannelMessageType"`
11935}
11936
11937// String returns the string representation.
11938//
11939// API parameter values that are decorated as "sensitive" in the API will not
11940// be included in the string output. The member name will be present, but the
11941// value will be replaced with "sensitive".
11942func (s SendChannelMessageInput) String() string {
11943	return awsutil.Prettify(s)
11944}
11945
11946// GoString returns the string representation.
11947//
11948// API parameter values that are decorated as "sensitive" in the API will not
11949// be included in the string output. The member name will be present, but the
11950// value will be replaced with "sensitive".
11951func (s SendChannelMessageInput) GoString() string {
11952	return s.String()
11953}
11954
11955// Validate inspects the fields of the type to determine if they are valid.
11956func (s *SendChannelMessageInput) Validate() error {
11957	invalidParams := request.ErrInvalidParams{Context: "SendChannelMessageInput"}
11958	if s.ChannelArn == nil {
11959		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
11960	}
11961	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
11962		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
11963	}
11964	if s.ChimeBearer == nil {
11965		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
11966	}
11967	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
11968		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
11969	}
11970	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 2 {
11971		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 2))
11972	}
11973	if s.Content == nil {
11974		invalidParams.Add(request.NewErrParamRequired("Content"))
11975	}
11976	if s.Content != nil && len(*s.Content) < 1 {
11977		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
11978	}
11979	if s.Persistence == nil {
11980		invalidParams.Add(request.NewErrParamRequired("Persistence"))
11981	}
11982	if s.Type == nil {
11983		invalidParams.Add(request.NewErrParamRequired("Type"))
11984	}
11985	if s.PushNotification != nil {
11986		if err := s.PushNotification.Validate(); err != nil {
11987			invalidParams.AddNested("PushNotification", err.(request.ErrInvalidParams))
11988		}
11989	}
11990
11991	if invalidParams.Len() > 0 {
11992		return invalidParams
11993	}
11994	return nil
11995}
11996
11997// SetChannelArn sets the ChannelArn field's value.
11998func (s *SendChannelMessageInput) SetChannelArn(v string) *SendChannelMessageInput {
11999	s.ChannelArn = &v
12000	return s
12001}
12002
12003// SetChimeBearer sets the ChimeBearer field's value.
12004func (s *SendChannelMessageInput) SetChimeBearer(v string) *SendChannelMessageInput {
12005	s.ChimeBearer = &v
12006	return s
12007}
12008
12009// SetClientRequestToken sets the ClientRequestToken field's value.
12010func (s *SendChannelMessageInput) SetClientRequestToken(v string) *SendChannelMessageInput {
12011	s.ClientRequestToken = &v
12012	return s
12013}
12014
12015// SetContent sets the Content field's value.
12016func (s *SendChannelMessageInput) SetContent(v string) *SendChannelMessageInput {
12017	s.Content = &v
12018	return s
12019}
12020
12021// SetMessageAttributes sets the MessageAttributes field's value.
12022func (s *SendChannelMessageInput) SetMessageAttributes(v map[string]*MessageAttributeValue) *SendChannelMessageInput {
12023	s.MessageAttributes = v
12024	return s
12025}
12026
12027// SetMetadata sets the Metadata field's value.
12028func (s *SendChannelMessageInput) SetMetadata(v string) *SendChannelMessageInput {
12029	s.Metadata = &v
12030	return s
12031}
12032
12033// SetPersistence sets the Persistence field's value.
12034func (s *SendChannelMessageInput) SetPersistence(v string) *SendChannelMessageInput {
12035	s.Persistence = &v
12036	return s
12037}
12038
12039// SetPushNotification sets the PushNotification field's value.
12040func (s *SendChannelMessageInput) SetPushNotification(v *PushNotificationConfiguration) *SendChannelMessageInput {
12041	s.PushNotification = v
12042	return s
12043}
12044
12045// SetType sets the Type field's value.
12046func (s *SendChannelMessageInput) SetType(v string) *SendChannelMessageInput {
12047	s.Type = &v
12048	return s
12049}
12050
12051type SendChannelMessageOutput struct {
12052	_ struct{} `type:"structure"`
12053
12054	// The ARN of the channel.
12055	ChannelArn *string `min:"5" type:"string"`
12056
12057	// The ID string assigned to each message.
12058	MessageId *string `min:"1" type:"string"`
12059
12060	// The status of the channel message.
12061	Status *ChannelMessageStatusStructure `type:"structure"`
12062}
12063
12064// String returns the string representation.
12065//
12066// API parameter values that are decorated as "sensitive" in the API will not
12067// be included in the string output. The member name will be present, but the
12068// value will be replaced with "sensitive".
12069func (s SendChannelMessageOutput) String() string {
12070	return awsutil.Prettify(s)
12071}
12072
12073// GoString returns the string representation.
12074//
12075// API parameter values that are decorated as "sensitive" in the API will not
12076// be included in the string output. The member name will be present, but the
12077// value will be replaced with "sensitive".
12078func (s SendChannelMessageOutput) GoString() string {
12079	return s.String()
12080}
12081
12082// SetChannelArn sets the ChannelArn field's value.
12083func (s *SendChannelMessageOutput) SetChannelArn(v string) *SendChannelMessageOutput {
12084	s.ChannelArn = &v
12085	return s
12086}
12087
12088// SetMessageId sets the MessageId field's value.
12089func (s *SendChannelMessageOutput) SetMessageId(v string) *SendChannelMessageOutput {
12090	s.MessageId = &v
12091	return s
12092}
12093
12094// SetStatus sets the Status field's value.
12095func (s *SendChannelMessageOutput) SetStatus(v *ChannelMessageStatusStructure) *SendChannelMessageOutput {
12096	s.Status = v
12097	return s
12098}
12099
12100// The service encountered an unexpected error.
12101type ServiceFailureException struct {
12102	_            struct{}                  `type:"structure"`
12103	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12104
12105	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
12106
12107	Message_ *string `locationName:"Message" type:"string"`
12108}
12109
12110// String returns the string representation.
12111//
12112// API parameter values that are decorated as "sensitive" in the API will not
12113// be included in the string output. The member name will be present, but the
12114// value will be replaced with "sensitive".
12115func (s ServiceFailureException) String() string {
12116	return awsutil.Prettify(s)
12117}
12118
12119// GoString returns the string representation.
12120//
12121// API parameter values that are decorated as "sensitive" in the API will not
12122// be included in the string output. The member name will be present, but the
12123// value will be replaced with "sensitive".
12124func (s ServiceFailureException) GoString() string {
12125	return s.String()
12126}
12127
12128func newErrorServiceFailureException(v protocol.ResponseMetadata) error {
12129	return &ServiceFailureException{
12130		RespMetadata: v,
12131	}
12132}
12133
12134// Code returns the exception type name.
12135func (s *ServiceFailureException) Code() string {
12136	return "ServiceFailureException"
12137}
12138
12139// Message returns the exception's message.
12140func (s *ServiceFailureException) Message() string {
12141	if s.Message_ != nil {
12142		return *s.Message_
12143	}
12144	return ""
12145}
12146
12147// OrigErr always returns nil, satisfies awserr.Error interface.
12148func (s *ServiceFailureException) OrigErr() error {
12149	return nil
12150}
12151
12152func (s *ServiceFailureException) Error() string {
12153	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12154}
12155
12156// Status code returns the HTTP status code for the request's response error.
12157func (s *ServiceFailureException) StatusCode() int {
12158	return s.RespMetadata.StatusCode
12159}
12160
12161// RequestID returns the service's response RequestID for request.
12162func (s *ServiceFailureException) RequestID() string {
12163	return s.RespMetadata.RequestID
12164}
12165
12166// The service is currently unavailable.
12167type ServiceUnavailableException struct {
12168	_            struct{}                  `type:"structure"`
12169	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12170
12171	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
12172
12173	Message_ *string `locationName:"Message" type:"string"`
12174}
12175
12176// String returns the string representation.
12177//
12178// API parameter values that are decorated as "sensitive" in the API will not
12179// be included in the string output. The member name will be present, but the
12180// value will be replaced with "sensitive".
12181func (s ServiceUnavailableException) String() string {
12182	return awsutil.Prettify(s)
12183}
12184
12185// GoString returns the string representation.
12186//
12187// API parameter values that are decorated as "sensitive" in the API will not
12188// be included in the string output. The member name will be present, but the
12189// value will be replaced with "sensitive".
12190func (s ServiceUnavailableException) GoString() string {
12191	return s.String()
12192}
12193
12194func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
12195	return &ServiceUnavailableException{
12196		RespMetadata: v,
12197	}
12198}
12199
12200// Code returns the exception type name.
12201func (s *ServiceUnavailableException) Code() string {
12202	return "ServiceUnavailableException"
12203}
12204
12205// Message returns the exception's message.
12206func (s *ServiceUnavailableException) Message() string {
12207	if s.Message_ != nil {
12208		return *s.Message_
12209	}
12210	return ""
12211}
12212
12213// OrigErr always returns nil, satisfies awserr.Error interface.
12214func (s *ServiceUnavailableException) OrigErr() error {
12215	return nil
12216}
12217
12218func (s *ServiceUnavailableException) Error() string {
12219	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12220}
12221
12222// Status code returns the HTTP status code for the request's response error.
12223func (s *ServiceUnavailableException) StatusCode() int {
12224	return s.RespMetadata.StatusCode
12225}
12226
12227// RequestID returns the service's response RequestID for request.
12228func (s *ServiceUnavailableException) RequestID() string {
12229	return s.RespMetadata.RequestID
12230}
12231
12232// A tag object containing a key-value pair.
12233type Tag struct {
12234	_ struct{} `type:"structure"`
12235
12236	// The key in a tag.
12237	//
12238	// Key is a sensitive parameter and its value will be
12239	// replaced with "sensitive" in string returned by Tag's
12240	// String and GoString methods.
12241	//
12242	// Key is a required field
12243	Key *string `min:"1" type:"string" required:"true" sensitive:"true"`
12244
12245	// The value in a tag.
12246	//
12247	// Value is a sensitive parameter and its value will be
12248	// replaced with "sensitive" in string returned by Tag's
12249	// String and GoString methods.
12250	//
12251	// Value is a required field
12252	Value *string `min:"1" type:"string" required:"true" sensitive:"true"`
12253}
12254
12255// String returns the string representation.
12256//
12257// API parameter values that are decorated as "sensitive" in the API will not
12258// be included in the string output. The member name will be present, but the
12259// value will be replaced with "sensitive".
12260func (s Tag) String() string {
12261	return awsutil.Prettify(s)
12262}
12263
12264// GoString returns the string representation.
12265//
12266// API parameter values that are decorated as "sensitive" in the API will not
12267// be included in the string output. The member name will be present, but the
12268// value will be replaced with "sensitive".
12269func (s Tag) GoString() string {
12270	return s.String()
12271}
12272
12273// Validate inspects the fields of the type to determine if they are valid.
12274func (s *Tag) Validate() error {
12275	invalidParams := request.ErrInvalidParams{Context: "Tag"}
12276	if s.Key == nil {
12277		invalidParams.Add(request.NewErrParamRequired("Key"))
12278	}
12279	if s.Key != nil && len(*s.Key) < 1 {
12280		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12281	}
12282	if s.Value == nil {
12283		invalidParams.Add(request.NewErrParamRequired("Value"))
12284	}
12285	if s.Value != nil && len(*s.Value) < 1 {
12286		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12287	}
12288
12289	if invalidParams.Len() > 0 {
12290		return invalidParams
12291	}
12292	return nil
12293}
12294
12295// SetKey sets the Key field's value.
12296func (s *Tag) SetKey(v string) *Tag {
12297	s.Key = &v
12298	return s
12299}
12300
12301// SetValue sets the Value field's value.
12302func (s *Tag) SetValue(v string) *Tag {
12303	s.Value = &v
12304	return s
12305}
12306
12307type TagResourceInput struct {
12308	_ struct{} `type:"structure"`
12309
12310	// The resource ARN.
12311	//
12312	// ResourceARN is a required field
12313	ResourceARN *string `min:"5" type:"string" required:"true"`
12314
12315	// The tag key-value pairs.
12316	//
12317	// Tags is a required field
12318	Tags []*Tag `min:"1" type:"list" required:"true"`
12319}
12320
12321// String returns the string representation.
12322//
12323// API parameter values that are decorated as "sensitive" in the API will not
12324// be included in the string output. The member name will be present, but the
12325// value will be replaced with "sensitive".
12326func (s TagResourceInput) String() string {
12327	return awsutil.Prettify(s)
12328}
12329
12330// GoString returns the string representation.
12331//
12332// API parameter values that are decorated as "sensitive" in the API will not
12333// be included in the string output. The member name will be present, but the
12334// value will be replaced with "sensitive".
12335func (s TagResourceInput) GoString() string {
12336	return s.String()
12337}
12338
12339// Validate inspects the fields of the type to determine if they are valid.
12340func (s *TagResourceInput) Validate() error {
12341	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
12342	if s.ResourceARN == nil {
12343		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
12344	}
12345	if s.ResourceARN != nil && len(*s.ResourceARN) < 5 {
12346		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 5))
12347	}
12348	if s.Tags == nil {
12349		invalidParams.Add(request.NewErrParamRequired("Tags"))
12350	}
12351	if s.Tags != nil && len(s.Tags) < 1 {
12352		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
12353	}
12354	if s.Tags != nil {
12355		for i, v := range s.Tags {
12356			if v == nil {
12357				continue
12358			}
12359			if err := v.Validate(); err != nil {
12360				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
12361			}
12362		}
12363	}
12364
12365	if invalidParams.Len() > 0 {
12366		return invalidParams
12367	}
12368	return nil
12369}
12370
12371// SetResourceARN sets the ResourceARN field's value.
12372func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
12373	s.ResourceARN = &v
12374	return s
12375}
12376
12377// SetTags sets the Tags field's value.
12378func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
12379	s.Tags = v
12380	return s
12381}
12382
12383type TagResourceOutput struct {
12384	_ struct{} `type:"structure"`
12385}
12386
12387// String returns the string representation.
12388//
12389// API parameter values that are decorated as "sensitive" in the API will not
12390// be included in the string output. The member name will be present, but the
12391// value will be replaced with "sensitive".
12392func (s TagResourceOutput) String() string {
12393	return awsutil.Prettify(s)
12394}
12395
12396// GoString returns the string representation.
12397//
12398// API parameter values that are decorated as "sensitive" in the API will not
12399// be included in the string output. The member name will be present, but the
12400// value will be replaced with "sensitive".
12401func (s TagResourceOutput) GoString() string {
12402	return s.String()
12403}
12404
12405// The client exceeded its request rate limit.
12406type ThrottledClientException struct {
12407	_            struct{}                  `type:"structure"`
12408	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12409
12410	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
12411
12412	Message_ *string `locationName:"Message" type:"string"`
12413}
12414
12415// String returns the string representation.
12416//
12417// API parameter values that are decorated as "sensitive" in the API will not
12418// be included in the string output. The member name will be present, but the
12419// value will be replaced with "sensitive".
12420func (s ThrottledClientException) String() string {
12421	return awsutil.Prettify(s)
12422}
12423
12424// GoString returns the string representation.
12425//
12426// API parameter values that are decorated as "sensitive" in the API will not
12427// be included in the string output. The member name will be present, but the
12428// value will be replaced with "sensitive".
12429func (s ThrottledClientException) GoString() string {
12430	return s.String()
12431}
12432
12433func newErrorThrottledClientException(v protocol.ResponseMetadata) error {
12434	return &ThrottledClientException{
12435		RespMetadata: v,
12436	}
12437}
12438
12439// Code returns the exception type name.
12440func (s *ThrottledClientException) Code() string {
12441	return "ThrottledClientException"
12442}
12443
12444// Message returns the exception's message.
12445func (s *ThrottledClientException) Message() string {
12446	if s.Message_ != nil {
12447		return *s.Message_
12448	}
12449	return ""
12450}
12451
12452// OrigErr always returns nil, satisfies awserr.Error interface.
12453func (s *ThrottledClientException) OrigErr() error {
12454	return nil
12455}
12456
12457func (s *ThrottledClientException) Error() string {
12458	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12459}
12460
12461// Status code returns the HTTP status code for the request's response error.
12462func (s *ThrottledClientException) StatusCode() int {
12463	return s.RespMetadata.StatusCode
12464}
12465
12466// RequestID returns the service's response RequestID for request.
12467func (s *ThrottledClientException) RequestID() string {
12468	return s.RespMetadata.RequestID
12469}
12470
12471// The client is not currently authorized to make the request.
12472type UnauthorizedClientException struct {
12473	_            struct{}                  `type:"structure"`
12474	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12475
12476	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
12477
12478	Message_ *string `locationName:"Message" type:"string"`
12479}
12480
12481// String returns the string representation.
12482//
12483// API parameter values that are decorated as "sensitive" in the API will not
12484// be included in the string output. The member name will be present, but the
12485// value will be replaced with "sensitive".
12486func (s UnauthorizedClientException) String() string {
12487	return awsutil.Prettify(s)
12488}
12489
12490// GoString returns the string representation.
12491//
12492// API parameter values that are decorated as "sensitive" in the API will not
12493// be included in the string output. The member name will be present, but the
12494// value will be replaced with "sensitive".
12495func (s UnauthorizedClientException) GoString() string {
12496	return s.String()
12497}
12498
12499func newErrorUnauthorizedClientException(v protocol.ResponseMetadata) error {
12500	return &UnauthorizedClientException{
12501		RespMetadata: v,
12502	}
12503}
12504
12505// Code returns the exception type name.
12506func (s *UnauthorizedClientException) Code() string {
12507	return "UnauthorizedClientException"
12508}
12509
12510// Message returns the exception's message.
12511func (s *UnauthorizedClientException) Message() string {
12512	if s.Message_ != nil {
12513		return *s.Message_
12514	}
12515	return ""
12516}
12517
12518// OrigErr always returns nil, satisfies awserr.Error interface.
12519func (s *UnauthorizedClientException) OrigErr() error {
12520	return nil
12521}
12522
12523func (s *UnauthorizedClientException) Error() string {
12524	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
12525}
12526
12527// Status code returns the HTTP status code for the request's response error.
12528func (s *UnauthorizedClientException) StatusCode() int {
12529	return s.RespMetadata.StatusCode
12530}
12531
12532// RequestID returns the service's response RequestID for request.
12533func (s *UnauthorizedClientException) RequestID() string {
12534	return s.RespMetadata.RequestID
12535}
12536
12537type UntagResourceInput struct {
12538	_ struct{} `type:"structure"`
12539
12540	// The resource ARN.
12541	//
12542	// ResourceARN is a required field
12543	ResourceARN *string `min:"5" type:"string" required:"true"`
12544
12545	// The tag keys.
12546	//
12547	// TagKeys is a required field
12548	TagKeys []*string `min:"1" type:"list" required:"true"`
12549}
12550
12551// String returns the string representation.
12552//
12553// API parameter values that are decorated as "sensitive" in the API will not
12554// be included in the string output. The member name will be present, but the
12555// value will be replaced with "sensitive".
12556func (s UntagResourceInput) String() string {
12557	return awsutil.Prettify(s)
12558}
12559
12560// GoString returns the string representation.
12561//
12562// API parameter values that are decorated as "sensitive" in the API will not
12563// be included in the string output. The member name will be present, but the
12564// value will be replaced with "sensitive".
12565func (s UntagResourceInput) GoString() string {
12566	return s.String()
12567}
12568
12569// Validate inspects the fields of the type to determine if they are valid.
12570func (s *UntagResourceInput) Validate() error {
12571	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
12572	if s.ResourceARN == nil {
12573		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
12574	}
12575	if s.ResourceARN != nil && len(*s.ResourceARN) < 5 {
12576		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 5))
12577	}
12578	if s.TagKeys == nil {
12579		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
12580	}
12581	if s.TagKeys != nil && len(s.TagKeys) < 1 {
12582		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
12583	}
12584
12585	if invalidParams.Len() > 0 {
12586		return invalidParams
12587	}
12588	return nil
12589}
12590
12591// SetResourceARN sets the ResourceARN field's value.
12592func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
12593	s.ResourceARN = &v
12594	return s
12595}
12596
12597// SetTagKeys sets the TagKeys field's value.
12598func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
12599	s.TagKeys = v
12600	return s
12601}
12602
12603type UntagResourceOutput struct {
12604	_ struct{} `type:"structure"`
12605}
12606
12607// String returns the string representation.
12608//
12609// API parameter values that are decorated as "sensitive" in the API will not
12610// be included in the string output. The member name will be present, but the
12611// value will be replaced with "sensitive".
12612func (s UntagResourceOutput) String() string {
12613	return awsutil.Prettify(s)
12614}
12615
12616// GoString returns the string representation.
12617//
12618// API parameter values that are decorated as "sensitive" in the API will not
12619// be included in the string output. The member name will be present, but the
12620// value will be replaced with "sensitive".
12621func (s UntagResourceOutput) GoString() string {
12622	return s.String()
12623}
12624
12625type UpdateChannelFlowInput struct {
12626	_ struct{} `type:"structure"`
12627
12628	// The ARN of the channel flow.
12629	//
12630	// ChannelFlowArn is a required field
12631	ChannelFlowArn *string `location:"uri" locationName:"channelFlowArn" min:"5" type:"string" required:"true"`
12632
12633	// The name of the channel flow.
12634	//
12635	// Name is a sensitive parameter and its value will be
12636	// replaced with "sensitive" in string returned by UpdateChannelFlowInput's
12637	// String and GoString methods.
12638	//
12639	// Name is a required field
12640	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
12641
12642	// Information about the processor Lambda functions
12643	//
12644	// Processors is a required field
12645	Processors []*Processor `min:"1" type:"list" required:"true"`
12646}
12647
12648// String returns the string representation.
12649//
12650// API parameter values that are decorated as "sensitive" in the API will not
12651// be included in the string output. The member name will be present, but the
12652// value will be replaced with "sensitive".
12653func (s UpdateChannelFlowInput) String() string {
12654	return awsutil.Prettify(s)
12655}
12656
12657// GoString returns the string representation.
12658//
12659// API parameter values that are decorated as "sensitive" in the API will not
12660// be included in the string output. The member name will be present, but the
12661// value will be replaced with "sensitive".
12662func (s UpdateChannelFlowInput) GoString() string {
12663	return s.String()
12664}
12665
12666// Validate inspects the fields of the type to determine if they are valid.
12667func (s *UpdateChannelFlowInput) Validate() error {
12668	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelFlowInput"}
12669	if s.ChannelFlowArn == nil {
12670		invalidParams.Add(request.NewErrParamRequired("ChannelFlowArn"))
12671	}
12672	if s.ChannelFlowArn != nil && len(*s.ChannelFlowArn) < 5 {
12673		invalidParams.Add(request.NewErrParamMinLen("ChannelFlowArn", 5))
12674	}
12675	if s.Name == nil {
12676		invalidParams.Add(request.NewErrParamRequired("Name"))
12677	}
12678	if s.Name != nil && len(*s.Name) < 1 {
12679		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12680	}
12681	if s.Processors == nil {
12682		invalidParams.Add(request.NewErrParamRequired("Processors"))
12683	}
12684	if s.Processors != nil && len(s.Processors) < 1 {
12685		invalidParams.Add(request.NewErrParamMinLen("Processors", 1))
12686	}
12687	if s.Processors != nil {
12688		for i, v := range s.Processors {
12689			if v == nil {
12690				continue
12691			}
12692			if err := v.Validate(); err != nil {
12693				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Processors", i), err.(request.ErrInvalidParams))
12694			}
12695		}
12696	}
12697
12698	if invalidParams.Len() > 0 {
12699		return invalidParams
12700	}
12701	return nil
12702}
12703
12704// SetChannelFlowArn sets the ChannelFlowArn field's value.
12705func (s *UpdateChannelFlowInput) SetChannelFlowArn(v string) *UpdateChannelFlowInput {
12706	s.ChannelFlowArn = &v
12707	return s
12708}
12709
12710// SetName sets the Name field's value.
12711func (s *UpdateChannelFlowInput) SetName(v string) *UpdateChannelFlowInput {
12712	s.Name = &v
12713	return s
12714}
12715
12716// SetProcessors sets the Processors field's value.
12717func (s *UpdateChannelFlowInput) SetProcessors(v []*Processor) *UpdateChannelFlowInput {
12718	s.Processors = v
12719	return s
12720}
12721
12722type UpdateChannelFlowOutput struct {
12723	_ struct{} `type:"structure"`
12724
12725	// The ARN of the channel flow.
12726	ChannelFlowArn *string `min:"5" type:"string"`
12727}
12728
12729// String returns the string representation.
12730//
12731// API parameter values that are decorated as "sensitive" in the API will not
12732// be included in the string output. The member name will be present, but the
12733// value will be replaced with "sensitive".
12734func (s UpdateChannelFlowOutput) String() string {
12735	return awsutil.Prettify(s)
12736}
12737
12738// GoString returns the string representation.
12739//
12740// API parameter values that are decorated as "sensitive" in the API will not
12741// be included in the string output. The member name will be present, but the
12742// value will be replaced with "sensitive".
12743func (s UpdateChannelFlowOutput) GoString() string {
12744	return s.String()
12745}
12746
12747// SetChannelFlowArn sets the ChannelFlowArn field's value.
12748func (s *UpdateChannelFlowOutput) SetChannelFlowArn(v string) *UpdateChannelFlowOutput {
12749	s.ChannelFlowArn = &v
12750	return s
12751}
12752
12753type UpdateChannelInput struct {
12754	_ struct{} `type:"structure"`
12755
12756	// The ARN of the channel.
12757	//
12758	// ChannelArn is a required field
12759	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
12760
12761	// The AppInstanceUserArn of the user that makes the API call.
12762	//
12763	// ChimeBearer is a required field
12764	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
12765
12766	// The metadata for the update request.
12767	//
12768	// Metadata is a sensitive parameter and its value will be
12769	// replaced with "sensitive" in string returned by UpdateChannelInput's
12770	// String and GoString methods.
12771	Metadata *string `type:"string" sensitive:"true"`
12772
12773	// The mode of the update request.
12774	//
12775	// Mode is a required field
12776	Mode *string `type:"string" required:"true" enum:"ChannelMode"`
12777
12778	// The name of the channel.
12779	//
12780	// Name is a sensitive parameter and its value will be
12781	// replaced with "sensitive" in string returned by UpdateChannelInput's
12782	// String and GoString methods.
12783	//
12784	// Name is a required field
12785	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
12786}
12787
12788// String returns the string representation.
12789//
12790// API parameter values that are decorated as "sensitive" in the API will not
12791// be included in the string output. The member name will be present, but the
12792// value will be replaced with "sensitive".
12793func (s UpdateChannelInput) String() string {
12794	return awsutil.Prettify(s)
12795}
12796
12797// GoString returns the string representation.
12798//
12799// API parameter values that are decorated as "sensitive" in the API will not
12800// be included in the string output. The member name will be present, but the
12801// value will be replaced with "sensitive".
12802func (s UpdateChannelInput) GoString() string {
12803	return s.String()
12804}
12805
12806// Validate inspects the fields of the type to determine if they are valid.
12807func (s *UpdateChannelInput) Validate() error {
12808	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelInput"}
12809	if s.ChannelArn == nil {
12810		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
12811	}
12812	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
12813		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
12814	}
12815	if s.ChimeBearer == nil {
12816		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
12817	}
12818	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
12819		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
12820	}
12821	if s.Mode == nil {
12822		invalidParams.Add(request.NewErrParamRequired("Mode"))
12823	}
12824	if s.Name == nil {
12825		invalidParams.Add(request.NewErrParamRequired("Name"))
12826	}
12827	if s.Name != nil && len(*s.Name) < 1 {
12828		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12829	}
12830
12831	if invalidParams.Len() > 0 {
12832		return invalidParams
12833	}
12834	return nil
12835}
12836
12837// SetChannelArn sets the ChannelArn field's value.
12838func (s *UpdateChannelInput) SetChannelArn(v string) *UpdateChannelInput {
12839	s.ChannelArn = &v
12840	return s
12841}
12842
12843// SetChimeBearer sets the ChimeBearer field's value.
12844func (s *UpdateChannelInput) SetChimeBearer(v string) *UpdateChannelInput {
12845	s.ChimeBearer = &v
12846	return s
12847}
12848
12849// SetMetadata sets the Metadata field's value.
12850func (s *UpdateChannelInput) SetMetadata(v string) *UpdateChannelInput {
12851	s.Metadata = &v
12852	return s
12853}
12854
12855// SetMode sets the Mode field's value.
12856func (s *UpdateChannelInput) SetMode(v string) *UpdateChannelInput {
12857	s.Mode = &v
12858	return s
12859}
12860
12861// SetName sets the Name field's value.
12862func (s *UpdateChannelInput) SetName(v string) *UpdateChannelInput {
12863	s.Name = &v
12864	return s
12865}
12866
12867type UpdateChannelMessageInput struct {
12868	_ struct{} `type:"structure"`
12869
12870	// The ARN of the channel.
12871	//
12872	// ChannelArn is a required field
12873	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
12874
12875	// The AppInstanceUserArn of the user that makes the API call.
12876	//
12877	// ChimeBearer is a required field
12878	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
12879
12880	// The content of the message being updated.
12881	//
12882	// Content is a sensitive parameter and its value will be
12883	// replaced with "sensitive" in string returned by UpdateChannelMessageInput's
12884	// String and GoString methods.
12885	Content *string `type:"string" sensitive:"true"`
12886
12887	// The ID string of the message being updated.
12888	//
12889	// MessageId is a required field
12890	MessageId *string `location:"uri" locationName:"messageId" min:"1" type:"string" required:"true"`
12891
12892	// The metadata of the message being updated.
12893	//
12894	// Metadata is a sensitive parameter and its value will be
12895	// replaced with "sensitive" in string returned by UpdateChannelMessageInput's
12896	// String and GoString methods.
12897	Metadata *string `type:"string" sensitive:"true"`
12898}
12899
12900// String returns the string representation.
12901//
12902// API parameter values that are decorated as "sensitive" in the API will not
12903// be included in the string output. The member name will be present, but the
12904// value will be replaced with "sensitive".
12905func (s UpdateChannelMessageInput) String() string {
12906	return awsutil.Prettify(s)
12907}
12908
12909// GoString returns the string representation.
12910//
12911// API parameter values that are decorated as "sensitive" in the API will not
12912// be included in the string output. The member name will be present, but the
12913// value will be replaced with "sensitive".
12914func (s UpdateChannelMessageInput) GoString() string {
12915	return s.String()
12916}
12917
12918// Validate inspects the fields of the type to determine if they are valid.
12919func (s *UpdateChannelMessageInput) Validate() error {
12920	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelMessageInput"}
12921	if s.ChannelArn == nil {
12922		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
12923	}
12924	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
12925		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
12926	}
12927	if s.ChimeBearer == nil {
12928		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
12929	}
12930	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
12931		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
12932	}
12933	if s.MessageId == nil {
12934		invalidParams.Add(request.NewErrParamRequired("MessageId"))
12935	}
12936	if s.MessageId != nil && len(*s.MessageId) < 1 {
12937		invalidParams.Add(request.NewErrParamMinLen("MessageId", 1))
12938	}
12939
12940	if invalidParams.Len() > 0 {
12941		return invalidParams
12942	}
12943	return nil
12944}
12945
12946// SetChannelArn sets the ChannelArn field's value.
12947func (s *UpdateChannelMessageInput) SetChannelArn(v string) *UpdateChannelMessageInput {
12948	s.ChannelArn = &v
12949	return s
12950}
12951
12952// SetChimeBearer sets the ChimeBearer field's value.
12953func (s *UpdateChannelMessageInput) SetChimeBearer(v string) *UpdateChannelMessageInput {
12954	s.ChimeBearer = &v
12955	return s
12956}
12957
12958// SetContent sets the Content field's value.
12959func (s *UpdateChannelMessageInput) SetContent(v string) *UpdateChannelMessageInput {
12960	s.Content = &v
12961	return s
12962}
12963
12964// SetMessageId sets the MessageId field's value.
12965func (s *UpdateChannelMessageInput) SetMessageId(v string) *UpdateChannelMessageInput {
12966	s.MessageId = &v
12967	return s
12968}
12969
12970// SetMetadata sets the Metadata field's value.
12971func (s *UpdateChannelMessageInput) SetMetadata(v string) *UpdateChannelMessageInput {
12972	s.Metadata = &v
12973	return s
12974}
12975
12976type UpdateChannelMessageOutput struct {
12977	_ struct{} `type:"structure"`
12978
12979	// The ARN of the channel.
12980	ChannelArn *string `min:"5" type:"string"`
12981
12982	// The ID string of the message being updated.
12983	MessageId *string `min:"1" type:"string"`
12984
12985	// The status of the message update.
12986	Status *ChannelMessageStatusStructure `type:"structure"`
12987}
12988
12989// String returns the string representation.
12990//
12991// API parameter values that are decorated as "sensitive" in the API will not
12992// be included in the string output. The member name will be present, but the
12993// value will be replaced with "sensitive".
12994func (s UpdateChannelMessageOutput) String() string {
12995	return awsutil.Prettify(s)
12996}
12997
12998// GoString returns the string representation.
12999//
13000// API parameter values that are decorated as "sensitive" in the API will not
13001// be included in the string output. The member name will be present, but the
13002// value will be replaced with "sensitive".
13003func (s UpdateChannelMessageOutput) GoString() string {
13004	return s.String()
13005}
13006
13007// SetChannelArn sets the ChannelArn field's value.
13008func (s *UpdateChannelMessageOutput) SetChannelArn(v string) *UpdateChannelMessageOutput {
13009	s.ChannelArn = &v
13010	return s
13011}
13012
13013// SetMessageId sets the MessageId field's value.
13014func (s *UpdateChannelMessageOutput) SetMessageId(v string) *UpdateChannelMessageOutput {
13015	s.MessageId = &v
13016	return s
13017}
13018
13019// SetStatus sets the Status field's value.
13020func (s *UpdateChannelMessageOutput) SetStatus(v *ChannelMessageStatusStructure) *UpdateChannelMessageOutput {
13021	s.Status = v
13022	return s
13023}
13024
13025type UpdateChannelOutput struct {
13026	_ struct{} `type:"structure"`
13027
13028	// The ARN of the channel.
13029	ChannelArn *string `min:"5" type:"string"`
13030}
13031
13032// String returns the string representation.
13033//
13034// API parameter values that are decorated as "sensitive" in the API will not
13035// be included in the string output. The member name will be present, but the
13036// value will be replaced with "sensitive".
13037func (s UpdateChannelOutput) String() string {
13038	return awsutil.Prettify(s)
13039}
13040
13041// GoString returns the string representation.
13042//
13043// API parameter values that are decorated as "sensitive" in the API will not
13044// be included in the string output. The member name will be present, but the
13045// value will be replaced with "sensitive".
13046func (s UpdateChannelOutput) GoString() string {
13047	return s.String()
13048}
13049
13050// SetChannelArn sets the ChannelArn field's value.
13051func (s *UpdateChannelOutput) SetChannelArn(v string) *UpdateChannelOutput {
13052	s.ChannelArn = &v
13053	return s
13054}
13055
13056type UpdateChannelReadMarkerInput struct {
13057	_ struct{} `type:"structure" nopayload:"true"`
13058
13059	// The ARN of the channel.
13060	//
13061	// ChannelArn is a required field
13062	ChannelArn *string `location:"uri" locationName:"channelArn" min:"5" type:"string" required:"true"`
13063
13064	// The AppInstanceUserArn of the user that makes the API call.
13065	//
13066	// ChimeBearer is a required field
13067	ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"`
13068}
13069
13070// String returns the string representation.
13071//
13072// API parameter values that are decorated as "sensitive" in the API will not
13073// be included in the string output. The member name will be present, but the
13074// value will be replaced with "sensitive".
13075func (s UpdateChannelReadMarkerInput) String() string {
13076	return awsutil.Prettify(s)
13077}
13078
13079// GoString returns the string representation.
13080//
13081// API parameter values that are decorated as "sensitive" in the API will not
13082// be included in the string output. The member name will be present, but the
13083// value will be replaced with "sensitive".
13084func (s UpdateChannelReadMarkerInput) GoString() string {
13085	return s.String()
13086}
13087
13088// Validate inspects the fields of the type to determine if they are valid.
13089func (s *UpdateChannelReadMarkerInput) Validate() error {
13090	invalidParams := request.ErrInvalidParams{Context: "UpdateChannelReadMarkerInput"}
13091	if s.ChannelArn == nil {
13092		invalidParams.Add(request.NewErrParamRequired("ChannelArn"))
13093	}
13094	if s.ChannelArn != nil && len(*s.ChannelArn) < 5 {
13095		invalidParams.Add(request.NewErrParamMinLen("ChannelArn", 5))
13096	}
13097	if s.ChimeBearer == nil {
13098		invalidParams.Add(request.NewErrParamRequired("ChimeBearer"))
13099	}
13100	if s.ChimeBearer != nil && len(*s.ChimeBearer) < 5 {
13101		invalidParams.Add(request.NewErrParamMinLen("ChimeBearer", 5))
13102	}
13103
13104	if invalidParams.Len() > 0 {
13105		return invalidParams
13106	}
13107	return nil
13108}
13109
13110// SetChannelArn sets the ChannelArn field's value.
13111func (s *UpdateChannelReadMarkerInput) SetChannelArn(v string) *UpdateChannelReadMarkerInput {
13112	s.ChannelArn = &v
13113	return s
13114}
13115
13116// SetChimeBearer sets the ChimeBearer field's value.
13117func (s *UpdateChannelReadMarkerInput) SetChimeBearer(v string) *UpdateChannelReadMarkerInput {
13118	s.ChimeBearer = &v
13119	return s
13120}
13121
13122type UpdateChannelReadMarkerOutput struct {
13123	_ struct{} `type:"structure"`
13124
13125	// The ARN of the channel.
13126	ChannelArn *string `min:"5" type:"string"`
13127}
13128
13129// String returns the string representation.
13130//
13131// API parameter values that are decorated as "sensitive" in the API will not
13132// be included in the string output. The member name will be present, but the
13133// value will be replaced with "sensitive".
13134func (s UpdateChannelReadMarkerOutput) String() string {
13135	return awsutil.Prettify(s)
13136}
13137
13138// GoString returns the string representation.
13139//
13140// API parameter values that are decorated as "sensitive" in the API will not
13141// be included in the string output. The member name will be present, but the
13142// value will be replaced with "sensitive".
13143func (s UpdateChannelReadMarkerOutput) GoString() string {
13144	return s.String()
13145}
13146
13147// SetChannelArn sets the ChannelArn field's value.
13148func (s *UpdateChannelReadMarkerOutput) SetChannelArn(v string) *UpdateChannelReadMarkerOutput {
13149	s.ChannelArn = &v
13150	return s
13151}
13152
13153const (
13154	// AllowNotificationsAll is a AllowNotifications enum value
13155	AllowNotificationsAll = "ALL"
13156
13157	// AllowNotificationsNone is a AllowNotifications enum value
13158	AllowNotificationsNone = "NONE"
13159
13160	// AllowNotificationsFiltered is a AllowNotifications enum value
13161	AllowNotificationsFiltered = "FILTERED"
13162)
13163
13164// AllowNotifications_Values returns all elements of the AllowNotifications enum
13165func AllowNotifications_Values() []string {
13166	return []string{
13167		AllowNotificationsAll,
13168		AllowNotificationsNone,
13169		AllowNotificationsFiltered,
13170	}
13171}
13172
13173const (
13174	// ChannelMembershipTypeDefault is a ChannelMembershipType enum value
13175	ChannelMembershipTypeDefault = "DEFAULT"
13176
13177	// ChannelMembershipTypeHidden is a ChannelMembershipType enum value
13178	ChannelMembershipTypeHidden = "HIDDEN"
13179)
13180
13181// ChannelMembershipType_Values returns all elements of the ChannelMembershipType enum
13182func ChannelMembershipType_Values() []string {
13183	return []string{
13184		ChannelMembershipTypeDefault,
13185		ChannelMembershipTypeHidden,
13186	}
13187}
13188
13189const (
13190	// ChannelMessagePersistenceTypePersistent is a ChannelMessagePersistenceType enum value
13191	ChannelMessagePersistenceTypePersistent = "PERSISTENT"
13192
13193	// ChannelMessagePersistenceTypeNonPersistent is a ChannelMessagePersistenceType enum value
13194	ChannelMessagePersistenceTypeNonPersistent = "NON_PERSISTENT"
13195)
13196
13197// ChannelMessagePersistenceType_Values returns all elements of the ChannelMessagePersistenceType enum
13198func ChannelMessagePersistenceType_Values() []string {
13199	return []string{
13200		ChannelMessagePersistenceTypePersistent,
13201		ChannelMessagePersistenceTypeNonPersistent,
13202	}
13203}
13204
13205const (
13206	// ChannelMessageStatusSent is a ChannelMessageStatus enum value
13207	ChannelMessageStatusSent = "SENT"
13208
13209	// ChannelMessageStatusPending is a ChannelMessageStatus enum value
13210	ChannelMessageStatusPending = "PENDING"
13211
13212	// ChannelMessageStatusFailed is a ChannelMessageStatus enum value
13213	ChannelMessageStatusFailed = "FAILED"
13214
13215	// ChannelMessageStatusDenied is a ChannelMessageStatus enum value
13216	ChannelMessageStatusDenied = "DENIED"
13217)
13218
13219// ChannelMessageStatus_Values returns all elements of the ChannelMessageStatus enum
13220func ChannelMessageStatus_Values() []string {
13221	return []string{
13222		ChannelMessageStatusSent,
13223		ChannelMessageStatusPending,
13224		ChannelMessageStatusFailed,
13225		ChannelMessageStatusDenied,
13226	}
13227}
13228
13229const (
13230	// ChannelMessageTypeStandard is a ChannelMessageType enum value
13231	ChannelMessageTypeStandard = "STANDARD"
13232
13233	// ChannelMessageTypeControl is a ChannelMessageType enum value
13234	ChannelMessageTypeControl = "CONTROL"
13235)
13236
13237// ChannelMessageType_Values returns all elements of the ChannelMessageType enum
13238func ChannelMessageType_Values() []string {
13239	return []string{
13240		ChannelMessageTypeStandard,
13241		ChannelMessageTypeControl,
13242	}
13243}
13244
13245const (
13246	// ChannelModeUnrestricted is a ChannelMode enum value
13247	ChannelModeUnrestricted = "UNRESTRICTED"
13248
13249	// ChannelModeRestricted is a ChannelMode enum value
13250	ChannelModeRestricted = "RESTRICTED"
13251)
13252
13253// ChannelMode_Values returns all elements of the ChannelMode enum
13254func ChannelMode_Values() []string {
13255	return []string{
13256		ChannelModeUnrestricted,
13257		ChannelModeRestricted,
13258	}
13259}
13260
13261const (
13262	// ChannelPrivacyPublic is a ChannelPrivacy enum value
13263	ChannelPrivacyPublic = "PUBLIC"
13264
13265	// ChannelPrivacyPrivate is a ChannelPrivacy enum value
13266	ChannelPrivacyPrivate = "PRIVATE"
13267)
13268
13269// ChannelPrivacy_Values returns all elements of the ChannelPrivacy enum
13270func ChannelPrivacy_Values() []string {
13271	return []string{
13272		ChannelPrivacyPublic,
13273		ChannelPrivacyPrivate,
13274	}
13275}
13276
13277const (
13278	// ErrorCodeBadRequest is a ErrorCode enum value
13279	ErrorCodeBadRequest = "BadRequest"
13280
13281	// ErrorCodeConflict is a ErrorCode enum value
13282	ErrorCodeConflict = "Conflict"
13283
13284	// ErrorCodeForbidden is a ErrorCode enum value
13285	ErrorCodeForbidden = "Forbidden"
13286
13287	// ErrorCodeNotFound is a ErrorCode enum value
13288	ErrorCodeNotFound = "NotFound"
13289
13290	// ErrorCodePreconditionFailed is a ErrorCode enum value
13291	ErrorCodePreconditionFailed = "PreconditionFailed"
13292
13293	// ErrorCodeResourceLimitExceeded is a ErrorCode enum value
13294	ErrorCodeResourceLimitExceeded = "ResourceLimitExceeded"
13295
13296	// ErrorCodeServiceFailure is a ErrorCode enum value
13297	ErrorCodeServiceFailure = "ServiceFailure"
13298
13299	// ErrorCodeAccessDenied is a ErrorCode enum value
13300	ErrorCodeAccessDenied = "AccessDenied"
13301
13302	// ErrorCodeServiceUnavailable is a ErrorCode enum value
13303	ErrorCodeServiceUnavailable = "ServiceUnavailable"
13304
13305	// ErrorCodeThrottled is a ErrorCode enum value
13306	ErrorCodeThrottled = "Throttled"
13307
13308	// ErrorCodeThrottling is a ErrorCode enum value
13309	ErrorCodeThrottling = "Throttling"
13310
13311	// ErrorCodeUnauthorized is a ErrorCode enum value
13312	ErrorCodeUnauthorized = "Unauthorized"
13313
13314	// ErrorCodeUnprocessable is a ErrorCode enum value
13315	ErrorCodeUnprocessable = "Unprocessable"
13316
13317	// ErrorCodeVoiceConnectorGroupAssociationsExist is a ErrorCode enum value
13318	ErrorCodeVoiceConnectorGroupAssociationsExist = "VoiceConnectorGroupAssociationsExist"
13319
13320	// ErrorCodePhoneNumberAssociationsExist is a ErrorCode enum value
13321	ErrorCodePhoneNumberAssociationsExist = "PhoneNumberAssociationsExist"
13322)
13323
13324// ErrorCode_Values returns all elements of the ErrorCode enum
13325func ErrorCode_Values() []string {
13326	return []string{
13327		ErrorCodeBadRequest,
13328		ErrorCodeConflict,
13329		ErrorCodeForbidden,
13330		ErrorCodeNotFound,
13331		ErrorCodePreconditionFailed,
13332		ErrorCodeResourceLimitExceeded,
13333		ErrorCodeServiceFailure,
13334		ErrorCodeAccessDenied,
13335		ErrorCodeServiceUnavailable,
13336		ErrorCodeThrottled,
13337		ErrorCodeThrottling,
13338		ErrorCodeUnauthorized,
13339		ErrorCodeUnprocessable,
13340		ErrorCodeVoiceConnectorGroupAssociationsExist,
13341		ErrorCodePhoneNumberAssociationsExist,
13342	}
13343}
13344
13345const (
13346	// FallbackActionContinue is a FallbackAction enum value
13347	FallbackActionContinue = "CONTINUE"
13348
13349	// FallbackActionAbort is a FallbackAction enum value
13350	FallbackActionAbort = "ABORT"
13351)
13352
13353// FallbackAction_Values returns all elements of the FallbackAction enum
13354func FallbackAction_Values() []string {
13355	return []string{
13356		FallbackActionContinue,
13357		FallbackActionAbort,
13358	}
13359}
13360
13361const (
13362	// InvocationTypeAsync is a InvocationType enum value
13363	InvocationTypeAsync = "ASYNC"
13364)
13365
13366// InvocationType_Values returns all elements of the InvocationType enum
13367func InvocationType_Values() []string {
13368	return []string{
13369		InvocationTypeAsync,
13370	}
13371}
13372
13373const (
13374	// PushNotificationTypeDefault is a PushNotificationType enum value
13375	PushNotificationTypeDefault = "DEFAULT"
13376
13377	// PushNotificationTypeVoip is a PushNotificationType enum value
13378	PushNotificationTypeVoip = "VOIP"
13379)
13380
13381// PushNotificationType_Values returns all elements of the PushNotificationType enum
13382func PushNotificationType_Values() []string {
13383	return []string{
13384		PushNotificationTypeDefault,
13385		PushNotificationTypeVoip,
13386	}
13387}
13388
13389const (
13390	// SortOrderAscending is a SortOrder enum value
13391	SortOrderAscending = "ASCENDING"
13392
13393	// SortOrderDescending is a SortOrder enum value
13394	SortOrderDescending = "DESCENDING"
13395)
13396
13397// SortOrder_Values returns all elements of the SortOrder enum
13398func SortOrder_Values() []string {
13399	return []string{
13400		SortOrderAscending,
13401		SortOrderDescending,
13402	}
13403}
13404