1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package chimesdkidentity
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 opCreateAppInstance = "CreateAppInstance"
17
18// CreateAppInstanceRequest generates a "aws/request.Request" representing the
19// client's request for the CreateAppInstance 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 CreateAppInstance for more information on using the CreateAppInstance
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 CreateAppInstanceRequest method.
34//    req, resp := client.CreateAppInstanceRequest(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-identity-2021-04-20/CreateAppInstance
42func (c *ChimeSDKIdentity) CreateAppInstanceRequest(input *CreateAppInstanceInput) (req *request.Request, output *CreateAppInstanceOutput) {
43	op := &request.Operation{
44		Name:       opCreateAppInstance,
45		HTTPMethod: "POST",
46		HTTPPath:   "/app-instances",
47	}
48
49	if input == nil {
50		input = &CreateAppInstanceInput{}
51	}
52
53	output = &CreateAppInstanceOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateAppInstance API operation for Amazon Chime SDK Identity.
59//
60// Creates an Amazon Chime SDK messaging AppInstance under an AWS account. Only
61// SDK messaging customers use this API. CreateAppInstance supports idempotency
62// behavior as described in the AWS API Standard.
63//
64// identity
65//
66// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
67// with awserr.Error's Code and Message methods to get detailed information about
68// the error.
69//
70// See the AWS API reference guide for Amazon Chime SDK Identity's
71// API operation CreateAppInstance for usage and error information.
72//
73// Returned Error Types:
74//   * BadRequestException
75//   The input parameters don't match the service's restrictions.
76//
77//   * ConflictException
78//   The request could not be processed because of conflict in the current state
79//   of the resource.
80//
81//   * ForbiddenException
82//   The client is permanently forbidden from making the request.
83//
84//   * ResourceLimitExceededException
85//   The request exceeds the resource limit.
86//
87//   * ThrottledClientException
88//   The client exceeded its request rate limit.
89//
90//   * UnauthorizedClientException
91//   The client is not currently authorized to make the request.
92//
93//   * ServiceUnavailableException
94//   The service is currently unavailable.
95//
96//   * ServiceFailureException
97//   The service encountered an unexpected error.
98//
99// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/CreateAppInstance
100func (c *ChimeSDKIdentity) CreateAppInstance(input *CreateAppInstanceInput) (*CreateAppInstanceOutput, error) {
101	req, out := c.CreateAppInstanceRequest(input)
102	return out, req.Send()
103}
104
105// CreateAppInstanceWithContext is the same as CreateAppInstance with the addition of
106// the ability to pass a context and additional request options.
107//
108// See CreateAppInstance for details on how to use this API operation.
109//
110// The context must be non-nil and will be used for request cancellation. If
111// the context is nil a panic will occur. In the future the SDK may create
112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
113// for more information on using Contexts.
114func (c *ChimeSDKIdentity) CreateAppInstanceWithContext(ctx aws.Context, input *CreateAppInstanceInput, opts ...request.Option) (*CreateAppInstanceOutput, error) {
115	req, out := c.CreateAppInstanceRequest(input)
116	req.SetContext(ctx)
117	req.ApplyOptions(opts...)
118	return out, req.Send()
119}
120
121const opCreateAppInstanceAdmin = "CreateAppInstanceAdmin"
122
123// CreateAppInstanceAdminRequest generates a "aws/request.Request" representing the
124// client's request for the CreateAppInstanceAdmin operation. The "output" return
125// value will be populated with the request's response once the request completes
126// successfully.
127//
128// Use "Send" method on the returned Request to send the API call to the service.
129// the "output" return value is not valid until after Send returns without error.
130//
131// See CreateAppInstanceAdmin for more information on using the CreateAppInstanceAdmin
132// API call, and error handling.
133//
134// This method is useful when you want to inject custom logic or configuration
135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
136//
137//
138//    // Example sending a request using the CreateAppInstanceAdminRequest method.
139//    req, resp := client.CreateAppInstanceAdminRequest(params)
140//
141//    err := req.Send()
142//    if err == nil { // resp is now filled
143//        fmt.Println(resp)
144//    }
145//
146// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/CreateAppInstanceAdmin
147func (c *ChimeSDKIdentity) CreateAppInstanceAdminRequest(input *CreateAppInstanceAdminInput) (req *request.Request, output *CreateAppInstanceAdminOutput) {
148	op := &request.Operation{
149		Name:       opCreateAppInstanceAdmin,
150		HTTPMethod: "POST",
151		HTTPPath:   "/app-instances/{appInstanceArn}/admins",
152	}
153
154	if input == nil {
155		input = &CreateAppInstanceAdminInput{}
156	}
157
158	output = &CreateAppInstanceAdminOutput{}
159	req = c.newRequest(op, input, output)
160	return
161}
162
163// CreateAppInstanceAdmin API operation for Amazon Chime SDK Identity.
164//
165// Promotes an AppInstanceUser to an AppInstanceAdmin. The promoted user can
166// perform the following actions.
167//
168//    * ChannelModerator actions across all channels in the AppInstance.
169//
170//    * DeleteChannelMessage actions.
171//
172// Only an AppInstanceUser can be promoted to an AppInstanceAdmin role.
173//
174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
175// with awserr.Error's Code and Message methods to get detailed information about
176// the error.
177//
178// See the AWS API reference guide for Amazon Chime SDK Identity's
179// API operation CreateAppInstanceAdmin for usage and error information.
180//
181// Returned Error Types:
182//   * BadRequestException
183//   The input parameters don't match the service's restrictions.
184//
185//   * ConflictException
186//   The request could not be processed because of conflict in the current state
187//   of the resource.
188//
189//   * ForbiddenException
190//   The client is permanently forbidden from making the request.
191//
192//   * ResourceLimitExceededException
193//   The request exceeds the resource limit.
194//
195//   * ThrottledClientException
196//   The client exceeded its request rate limit.
197//
198//   * UnauthorizedClientException
199//   The client is not currently authorized to make the request.
200//
201//   * ServiceUnavailableException
202//   The service is currently unavailable.
203//
204//   * ServiceFailureException
205//   The service encountered an unexpected error.
206//
207// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/CreateAppInstanceAdmin
208func (c *ChimeSDKIdentity) CreateAppInstanceAdmin(input *CreateAppInstanceAdminInput) (*CreateAppInstanceAdminOutput, error) {
209	req, out := c.CreateAppInstanceAdminRequest(input)
210	return out, req.Send()
211}
212
213// CreateAppInstanceAdminWithContext is the same as CreateAppInstanceAdmin with the addition of
214// the ability to pass a context and additional request options.
215//
216// See CreateAppInstanceAdmin for details on how to use this API operation.
217//
218// The context must be non-nil and will be used for request cancellation. If
219// the context is nil a panic will occur. In the future the SDK may create
220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
221// for more information on using Contexts.
222func (c *ChimeSDKIdentity) CreateAppInstanceAdminWithContext(ctx aws.Context, input *CreateAppInstanceAdminInput, opts ...request.Option) (*CreateAppInstanceAdminOutput, error) {
223	req, out := c.CreateAppInstanceAdminRequest(input)
224	req.SetContext(ctx)
225	req.ApplyOptions(opts...)
226	return out, req.Send()
227}
228
229const opCreateAppInstanceUser = "CreateAppInstanceUser"
230
231// CreateAppInstanceUserRequest generates a "aws/request.Request" representing the
232// client's request for the CreateAppInstanceUser operation. The "output" return
233// value will be populated with the request's response once the request completes
234// successfully.
235//
236// Use "Send" method on the returned Request to send the API call to the service.
237// the "output" return value is not valid until after Send returns without error.
238//
239// See CreateAppInstanceUser for more information on using the CreateAppInstanceUser
240// API call, and error handling.
241//
242// This method is useful when you want to inject custom logic or configuration
243// into the SDK's request lifecycle. Such as custom headers, or retry logic.
244//
245//
246//    // Example sending a request using the CreateAppInstanceUserRequest method.
247//    req, resp := client.CreateAppInstanceUserRequest(params)
248//
249//    err := req.Send()
250//    if err == nil { // resp is now filled
251//        fmt.Println(resp)
252//    }
253//
254// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/CreateAppInstanceUser
255func (c *ChimeSDKIdentity) CreateAppInstanceUserRequest(input *CreateAppInstanceUserInput) (req *request.Request, output *CreateAppInstanceUserOutput) {
256	op := &request.Operation{
257		Name:       opCreateAppInstanceUser,
258		HTTPMethod: "POST",
259		HTTPPath:   "/app-instance-users",
260	}
261
262	if input == nil {
263		input = &CreateAppInstanceUserInput{}
264	}
265
266	output = &CreateAppInstanceUserOutput{}
267	req = c.newRequest(op, input, output)
268	return
269}
270
271// CreateAppInstanceUser API operation for Amazon Chime SDK Identity.
272//
273// Creates a user under an Amazon Chime AppInstance. The request consists of
274// a unique appInstanceUserId and Name for that user.
275//
276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
277// with awserr.Error's Code and Message methods to get detailed information about
278// the error.
279//
280// See the AWS API reference guide for Amazon Chime SDK Identity's
281// API operation CreateAppInstanceUser for usage and error information.
282//
283// Returned Error Types:
284//   * BadRequestException
285//   The input parameters don't match the service's restrictions.
286//
287//   * ConflictException
288//   The request could not be processed because of conflict in the current state
289//   of the resource.
290//
291//   * ForbiddenException
292//   The client is permanently forbidden from making the request.
293//
294//   * ResourceLimitExceededException
295//   The request exceeds the resource limit.
296//
297//   * ThrottledClientException
298//   The client exceeded its request rate limit.
299//
300//   * UnauthorizedClientException
301//   The client is not currently authorized to make the request.
302//
303//   * ServiceUnavailableException
304//   The service is currently unavailable.
305//
306//   * ServiceFailureException
307//   The service encountered an unexpected error.
308//
309// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/CreateAppInstanceUser
310func (c *ChimeSDKIdentity) CreateAppInstanceUser(input *CreateAppInstanceUserInput) (*CreateAppInstanceUserOutput, error) {
311	req, out := c.CreateAppInstanceUserRequest(input)
312	return out, req.Send()
313}
314
315// CreateAppInstanceUserWithContext is the same as CreateAppInstanceUser with the addition of
316// the ability to pass a context and additional request options.
317//
318// See CreateAppInstanceUser for details on how to use this API operation.
319//
320// The context must be non-nil and will be used for request cancellation. If
321// the context is nil a panic will occur. In the future the SDK may create
322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
323// for more information on using Contexts.
324func (c *ChimeSDKIdentity) CreateAppInstanceUserWithContext(ctx aws.Context, input *CreateAppInstanceUserInput, opts ...request.Option) (*CreateAppInstanceUserOutput, error) {
325	req, out := c.CreateAppInstanceUserRequest(input)
326	req.SetContext(ctx)
327	req.ApplyOptions(opts...)
328	return out, req.Send()
329}
330
331const opDeleteAppInstance = "DeleteAppInstance"
332
333// DeleteAppInstanceRequest generates a "aws/request.Request" representing the
334// client's request for the DeleteAppInstance operation. The "output" return
335// value will be populated with the request's response once the request completes
336// successfully.
337//
338// Use "Send" method on the returned Request to send the API call to the service.
339// the "output" return value is not valid until after Send returns without error.
340//
341// See DeleteAppInstance for more information on using the DeleteAppInstance
342// API call, and error handling.
343//
344// This method is useful when you want to inject custom logic or configuration
345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
346//
347//
348//    // Example sending a request using the DeleteAppInstanceRequest method.
349//    req, resp := client.DeleteAppInstanceRequest(params)
350//
351//    err := req.Send()
352//    if err == nil { // resp is now filled
353//        fmt.Println(resp)
354//    }
355//
356// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DeleteAppInstance
357func (c *ChimeSDKIdentity) DeleteAppInstanceRequest(input *DeleteAppInstanceInput) (req *request.Request, output *DeleteAppInstanceOutput) {
358	op := &request.Operation{
359		Name:       opDeleteAppInstance,
360		HTTPMethod: "DELETE",
361		HTTPPath:   "/app-instances/{appInstanceArn}",
362	}
363
364	if input == nil {
365		input = &DeleteAppInstanceInput{}
366	}
367
368	output = &DeleteAppInstanceOutput{}
369	req = c.newRequest(op, input, output)
370	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
371	return
372}
373
374// DeleteAppInstance API operation for Amazon Chime SDK Identity.
375//
376// Deletes an AppInstance and all associated data asynchronously.
377//
378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
379// with awserr.Error's Code and Message methods to get detailed information about
380// the error.
381//
382// See the AWS API reference guide for Amazon Chime SDK Identity's
383// API operation DeleteAppInstance for usage and error information.
384//
385// Returned Error Types:
386//   * BadRequestException
387//   The input parameters don't match the service's restrictions.
388//
389//   * ForbiddenException
390//   The client is permanently forbidden from making the request.
391//
392//   * ResourceLimitExceededException
393//   The request exceeds the resource limit.
394//
395//   * ThrottledClientException
396//   The client exceeded its request rate limit.
397//
398//   * UnauthorizedClientException
399//   The client is not currently authorized to make the request.
400//
401//   * ServiceUnavailableException
402//   The service is currently unavailable.
403//
404//   * ServiceFailureException
405//   The service encountered an unexpected error.
406//
407// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DeleteAppInstance
408func (c *ChimeSDKIdentity) DeleteAppInstance(input *DeleteAppInstanceInput) (*DeleteAppInstanceOutput, error) {
409	req, out := c.DeleteAppInstanceRequest(input)
410	return out, req.Send()
411}
412
413// DeleteAppInstanceWithContext is the same as DeleteAppInstance with the addition of
414// the ability to pass a context and additional request options.
415//
416// See DeleteAppInstance for details on how to use this API operation.
417//
418// The context must be non-nil and will be used for request cancellation. If
419// the context is nil a panic will occur. In the future the SDK may create
420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
421// for more information on using Contexts.
422func (c *ChimeSDKIdentity) DeleteAppInstanceWithContext(ctx aws.Context, input *DeleteAppInstanceInput, opts ...request.Option) (*DeleteAppInstanceOutput, error) {
423	req, out := c.DeleteAppInstanceRequest(input)
424	req.SetContext(ctx)
425	req.ApplyOptions(opts...)
426	return out, req.Send()
427}
428
429const opDeleteAppInstanceAdmin = "DeleteAppInstanceAdmin"
430
431// DeleteAppInstanceAdminRequest generates a "aws/request.Request" representing the
432// client's request for the DeleteAppInstanceAdmin operation. The "output" return
433// value will be populated with the request's response once the request completes
434// successfully.
435//
436// Use "Send" method on the returned Request to send the API call to the service.
437// the "output" return value is not valid until after Send returns without error.
438//
439// See DeleteAppInstanceAdmin for more information on using the DeleteAppInstanceAdmin
440// API call, and error handling.
441//
442// This method is useful when you want to inject custom logic or configuration
443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
444//
445//
446//    // Example sending a request using the DeleteAppInstanceAdminRequest method.
447//    req, resp := client.DeleteAppInstanceAdminRequest(params)
448//
449//    err := req.Send()
450//    if err == nil { // resp is now filled
451//        fmt.Println(resp)
452//    }
453//
454// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DeleteAppInstanceAdmin
455func (c *ChimeSDKIdentity) DeleteAppInstanceAdminRequest(input *DeleteAppInstanceAdminInput) (req *request.Request, output *DeleteAppInstanceAdminOutput) {
456	op := &request.Operation{
457		Name:       opDeleteAppInstanceAdmin,
458		HTTPMethod: "DELETE",
459		HTTPPath:   "/app-instances/{appInstanceArn}/admins/{appInstanceAdminArn}",
460	}
461
462	if input == nil {
463		input = &DeleteAppInstanceAdminInput{}
464	}
465
466	output = &DeleteAppInstanceAdminOutput{}
467	req = c.newRequest(op, input, output)
468	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
469	return
470}
471
472// DeleteAppInstanceAdmin API operation for Amazon Chime SDK Identity.
473//
474// Demotes an AppInstanceAdmin to an AppInstanceUser. This action does not delete
475// the user.
476//
477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
478// with awserr.Error's Code and Message methods to get detailed information about
479// the error.
480//
481// See the AWS API reference guide for Amazon Chime SDK Identity's
482// API operation DeleteAppInstanceAdmin for usage and error information.
483//
484// Returned Error Types:
485//   * BadRequestException
486//   The input parameters don't match the service's restrictions.
487//
488//   * ConflictException
489//   The request could not be processed because of conflict in the current state
490//   of the resource.
491//
492//   * ForbiddenException
493//   The client is permanently forbidden from making the request.
494//
495//   * ResourceLimitExceededException
496//   The request exceeds the resource limit.
497//
498//   * ThrottledClientException
499//   The client exceeded its request rate limit.
500//
501//   * UnauthorizedClientException
502//   The client is not currently authorized to make the request.
503//
504//   * ServiceUnavailableException
505//   The service is currently unavailable.
506//
507//   * ServiceFailureException
508//   The service encountered an unexpected error.
509//
510// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DeleteAppInstanceAdmin
511func (c *ChimeSDKIdentity) DeleteAppInstanceAdmin(input *DeleteAppInstanceAdminInput) (*DeleteAppInstanceAdminOutput, error) {
512	req, out := c.DeleteAppInstanceAdminRequest(input)
513	return out, req.Send()
514}
515
516// DeleteAppInstanceAdminWithContext is the same as DeleteAppInstanceAdmin with the addition of
517// the ability to pass a context and additional request options.
518//
519// See DeleteAppInstanceAdmin for details on how to use this API operation.
520//
521// The context must be non-nil and will be used for request cancellation. If
522// the context is nil a panic will occur. In the future the SDK may create
523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
524// for more information on using Contexts.
525func (c *ChimeSDKIdentity) DeleteAppInstanceAdminWithContext(ctx aws.Context, input *DeleteAppInstanceAdminInput, opts ...request.Option) (*DeleteAppInstanceAdminOutput, error) {
526	req, out := c.DeleteAppInstanceAdminRequest(input)
527	req.SetContext(ctx)
528	req.ApplyOptions(opts...)
529	return out, req.Send()
530}
531
532const opDeleteAppInstanceUser = "DeleteAppInstanceUser"
533
534// DeleteAppInstanceUserRequest generates a "aws/request.Request" representing the
535// client's request for the DeleteAppInstanceUser operation. The "output" return
536// value will be populated with the request's response once the request completes
537// successfully.
538//
539// Use "Send" method on the returned Request to send the API call to the service.
540// the "output" return value is not valid until after Send returns without error.
541//
542// See DeleteAppInstanceUser for more information on using the DeleteAppInstanceUser
543// API call, and error handling.
544//
545// This method is useful when you want to inject custom logic or configuration
546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
547//
548//
549//    // Example sending a request using the DeleteAppInstanceUserRequest method.
550//    req, resp := client.DeleteAppInstanceUserRequest(params)
551//
552//    err := req.Send()
553//    if err == nil { // resp is now filled
554//        fmt.Println(resp)
555//    }
556//
557// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DeleteAppInstanceUser
558func (c *ChimeSDKIdentity) DeleteAppInstanceUserRequest(input *DeleteAppInstanceUserInput) (req *request.Request, output *DeleteAppInstanceUserOutput) {
559	op := &request.Operation{
560		Name:       opDeleteAppInstanceUser,
561		HTTPMethod: "DELETE",
562		HTTPPath:   "/app-instance-users/{appInstanceUserArn}",
563	}
564
565	if input == nil {
566		input = &DeleteAppInstanceUserInput{}
567	}
568
569	output = &DeleteAppInstanceUserOutput{}
570	req = c.newRequest(op, input, output)
571	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
572	return
573}
574
575// DeleteAppInstanceUser API operation for Amazon Chime SDK Identity.
576//
577// Deletes an AppInstanceUser.
578//
579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
580// with awserr.Error's Code and Message methods to get detailed information about
581// the error.
582//
583// See the AWS API reference guide for Amazon Chime SDK Identity's
584// API operation DeleteAppInstanceUser for usage and error information.
585//
586// Returned Error Types:
587//   * BadRequestException
588//   The input parameters don't match the service's restrictions.
589//
590//   * ConflictException
591//   The request could not be processed because of conflict in the current state
592//   of the resource.
593//
594//   * ForbiddenException
595//   The client is permanently forbidden from making the request.
596//
597//   * ResourceLimitExceededException
598//   The request exceeds the resource limit.
599//
600//   * ThrottledClientException
601//   The client exceeded its request rate limit.
602//
603//   * UnauthorizedClientException
604//   The client is not currently authorized to make the request.
605//
606//   * ServiceUnavailableException
607//   The service is currently unavailable.
608//
609//   * ServiceFailureException
610//   The service encountered an unexpected error.
611//
612// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DeleteAppInstanceUser
613func (c *ChimeSDKIdentity) DeleteAppInstanceUser(input *DeleteAppInstanceUserInput) (*DeleteAppInstanceUserOutput, error) {
614	req, out := c.DeleteAppInstanceUserRequest(input)
615	return out, req.Send()
616}
617
618// DeleteAppInstanceUserWithContext is the same as DeleteAppInstanceUser with the addition of
619// the ability to pass a context and additional request options.
620//
621// See DeleteAppInstanceUser for details on how to use this API operation.
622//
623// The context must be non-nil and will be used for request cancellation. If
624// the context is nil a panic will occur. In the future the SDK may create
625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
626// for more information on using Contexts.
627func (c *ChimeSDKIdentity) DeleteAppInstanceUserWithContext(ctx aws.Context, input *DeleteAppInstanceUserInput, opts ...request.Option) (*DeleteAppInstanceUserOutput, error) {
628	req, out := c.DeleteAppInstanceUserRequest(input)
629	req.SetContext(ctx)
630	req.ApplyOptions(opts...)
631	return out, req.Send()
632}
633
634const opDescribeAppInstance = "DescribeAppInstance"
635
636// DescribeAppInstanceRequest generates a "aws/request.Request" representing the
637// client's request for the DescribeAppInstance operation. The "output" return
638// value will be populated with the request's response once the request completes
639// successfully.
640//
641// Use "Send" method on the returned Request to send the API call to the service.
642// the "output" return value is not valid until after Send returns without error.
643//
644// See DescribeAppInstance for more information on using the DescribeAppInstance
645// API call, and error handling.
646//
647// This method is useful when you want to inject custom logic or configuration
648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
649//
650//
651//    // Example sending a request using the DescribeAppInstanceRequest method.
652//    req, resp := client.DescribeAppInstanceRequest(params)
653//
654//    err := req.Send()
655//    if err == nil { // resp is now filled
656//        fmt.Println(resp)
657//    }
658//
659// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DescribeAppInstance
660func (c *ChimeSDKIdentity) DescribeAppInstanceRequest(input *DescribeAppInstanceInput) (req *request.Request, output *DescribeAppInstanceOutput) {
661	op := &request.Operation{
662		Name:       opDescribeAppInstance,
663		HTTPMethod: "GET",
664		HTTPPath:   "/app-instances/{appInstanceArn}",
665	}
666
667	if input == nil {
668		input = &DescribeAppInstanceInput{}
669	}
670
671	output = &DescribeAppInstanceOutput{}
672	req = c.newRequest(op, input, output)
673	return
674}
675
676// DescribeAppInstance API operation for Amazon Chime SDK Identity.
677//
678// Returns the full details of an AppInstance.
679//
680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
681// with awserr.Error's Code and Message methods to get detailed information about
682// the error.
683//
684// See the AWS API reference guide for Amazon Chime SDK Identity's
685// API operation DescribeAppInstance for usage and error information.
686//
687// Returned Error Types:
688//   * BadRequestException
689//   The input parameters don't match the service's restrictions.
690//
691//   * ForbiddenException
692//   The client is permanently forbidden from making the request.
693//
694//   * ThrottledClientException
695//   The client exceeded its request rate limit.
696//
697//   * UnauthorizedClientException
698//   The client is not currently authorized to make the request.
699//
700//   * ServiceUnavailableException
701//   The service is currently unavailable.
702//
703//   * ServiceFailureException
704//   The service encountered an unexpected error.
705//
706// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DescribeAppInstance
707func (c *ChimeSDKIdentity) DescribeAppInstance(input *DescribeAppInstanceInput) (*DescribeAppInstanceOutput, error) {
708	req, out := c.DescribeAppInstanceRequest(input)
709	return out, req.Send()
710}
711
712// DescribeAppInstanceWithContext is the same as DescribeAppInstance with the addition of
713// the ability to pass a context and additional request options.
714//
715// See DescribeAppInstance for details on how to use this API operation.
716//
717// The context must be non-nil and will be used for request cancellation. If
718// the context is nil a panic will occur. In the future the SDK may create
719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
720// for more information on using Contexts.
721func (c *ChimeSDKIdentity) DescribeAppInstanceWithContext(ctx aws.Context, input *DescribeAppInstanceInput, opts ...request.Option) (*DescribeAppInstanceOutput, error) {
722	req, out := c.DescribeAppInstanceRequest(input)
723	req.SetContext(ctx)
724	req.ApplyOptions(opts...)
725	return out, req.Send()
726}
727
728const opDescribeAppInstanceAdmin = "DescribeAppInstanceAdmin"
729
730// DescribeAppInstanceAdminRequest generates a "aws/request.Request" representing the
731// client's request for the DescribeAppInstanceAdmin operation. The "output" return
732// value will be populated with the request's response once the request completes
733// successfully.
734//
735// Use "Send" method on the returned Request to send the API call to the service.
736// the "output" return value is not valid until after Send returns without error.
737//
738// See DescribeAppInstanceAdmin for more information on using the DescribeAppInstanceAdmin
739// API call, and error handling.
740//
741// This method is useful when you want to inject custom logic or configuration
742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
743//
744//
745//    // Example sending a request using the DescribeAppInstanceAdminRequest method.
746//    req, resp := client.DescribeAppInstanceAdminRequest(params)
747//
748//    err := req.Send()
749//    if err == nil { // resp is now filled
750//        fmt.Println(resp)
751//    }
752//
753// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DescribeAppInstanceAdmin
754func (c *ChimeSDKIdentity) DescribeAppInstanceAdminRequest(input *DescribeAppInstanceAdminInput) (req *request.Request, output *DescribeAppInstanceAdminOutput) {
755	op := &request.Operation{
756		Name:       opDescribeAppInstanceAdmin,
757		HTTPMethod: "GET",
758		HTTPPath:   "/app-instances/{appInstanceArn}/admins/{appInstanceAdminArn}",
759	}
760
761	if input == nil {
762		input = &DescribeAppInstanceAdminInput{}
763	}
764
765	output = &DescribeAppInstanceAdminOutput{}
766	req = c.newRequest(op, input, output)
767	return
768}
769
770// DescribeAppInstanceAdmin API operation for Amazon Chime SDK Identity.
771//
772// Returns the full details of an AppInstanceAdmin.
773//
774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
775// with awserr.Error's Code and Message methods to get detailed information about
776// the error.
777//
778// See the AWS API reference guide for Amazon Chime SDK Identity's
779// API operation DescribeAppInstanceAdmin for usage and error information.
780//
781// Returned Error Types:
782//   * BadRequestException
783//   The input parameters don't match the service's restrictions.
784//
785//   * ForbiddenException
786//   The client is permanently forbidden from making the request.
787//
788//   * ThrottledClientException
789//   The client exceeded its request rate limit.
790//
791//   * UnauthorizedClientException
792//   The client is not currently authorized to make the request.
793//
794//   * ServiceUnavailableException
795//   The service is currently unavailable.
796//
797//   * ServiceFailureException
798//   The service encountered an unexpected error.
799//
800// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DescribeAppInstanceAdmin
801func (c *ChimeSDKIdentity) DescribeAppInstanceAdmin(input *DescribeAppInstanceAdminInput) (*DescribeAppInstanceAdminOutput, error) {
802	req, out := c.DescribeAppInstanceAdminRequest(input)
803	return out, req.Send()
804}
805
806// DescribeAppInstanceAdminWithContext is the same as DescribeAppInstanceAdmin with the addition of
807// the ability to pass a context and additional request options.
808//
809// See DescribeAppInstanceAdmin for details on how to use this API operation.
810//
811// The context must be non-nil and will be used for request cancellation. If
812// the context is nil a panic will occur. In the future the SDK may create
813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
814// for more information on using Contexts.
815func (c *ChimeSDKIdentity) DescribeAppInstanceAdminWithContext(ctx aws.Context, input *DescribeAppInstanceAdminInput, opts ...request.Option) (*DescribeAppInstanceAdminOutput, error) {
816	req, out := c.DescribeAppInstanceAdminRequest(input)
817	req.SetContext(ctx)
818	req.ApplyOptions(opts...)
819	return out, req.Send()
820}
821
822const opDescribeAppInstanceUser = "DescribeAppInstanceUser"
823
824// DescribeAppInstanceUserRequest generates a "aws/request.Request" representing the
825// client's request for the DescribeAppInstanceUser operation. The "output" return
826// value will be populated with the request's response once the request completes
827// successfully.
828//
829// Use "Send" method on the returned Request to send the API call to the service.
830// the "output" return value is not valid until after Send returns without error.
831//
832// See DescribeAppInstanceUser for more information on using the DescribeAppInstanceUser
833// API call, and error handling.
834//
835// This method is useful when you want to inject custom logic or configuration
836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
837//
838//
839//    // Example sending a request using the DescribeAppInstanceUserRequest method.
840//    req, resp := client.DescribeAppInstanceUserRequest(params)
841//
842//    err := req.Send()
843//    if err == nil { // resp is now filled
844//        fmt.Println(resp)
845//    }
846//
847// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DescribeAppInstanceUser
848func (c *ChimeSDKIdentity) DescribeAppInstanceUserRequest(input *DescribeAppInstanceUserInput) (req *request.Request, output *DescribeAppInstanceUserOutput) {
849	op := &request.Operation{
850		Name:       opDescribeAppInstanceUser,
851		HTTPMethod: "GET",
852		HTTPPath:   "/app-instance-users/{appInstanceUserArn}",
853	}
854
855	if input == nil {
856		input = &DescribeAppInstanceUserInput{}
857	}
858
859	output = &DescribeAppInstanceUserOutput{}
860	req = c.newRequest(op, input, output)
861	return
862}
863
864// DescribeAppInstanceUser API operation for Amazon Chime SDK Identity.
865//
866// Returns the full details of an AppInstanceUser.
867//
868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
869// with awserr.Error's Code and Message methods to get detailed information about
870// the error.
871//
872// See the AWS API reference guide for Amazon Chime SDK Identity's
873// API operation DescribeAppInstanceUser for usage and error information.
874//
875// Returned Error Types:
876//   * BadRequestException
877//   The input parameters don't match the service's restrictions.
878//
879//   * ForbiddenException
880//   The client is permanently forbidden from making the request.
881//
882//   * ThrottledClientException
883//   The client exceeded its request rate limit.
884//
885//   * UnauthorizedClientException
886//   The client is not currently authorized to make the request.
887//
888//   * ServiceUnavailableException
889//   The service is currently unavailable.
890//
891//   * ServiceFailureException
892//   The service encountered an unexpected error.
893//
894// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/DescribeAppInstanceUser
895func (c *ChimeSDKIdentity) DescribeAppInstanceUser(input *DescribeAppInstanceUserInput) (*DescribeAppInstanceUserOutput, error) {
896	req, out := c.DescribeAppInstanceUserRequest(input)
897	return out, req.Send()
898}
899
900// DescribeAppInstanceUserWithContext is the same as DescribeAppInstanceUser with the addition of
901// the ability to pass a context and additional request options.
902//
903// See DescribeAppInstanceUser for details on how to use this API operation.
904//
905// The context must be non-nil and will be used for request cancellation. If
906// the context is nil a panic will occur. In the future the SDK may create
907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
908// for more information on using Contexts.
909func (c *ChimeSDKIdentity) DescribeAppInstanceUserWithContext(ctx aws.Context, input *DescribeAppInstanceUserInput, opts ...request.Option) (*DescribeAppInstanceUserOutput, error) {
910	req, out := c.DescribeAppInstanceUserRequest(input)
911	req.SetContext(ctx)
912	req.ApplyOptions(opts...)
913	return out, req.Send()
914}
915
916const opGetAppInstanceRetentionSettings = "GetAppInstanceRetentionSettings"
917
918// GetAppInstanceRetentionSettingsRequest generates a "aws/request.Request" representing the
919// client's request for the GetAppInstanceRetentionSettings operation. The "output" return
920// value will be populated with the request's response once the request completes
921// successfully.
922//
923// Use "Send" method on the returned Request to send the API call to the service.
924// the "output" return value is not valid until after Send returns without error.
925//
926// See GetAppInstanceRetentionSettings for more information on using the GetAppInstanceRetentionSettings
927// API call, and error handling.
928//
929// This method is useful when you want to inject custom logic or configuration
930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
931//
932//
933//    // Example sending a request using the GetAppInstanceRetentionSettingsRequest method.
934//    req, resp := client.GetAppInstanceRetentionSettingsRequest(params)
935//
936//    err := req.Send()
937//    if err == nil { // resp is now filled
938//        fmt.Println(resp)
939//    }
940//
941// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/GetAppInstanceRetentionSettings
942func (c *ChimeSDKIdentity) GetAppInstanceRetentionSettingsRequest(input *GetAppInstanceRetentionSettingsInput) (req *request.Request, output *GetAppInstanceRetentionSettingsOutput) {
943	op := &request.Operation{
944		Name:       opGetAppInstanceRetentionSettings,
945		HTTPMethod: "GET",
946		HTTPPath:   "/app-instances/{appInstanceArn}/retention-settings",
947	}
948
949	if input == nil {
950		input = &GetAppInstanceRetentionSettingsInput{}
951	}
952
953	output = &GetAppInstanceRetentionSettingsOutput{}
954	req = c.newRequest(op, input, output)
955	return
956}
957
958// GetAppInstanceRetentionSettings API operation for Amazon Chime SDK Identity.
959//
960// Gets the retention settings for an AppInstance.
961//
962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
963// with awserr.Error's Code and Message methods to get detailed information about
964// the error.
965//
966// See the AWS API reference guide for Amazon Chime SDK Identity's
967// API operation GetAppInstanceRetentionSettings for usage and error information.
968//
969// Returned Error Types:
970//   * BadRequestException
971//   The input parameters don't match the service's restrictions.
972//
973//   * ForbiddenException
974//   The client is permanently forbidden from making the request.
975//
976//   * ThrottledClientException
977//   The client exceeded its request rate limit.
978//
979//   * UnauthorizedClientException
980//   The client is not currently authorized to make the request.
981//
982//   * ServiceUnavailableException
983//   The service is currently unavailable.
984//
985//   * ServiceFailureException
986//   The service encountered an unexpected error.
987//
988// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/GetAppInstanceRetentionSettings
989func (c *ChimeSDKIdentity) GetAppInstanceRetentionSettings(input *GetAppInstanceRetentionSettingsInput) (*GetAppInstanceRetentionSettingsOutput, error) {
990	req, out := c.GetAppInstanceRetentionSettingsRequest(input)
991	return out, req.Send()
992}
993
994// GetAppInstanceRetentionSettingsWithContext is the same as GetAppInstanceRetentionSettings with the addition of
995// the ability to pass a context and additional request options.
996//
997// See GetAppInstanceRetentionSettings for details on how to use this API operation.
998//
999// The context must be non-nil and will be used for request cancellation. If
1000// the context is nil a panic will occur. In the future the SDK may create
1001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1002// for more information on using Contexts.
1003func (c *ChimeSDKIdentity) GetAppInstanceRetentionSettingsWithContext(ctx aws.Context, input *GetAppInstanceRetentionSettingsInput, opts ...request.Option) (*GetAppInstanceRetentionSettingsOutput, error) {
1004	req, out := c.GetAppInstanceRetentionSettingsRequest(input)
1005	req.SetContext(ctx)
1006	req.ApplyOptions(opts...)
1007	return out, req.Send()
1008}
1009
1010const opListAppInstanceAdmins = "ListAppInstanceAdmins"
1011
1012// ListAppInstanceAdminsRequest generates a "aws/request.Request" representing the
1013// client's request for the ListAppInstanceAdmins operation. The "output" return
1014// value will be populated with the request's response once the request completes
1015// successfully.
1016//
1017// Use "Send" method on the returned Request to send the API call to the service.
1018// the "output" return value is not valid until after Send returns without error.
1019//
1020// See ListAppInstanceAdmins for more information on using the ListAppInstanceAdmins
1021// API call, and error handling.
1022//
1023// This method is useful when you want to inject custom logic or configuration
1024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1025//
1026//
1027//    // Example sending a request using the ListAppInstanceAdminsRequest method.
1028//    req, resp := client.ListAppInstanceAdminsRequest(params)
1029//
1030//    err := req.Send()
1031//    if err == nil { // resp is now filled
1032//        fmt.Println(resp)
1033//    }
1034//
1035// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/ListAppInstanceAdmins
1036func (c *ChimeSDKIdentity) ListAppInstanceAdminsRequest(input *ListAppInstanceAdminsInput) (req *request.Request, output *ListAppInstanceAdminsOutput) {
1037	op := &request.Operation{
1038		Name:       opListAppInstanceAdmins,
1039		HTTPMethod: "GET",
1040		HTTPPath:   "/app-instances/{appInstanceArn}/admins",
1041		Paginator: &request.Paginator{
1042			InputTokens:     []string{"NextToken"},
1043			OutputTokens:    []string{"NextToken"},
1044			LimitToken:      "MaxResults",
1045			TruncationToken: "",
1046		},
1047	}
1048
1049	if input == nil {
1050		input = &ListAppInstanceAdminsInput{}
1051	}
1052
1053	output = &ListAppInstanceAdminsOutput{}
1054	req = c.newRequest(op, input, output)
1055	return
1056}
1057
1058// ListAppInstanceAdmins API operation for Amazon Chime SDK Identity.
1059//
1060// Returns a list of the administrators in the AppInstance.
1061//
1062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1063// with awserr.Error's Code and Message methods to get detailed information about
1064// the error.
1065//
1066// See the AWS API reference guide for Amazon Chime SDK Identity's
1067// API operation ListAppInstanceAdmins for usage and error information.
1068//
1069// Returned Error Types:
1070//   * BadRequestException
1071//   The input parameters don't match the service's restrictions.
1072//
1073//   * ForbiddenException
1074//   The client is permanently forbidden from making the request.
1075//
1076//   * ResourceLimitExceededException
1077//   The request exceeds the resource limit.
1078//
1079//   * ThrottledClientException
1080//   The client exceeded its request rate limit.
1081//
1082//   * UnauthorizedClientException
1083//   The client is not currently authorized to make the request.
1084//
1085//   * ServiceUnavailableException
1086//   The service is currently unavailable.
1087//
1088//   * ServiceFailureException
1089//   The service encountered an unexpected error.
1090//
1091// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/ListAppInstanceAdmins
1092func (c *ChimeSDKIdentity) ListAppInstanceAdmins(input *ListAppInstanceAdminsInput) (*ListAppInstanceAdminsOutput, error) {
1093	req, out := c.ListAppInstanceAdminsRequest(input)
1094	return out, req.Send()
1095}
1096
1097// ListAppInstanceAdminsWithContext is the same as ListAppInstanceAdmins with the addition of
1098// the ability to pass a context and additional request options.
1099//
1100// See ListAppInstanceAdmins for details on how to use this API operation.
1101//
1102// The context must be non-nil and will be used for request cancellation. If
1103// the context is nil a panic will occur. In the future the SDK may create
1104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1105// for more information on using Contexts.
1106func (c *ChimeSDKIdentity) ListAppInstanceAdminsWithContext(ctx aws.Context, input *ListAppInstanceAdminsInput, opts ...request.Option) (*ListAppInstanceAdminsOutput, error) {
1107	req, out := c.ListAppInstanceAdminsRequest(input)
1108	req.SetContext(ctx)
1109	req.ApplyOptions(opts...)
1110	return out, req.Send()
1111}
1112
1113// ListAppInstanceAdminsPages iterates over the pages of a ListAppInstanceAdmins operation,
1114// calling the "fn" function with the response data for each page. To stop
1115// iterating, return false from the fn function.
1116//
1117// See ListAppInstanceAdmins method for more information on how to use this operation.
1118//
1119// Note: This operation can generate multiple requests to a service.
1120//
1121//    // Example iterating over at most 3 pages of a ListAppInstanceAdmins operation.
1122//    pageNum := 0
1123//    err := client.ListAppInstanceAdminsPages(params,
1124//        func(page *chimesdkidentity.ListAppInstanceAdminsOutput, lastPage bool) bool {
1125//            pageNum++
1126//            fmt.Println(page)
1127//            return pageNum <= 3
1128//        })
1129//
1130func (c *ChimeSDKIdentity) ListAppInstanceAdminsPages(input *ListAppInstanceAdminsInput, fn func(*ListAppInstanceAdminsOutput, bool) bool) error {
1131	return c.ListAppInstanceAdminsPagesWithContext(aws.BackgroundContext(), input, fn)
1132}
1133
1134// ListAppInstanceAdminsPagesWithContext same as ListAppInstanceAdminsPages except
1135// it takes a Context and allows setting request options on the pages.
1136//
1137// The context must be non-nil and will be used for request cancellation. If
1138// the context is nil a panic will occur. In the future the SDK may create
1139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1140// for more information on using Contexts.
1141func (c *ChimeSDKIdentity) ListAppInstanceAdminsPagesWithContext(ctx aws.Context, input *ListAppInstanceAdminsInput, fn func(*ListAppInstanceAdminsOutput, bool) bool, opts ...request.Option) error {
1142	p := request.Pagination{
1143		NewRequest: func() (*request.Request, error) {
1144			var inCpy *ListAppInstanceAdminsInput
1145			if input != nil {
1146				tmp := *input
1147				inCpy = &tmp
1148			}
1149			req, _ := c.ListAppInstanceAdminsRequest(inCpy)
1150			req.SetContext(ctx)
1151			req.ApplyOptions(opts...)
1152			return req, nil
1153		},
1154	}
1155
1156	for p.Next() {
1157		if !fn(p.Page().(*ListAppInstanceAdminsOutput), !p.HasNextPage()) {
1158			break
1159		}
1160	}
1161
1162	return p.Err()
1163}
1164
1165const opListAppInstanceUsers = "ListAppInstanceUsers"
1166
1167// ListAppInstanceUsersRequest generates a "aws/request.Request" representing the
1168// client's request for the ListAppInstanceUsers operation. The "output" return
1169// value will be populated with the request's response once the request completes
1170// successfully.
1171//
1172// Use "Send" method on the returned Request to send the API call to the service.
1173// the "output" return value is not valid until after Send returns without error.
1174//
1175// See ListAppInstanceUsers for more information on using the ListAppInstanceUsers
1176// API call, and error handling.
1177//
1178// This method is useful when you want to inject custom logic or configuration
1179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1180//
1181//
1182//    // Example sending a request using the ListAppInstanceUsersRequest method.
1183//    req, resp := client.ListAppInstanceUsersRequest(params)
1184//
1185//    err := req.Send()
1186//    if err == nil { // resp is now filled
1187//        fmt.Println(resp)
1188//    }
1189//
1190// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/ListAppInstanceUsers
1191func (c *ChimeSDKIdentity) ListAppInstanceUsersRequest(input *ListAppInstanceUsersInput) (req *request.Request, output *ListAppInstanceUsersOutput) {
1192	op := &request.Operation{
1193		Name:       opListAppInstanceUsers,
1194		HTTPMethod: "GET",
1195		HTTPPath:   "/app-instance-users",
1196		Paginator: &request.Paginator{
1197			InputTokens:     []string{"NextToken"},
1198			OutputTokens:    []string{"NextToken"},
1199			LimitToken:      "MaxResults",
1200			TruncationToken: "",
1201		},
1202	}
1203
1204	if input == nil {
1205		input = &ListAppInstanceUsersInput{}
1206	}
1207
1208	output = &ListAppInstanceUsersOutput{}
1209	req = c.newRequest(op, input, output)
1210	return
1211}
1212
1213// ListAppInstanceUsers API operation for Amazon Chime SDK Identity.
1214//
1215// List all AppInstanceUsers created under a single AppInstance.
1216//
1217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1218// with awserr.Error's Code and Message methods to get detailed information about
1219// the error.
1220//
1221// See the AWS API reference guide for Amazon Chime SDK Identity's
1222// API operation ListAppInstanceUsers for usage and error information.
1223//
1224// Returned Error Types:
1225//   * BadRequestException
1226//   The input parameters don't match the service's restrictions.
1227//
1228//   * ForbiddenException
1229//   The client is permanently forbidden from making the request.
1230//
1231//   * ThrottledClientException
1232//   The client exceeded its request rate limit.
1233//
1234//   * UnauthorizedClientException
1235//   The client is not currently authorized to make the request.
1236//
1237//   * ServiceUnavailableException
1238//   The service is currently unavailable.
1239//
1240//   * ServiceFailureException
1241//   The service encountered an unexpected error.
1242//
1243// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/ListAppInstanceUsers
1244func (c *ChimeSDKIdentity) ListAppInstanceUsers(input *ListAppInstanceUsersInput) (*ListAppInstanceUsersOutput, error) {
1245	req, out := c.ListAppInstanceUsersRequest(input)
1246	return out, req.Send()
1247}
1248
1249// ListAppInstanceUsersWithContext is the same as ListAppInstanceUsers with the addition of
1250// the ability to pass a context and additional request options.
1251//
1252// See ListAppInstanceUsers for details on how to use this API operation.
1253//
1254// The context must be non-nil and will be used for request cancellation. If
1255// the context is nil a panic will occur. In the future the SDK may create
1256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1257// for more information on using Contexts.
1258func (c *ChimeSDKIdentity) ListAppInstanceUsersWithContext(ctx aws.Context, input *ListAppInstanceUsersInput, opts ...request.Option) (*ListAppInstanceUsersOutput, error) {
1259	req, out := c.ListAppInstanceUsersRequest(input)
1260	req.SetContext(ctx)
1261	req.ApplyOptions(opts...)
1262	return out, req.Send()
1263}
1264
1265// ListAppInstanceUsersPages iterates over the pages of a ListAppInstanceUsers operation,
1266// calling the "fn" function with the response data for each page. To stop
1267// iterating, return false from the fn function.
1268//
1269// See ListAppInstanceUsers method for more information on how to use this operation.
1270//
1271// Note: This operation can generate multiple requests to a service.
1272//
1273//    // Example iterating over at most 3 pages of a ListAppInstanceUsers operation.
1274//    pageNum := 0
1275//    err := client.ListAppInstanceUsersPages(params,
1276//        func(page *chimesdkidentity.ListAppInstanceUsersOutput, lastPage bool) bool {
1277//            pageNum++
1278//            fmt.Println(page)
1279//            return pageNum <= 3
1280//        })
1281//
1282func (c *ChimeSDKIdentity) ListAppInstanceUsersPages(input *ListAppInstanceUsersInput, fn func(*ListAppInstanceUsersOutput, bool) bool) error {
1283	return c.ListAppInstanceUsersPagesWithContext(aws.BackgroundContext(), input, fn)
1284}
1285
1286// ListAppInstanceUsersPagesWithContext same as ListAppInstanceUsersPages except
1287// it takes a Context and allows setting request options on the pages.
1288//
1289// The context must be non-nil and will be used for request cancellation. If
1290// the context is nil a panic will occur. In the future the SDK may create
1291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1292// for more information on using Contexts.
1293func (c *ChimeSDKIdentity) ListAppInstanceUsersPagesWithContext(ctx aws.Context, input *ListAppInstanceUsersInput, fn func(*ListAppInstanceUsersOutput, bool) bool, opts ...request.Option) error {
1294	p := request.Pagination{
1295		NewRequest: func() (*request.Request, error) {
1296			var inCpy *ListAppInstanceUsersInput
1297			if input != nil {
1298				tmp := *input
1299				inCpy = &tmp
1300			}
1301			req, _ := c.ListAppInstanceUsersRequest(inCpy)
1302			req.SetContext(ctx)
1303			req.ApplyOptions(opts...)
1304			return req, nil
1305		},
1306	}
1307
1308	for p.Next() {
1309		if !fn(p.Page().(*ListAppInstanceUsersOutput), !p.HasNextPage()) {
1310			break
1311		}
1312	}
1313
1314	return p.Err()
1315}
1316
1317const opListAppInstances = "ListAppInstances"
1318
1319// ListAppInstancesRequest generates a "aws/request.Request" representing the
1320// client's request for the ListAppInstances operation. The "output" return
1321// value will be populated with the request's response once the request completes
1322// successfully.
1323//
1324// Use "Send" method on the returned Request to send the API call to the service.
1325// the "output" return value is not valid until after Send returns without error.
1326//
1327// See ListAppInstances for more information on using the ListAppInstances
1328// API call, and error handling.
1329//
1330// This method is useful when you want to inject custom logic or configuration
1331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1332//
1333//
1334//    // Example sending a request using the ListAppInstancesRequest method.
1335//    req, resp := client.ListAppInstancesRequest(params)
1336//
1337//    err := req.Send()
1338//    if err == nil { // resp is now filled
1339//        fmt.Println(resp)
1340//    }
1341//
1342// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/ListAppInstances
1343func (c *ChimeSDKIdentity) ListAppInstancesRequest(input *ListAppInstancesInput) (req *request.Request, output *ListAppInstancesOutput) {
1344	op := &request.Operation{
1345		Name:       opListAppInstances,
1346		HTTPMethod: "GET",
1347		HTTPPath:   "/app-instances",
1348		Paginator: &request.Paginator{
1349			InputTokens:     []string{"NextToken"},
1350			OutputTokens:    []string{"NextToken"},
1351			LimitToken:      "MaxResults",
1352			TruncationToken: "",
1353		},
1354	}
1355
1356	if input == nil {
1357		input = &ListAppInstancesInput{}
1358	}
1359
1360	output = &ListAppInstancesOutput{}
1361	req = c.newRequest(op, input, output)
1362	return
1363}
1364
1365// ListAppInstances API operation for Amazon Chime SDK Identity.
1366//
1367// Lists all Amazon Chime AppInstances created under a single AWS account.
1368//
1369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1370// with awserr.Error's Code and Message methods to get detailed information about
1371// the error.
1372//
1373// See the AWS API reference guide for Amazon Chime SDK Identity's
1374// API operation ListAppInstances for usage and error information.
1375//
1376// Returned Error Types:
1377//   * BadRequestException
1378//   The input parameters don't match the service's restrictions.
1379//
1380//   * ForbiddenException
1381//   The client is permanently forbidden from making the request.
1382//
1383//   * ThrottledClientException
1384//   The client exceeded its request rate limit.
1385//
1386//   * UnauthorizedClientException
1387//   The client is not currently authorized to make the request.
1388//
1389//   * ServiceUnavailableException
1390//   The service is currently unavailable.
1391//
1392//   * ServiceFailureException
1393//   The service encountered an unexpected error.
1394//
1395// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/ListAppInstances
1396func (c *ChimeSDKIdentity) ListAppInstances(input *ListAppInstancesInput) (*ListAppInstancesOutput, error) {
1397	req, out := c.ListAppInstancesRequest(input)
1398	return out, req.Send()
1399}
1400
1401// ListAppInstancesWithContext is the same as ListAppInstances with the addition of
1402// the ability to pass a context and additional request options.
1403//
1404// See ListAppInstances for details on how to use this API operation.
1405//
1406// The context must be non-nil and will be used for request cancellation. If
1407// the context is nil a panic will occur. In the future the SDK may create
1408// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1409// for more information on using Contexts.
1410func (c *ChimeSDKIdentity) ListAppInstancesWithContext(ctx aws.Context, input *ListAppInstancesInput, opts ...request.Option) (*ListAppInstancesOutput, error) {
1411	req, out := c.ListAppInstancesRequest(input)
1412	req.SetContext(ctx)
1413	req.ApplyOptions(opts...)
1414	return out, req.Send()
1415}
1416
1417// ListAppInstancesPages iterates over the pages of a ListAppInstances operation,
1418// calling the "fn" function with the response data for each page. To stop
1419// iterating, return false from the fn function.
1420//
1421// See ListAppInstances method for more information on how to use this operation.
1422//
1423// Note: This operation can generate multiple requests to a service.
1424//
1425//    // Example iterating over at most 3 pages of a ListAppInstances operation.
1426//    pageNum := 0
1427//    err := client.ListAppInstancesPages(params,
1428//        func(page *chimesdkidentity.ListAppInstancesOutput, lastPage bool) bool {
1429//            pageNum++
1430//            fmt.Println(page)
1431//            return pageNum <= 3
1432//        })
1433//
1434func (c *ChimeSDKIdentity) ListAppInstancesPages(input *ListAppInstancesInput, fn func(*ListAppInstancesOutput, bool) bool) error {
1435	return c.ListAppInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
1436}
1437
1438// ListAppInstancesPagesWithContext same as ListAppInstancesPages except
1439// it takes a Context and allows setting request options on the pages.
1440//
1441// The context must be non-nil and will be used for request cancellation. If
1442// the context is nil a panic will occur. In the future the SDK may create
1443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1444// for more information on using Contexts.
1445func (c *ChimeSDKIdentity) ListAppInstancesPagesWithContext(ctx aws.Context, input *ListAppInstancesInput, fn func(*ListAppInstancesOutput, bool) bool, opts ...request.Option) error {
1446	p := request.Pagination{
1447		NewRequest: func() (*request.Request, error) {
1448			var inCpy *ListAppInstancesInput
1449			if input != nil {
1450				tmp := *input
1451				inCpy = &tmp
1452			}
1453			req, _ := c.ListAppInstancesRequest(inCpy)
1454			req.SetContext(ctx)
1455			req.ApplyOptions(opts...)
1456			return req, nil
1457		},
1458	}
1459
1460	for p.Next() {
1461		if !fn(p.Page().(*ListAppInstancesOutput), !p.HasNextPage()) {
1462			break
1463		}
1464	}
1465
1466	return p.Err()
1467}
1468
1469const opPutAppInstanceRetentionSettings = "PutAppInstanceRetentionSettings"
1470
1471// PutAppInstanceRetentionSettingsRequest generates a "aws/request.Request" representing the
1472// client's request for the PutAppInstanceRetentionSettings operation. The "output" return
1473// value will be populated with the request's response once the request completes
1474// successfully.
1475//
1476// Use "Send" method on the returned Request to send the API call to the service.
1477// the "output" return value is not valid until after Send returns without error.
1478//
1479// See PutAppInstanceRetentionSettings for more information on using the PutAppInstanceRetentionSettings
1480// API call, and error handling.
1481//
1482// This method is useful when you want to inject custom logic or configuration
1483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1484//
1485//
1486//    // Example sending a request using the PutAppInstanceRetentionSettingsRequest method.
1487//    req, resp := client.PutAppInstanceRetentionSettingsRequest(params)
1488//
1489//    err := req.Send()
1490//    if err == nil { // resp is now filled
1491//        fmt.Println(resp)
1492//    }
1493//
1494// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/PutAppInstanceRetentionSettings
1495func (c *ChimeSDKIdentity) PutAppInstanceRetentionSettingsRequest(input *PutAppInstanceRetentionSettingsInput) (req *request.Request, output *PutAppInstanceRetentionSettingsOutput) {
1496	op := &request.Operation{
1497		Name:       opPutAppInstanceRetentionSettings,
1498		HTTPMethod: "PUT",
1499		HTTPPath:   "/app-instances/{appInstanceArn}/retention-settings",
1500	}
1501
1502	if input == nil {
1503		input = &PutAppInstanceRetentionSettingsInput{}
1504	}
1505
1506	output = &PutAppInstanceRetentionSettingsOutput{}
1507	req = c.newRequest(op, input, output)
1508	return
1509}
1510
1511// PutAppInstanceRetentionSettings API operation for Amazon Chime SDK Identity.
1512//
1513// Sets the amount of time in days that a given AppInstance retains data.
1514//
1515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1516// with awserr.Error's Code and Message methods to get detailed information about
1517// the error.
1518//
1519// See the AWS API reference guide for Amazon Chime SDK Identity's
1520// API operation PutAppInstanceRetentionSettings for usage and error information.
1521//
1522// Returned Error Types:
1523//   * BadRequestException
1524//   The input parameters don't match the service's restrictions.
1525//
1526//   * ForbiddenException
1527//   The client is permanently forbidden from making the request.
1528//
1529//   * ThrottledClientException
1530//   The client exceeded its request rate limit.
1531//
1532//   * UnauthorizedClientException
1533//   The client is not currently authorized to make the request.
1534//
1535//   * ServiceUnavailableException
1536//   The service is currently unavailable.
1537//
1538//   * ServiceFailureException
1539//   The service encountered an unexpected error.
1540//
1541// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/PutAppInstanceRetentionSettings
1542func (c *ChimeSDKIdentity) PutAppInstanceRetentionSettings(input *PutAppInstanceRetentionSettingsInput) (*PutAppInstanceRetentionSettingsOutput, error) {
1543	req, out := c.PutAppInstanceRetentionSettingsRequest(input)
1544	return out, req.Send()
1545}
1546
1547// PutAppInstanceRetentionSettingsWithContext is the same as PutAppInstanceRetentionSettings with the addition of
1548// the ability to pass a context and additional request options.
1549//
1550// See PutAppInstanceRetentionSettings for details on how to use this API operation.
1551//
1552// The context must be non-nil and will be used for request cancellation. If
1553// the context is nil a panic will occur. In the future the SDK may create
1554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1555// for more information on using Contexts.
1556func (c *ChimeSDKIdentity) PutAppInstanceRetentionSettingsWithContext(ctx aws.Context, input *PutAppInstanceRetentionSettingsInput, opts ...request.Option) (*PutAppInstanceRetentionSettingsOutput, error) {
1557	req, out := c.PutAppInstanceRetentionSettingsRequest(input)
1558	req.SetContext(ctx)
1559	req.ApplyOptions(opts...)
1560	return out, req.Send()
1561}
1562
1563const opUpdateAppInstance = "UpdateAppInstance"
1564
1565// UpdateAppInstanceRequest generates a "aws/request.Request" representing the
1566// client's request for the UpdateAppInstance operation. The "output" return
1567// value will be populated with the request's response once the request completes
1568// successfully.
1569//
1570// Use "Send" method on the returned Request to send the API call to the service.
1571// the "output" return value is not valid until after Send returns without error.
1572//
1573// See UpdateAppInstance for more information on using the UpdateAppInstance
1574// API call, and error handling.
1575//
1576// This method is useful when you want to inject custom logic or configuration
1577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1578//
1579//
1580//    // Example sending a request using the UpdateAppInstanceRequest method.
1581//    req, resp := client.UpdateAppInstanceRequest(params)
1582//
1583//    err := req.Send()
1584//    if err == nil { // resp is now filled
1585//        fmt.Println(resp)
1586//    }
1587//
1588// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/UpdateAppInstance
1589func (c *ChimeSDKIdentity) UpdateAppInstanceRequest(input *UpdateAppInstanceInput) (req *request.Request, output *UpdateAppInstanceOutput) {
1590	op := &request.Operation{
1591		Name:       opUpdateAppInstance,
1592		HTTPMethod: "PUT",
1593		HTTPPath:   "/app-instances/{appInstanceArn}",
1594	}
1595
1596	if input == nil {
1597		input = &UpdateAppInstanceInput{}
1598	}
1599
1600	output = &UpdateAppInstanceOutput{}
1601	req = c.newRequest(op, input, output)
1602	return
1603}
1604
1605// UpdateAppInstance API operation for Amazon Chime SDK Identity.
1606//
1607// Updates AppInstance metadata.
1608//
1609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1610// with awserr.Error's Code and Message methods to get detailed information about
1611// the error.
1612//
1613// See the AWS API reference guide for Amazon Chime SDK Identity's
1614// API operation UpdateAppInstance for usage and error information.
1615//
1616// Returned Error Types:
1617//   * BadRequestException
1618//   The input parameters don't match the service's restrictions.
1619//
1620//   * ConflictException
1621//   The request could not be processed because of conflict in the current state
1622//   of the resource.
1623//
1624//   * ForbiddenException
1625//   The client is permanently forbidden from making the request.
1626//
1627//   * ThrottledClientException
1628//   The client exceeded its request rate limit.
1629//
1630//   * UnauthorizedClientException
1631//   The client is not currently authorized to make the request.
1632//
1633//   * ServiceUnavailableException
1634//   The service is currently unavailable.
1635//
1636//   * ServiceFailureException
1637//   The service encountered an unexpected error.
1638//
1639// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/UpdateAppInstance
1640func (c *ChimeSDKIdentity) UpdateAppInstance(input *UpdateAppInstanceInput) (*UpdateAppInstanceOutput, error) {
1641	req, out := c.UpdateAppInstanceRequest(input)
1642	return out, req.Send()
1643}
1644
1645// UpdateAppInstanceWithContext is the same as UpdateAppInstance with the addition of
1646// the ability to pass a context and additional request options.
1647//
1648// See UpdateAppInstance for details on how to use this API operation.
1649//
1650// The context must be non-nil and will be used for request cancellation. If
1651// the context is nil a panic will occur. In the future the SDK may create
1652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1653// for more information on using Contexts.
1654func (c *ChimeSDKIdentity) UpdateAppInstanceWithContext(ctx aws.Context, input *UpdateAppInstanceInput, opts ...request.Option) (*UpdateAppInstanceOutput, error) {
1655	req, out := c.UpdateAppInstanceRequest(input)
1656	req.SetContext(ctx)
1657	req.ApplyOptions(opts...)
1658	return out, req.Send()
1659}
1660
1661const opUpdateAppInstanceUser = "UpdateAppInstanceUser"
1662
1663// UpdateAppInstanceUserRequest generates a "aws/request.Request" representing the
1664// client's request for the UpdateAppInstanceUser operation. The "output" return
1665// value will be populated with the request's response once the request completes
1666// successfully.
1667//
1668// Use "Send" method on the returned Request to send the API call to the service.
1669// the "output" return value is not valid until after Send returns without error.
1670//
1671// See UpdateAppInstanceUser for more information on using the UpdateAppInstanceUser
1672// API call, and error handling.
1673//
1674// This method is useful when you want to inject custom logic or configuration
1675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1676//
1677//
1678//    // Example sending a request using the UpdateAppInstanceUserRequest method.
1679//    req, resp := client.UpdateAppInstanceUserRequest(params)
1680//
1681//    err := req.Send()
1682//    if err == nil { // resp is now filled
1683//        fmt.Println(resp)
1684//    }
1685//
1686// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/UpdateAppInstanceUser
1687func (c *ChimeSDKIdentity) UpdateAppInstanceUserRequest(input *UpdateAppInstanceUserInput) (req *request.Request, output *UpdateAppInstanceUserOutput) {
1688	op := &request.Operation{
1689		Name:       opUpdateAppInstanceUser,
1690		HTTPMethod: "PUT",
1691		HTTPPath:   "/app-instance-users/{appInstanceUserArn}",
1692	}
1693
1694	if input == nil {
1695		input = &UpdateAppInstanceUserInput{}
1696	}
1697
1698	output = &UpdateAppInstanceUserOutput{}
1699	req = c.newRequest(op, input, output)
1700	return
1701}
1702
1703// UpdateAppInstanceUser API operation for Amazon Chime SDK Identity.
1704//
1705// Updates the details of an AppInstanceUser. You can update names and metadata.
1706//
1707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1708// with awserr.Error's Code and Message methods to get detailed information about
1709// the error.
1710//
1711// See the AWS API reference guide for Amazon Chime SDK Identity's
1712// API operation UpdateAppInstanceUser for usage and error information.
1713//
1714// Returned Error Types:
1715//   * BadRequestException
1716//   The input parameters don't match the service's restrictions.
1717//
1718//   * ConflictException
1719//   The request could not be processed because of conflict in the current state
1720//   of the resource.
1721//
1722//   * ForbiddenException
1723//   The client is permanently forbidden from making the request.
1724//
1725//   * ResourceLimitExceededException
1726//   The request exceeds the resource limit.
1727//
1728//   * ThrottledClientException
1729//   The client exceeded its request rate limit.
1730//
1731//   * UnauthorizedClientException
1732//   The client is not currently authorized to make the request.
1733//
1734//   * ServiceUnavailableException
1735//   The service is currently unavailable.
1736//
1737//   * ServiceFailureException
1738//   The service encountered an unexpected error.
1739//
1740// See also, https://docs.aws.amazon.com/goto/WebAPI/chime-sdk-identity-2021-04-20/UpdateAppInstanceUser
1741func (c *ChimeSDKIdentity) UpdateAppInstanceUser(input *UpdateAppInstanceUserInput) (*UpdateAppInstanceUserOutput, error) {
1742	req, out := c.UpdateAppInstanceUserRequest(input)
1743	return out, req.Send()
1744}
1745
1746// UpdateAppInstanceUserWithContext is the same as UpdateAppInstanceUser with the addition of
1747// the ability to pass a context and additional request options.
1748//
1749// See UpdateAppInstanceUser for details on how to use this API operation.
1750//
1751// The context must be non-nil and will be used for request cancellation. If
1752// the context is nil a panic will occur. In the future the SDK may create
1753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1754// for more information on using Contexts.
1755func (c *ChimeSDKIdentity) UpdateAppInstanceUserWithContext(ctx aws.Context, input *UpdateAppInstanceUserInput, opts ...request.Option) (*UpdateAppInstanceUserOutput, error) {
1756	req, out := c.UpdateAppInstanceUserRequest(input)
1757	req.SetContext(ctx)
1758	req.ApplyOptions(opts...)
1759	return out, req.Send()
1760}
1761
1762// The details of an AppInstance, an instance of an Amazon Chime SDK messaging
1763// application.
1764type AppInstance struct {
1765	_ struct{} `type:"structure"`
1766
1767	// The ARN of the messaging instance.
1768	AppInstanceArn *string `min:"5" type:"string"`
1769
1770	// The time at which an AppInstance was created. In epoch milliseconds.
1771	CreatedTimestamp *time.Time `type:"timestamp"`
1772
1773	// The time an AppInstance was last updated. In epoch milliseconds.
1774	LastUpdatedTimestamp *time.Time `type:"timestamp"`
1775
1776	// The metadata of an AppInstance.
1777	Metadata *string `type:"string" sensitive:"true"`
1778
1779	// The name of an AppInstance.
1780	Name *string `min:"1" type:"string" sensitive:"true"`
1781}
1782
1783// String returns the string representation
1784func (s AppInstance) String() string {
1785	return awsutil.Prettify(s)
1786}
1787
1788// GoString returns the string representation
1789func (s AppInstance) GoString() string {
1790	return s.String()
1791}
1792
1793// SetAppInstanceArn sets the AppInstanceArn field's value.
1794func (s *AppInstance) SetAppInstanceArn(v string) *AppInstance {
1795	s.AppInstanceArn = &v
1796	return s
1797}
1798
1799// SetCreatedTimestamp sets the CreatedTimestamp field's value.
1800func (s *AppInstance) SetCreatedTimestamp(v time.Time) *AppInstance {
1801	s.CreatedTimestamp = &v
1802	return s
1803}
1804
1805// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
1806func (s *AppInstance) SetLastUpdatedTimestamp(v time.Time) *AppInstance {
1807	s.LastUpdatedTimestamp = &v
1808	return s
1809}
1810
1811// SetMetadata sets the Metadata field's value.
1812func (s *AppInstance) SetMetadata(v string) *AppInstance {
1813	s.Metadata = &v
1814	return s
1815}
1816
1817// SetName sets the Name field's value.
1818func (s *AppInstance) SetName(v string) *AppInstance {
1819	s.Name = &v
1820	return s
1821}
1822
1823// The details of an AppInstanceAdmin.
1824type AppInstanceAdmin struct {
1825	_ struct{} `type:"structure"`
1826
1827	// The AppInstanceAdmin data.
1828	Admin *Identity `type:"structure"`
1829
1830	// The ARN of the AppInstance for which the user is an administrator.
1831	AppInstanceArn *string `min:"5" type:"string"`
1832
1833	// The time at which an administrator was created.
1834	CreatedTimestamp *time.Time `type:"timestamp"`
1835}
1836
1837// String returns the string representation
1838func (s AppInstanceAdmin) String() string {
1839	return awsutil.Prettify(s)
1840}
1841
1842// GoString returns the string representation
1843func (s AppInstanceAdmin) GoString() string {
1844	return s.String()
1845}
1846
1847// SetAdmin sets the Admin field's value.
1848func (s *AppInstanceAdmin) SetAdmin(v *Identity) *AppInstanceAdmin {
1849	s.Admin = v
1850	return s
1851}
1852
1853// SetAppInstanceArn sets the AppInstanceArn field's value.
1854func (s *AppInstanceAdmin) SetAppInstanceArn(v string) *AppInstanceAdmin {
1855	s.AppInstanceArn = &v
1856	return s
1857}
1858
1859// SetCreatedTimestamp sets the CreatedTimestamp field's value.
1860func (s *AppInstanceAdmin) SetCreatedTimestamp(v time.Time) *AppInstanceAdmin {
1861	s.CreatedTimestamp = &v
1862	return s
1863}
1864
1865// Summary of the details of an AppInstanceAdmin.
1866type AppInstanceAdminSummary struct {
1867	_ struct{} `type:"structure"`
1868
1869	// The details of the AppInstanceAdmin.
1870	Admin *Identity `type:"structure"`
1871}
1872
1873// String returns the string representation
1874func (s AppInstanceAdminSummary) String() string {
1875	return awsutil.Prettify(s)
1876}
1877
1878// GoString returns the string representation
1879func (s AppInstanceAdminSummary) GoString() string {
1880	return s.String()
1881}
1882
1883// SetAdmin sets the Admin field's value.
1884func (s *AppInstanceAdminSummary) SetAdmin(v *Identity) *AppInstanceAdminSummary {
1885	s.Admin = v
1886	return s
1887}
1888
1889// The details of the data-retention settings for an AppInstance.
1890type AppInstanceRetentionSettings struct {
1891	_ struct{} `type:"structure"`
1892
1893	// The length of time in days to retain the messages in a channel.
1894	ChannelRetentionSettings *ChannelRetentionSettings `type:"structure"`
1895}
1896
1897// String returns the string representation
1898func (s AppInstanceRetentionSettings) String() string {
1899	return awsutil.Prettify(s)
1900}
1901
1902// GoString returns the string representation
1903func (s AppInstanceRetentionSettings) GoString() string {
1904	return s.String()
1905}
1906
1907// Validate inspects the fields of the type to determine if they are valid.
1908func (s *AppInstanceRetentionSettings) Validate() error {
1909	invalidParams := request.ErrInvalidParams{Context: "AppInstanceRetentionSettings"}
1910	if s.ChannelRetentionSettings != nil {
1911		if err := s.ChannelRetentionSettings.Validate(); err != nil {
1912			invalidParams.AddNested("ChannelRetentionSettings", err.(request.ErrInvalidParams))
1913		}
1914	}
1915
1916	if invalidParams.Len() > 0 {
1917		return invalidParams
1918	}
1919	return nil
1920}
1921
1922// SetChannelRetentionSettings sets the ChannelRetentionSettings field's value.
1923func (s *AppInstanceRetentionSettings) SetChannelRetentionSettings(v *ChannelRetentionSettings) *AppInstanceRetentionSettings {
1924	s.ChannelRetentionSettings = v
1925	return s
1926}
1927
1928// Summary of the data for an AppInstance.
1929type AppInstanceSummary struct {
1930	_ struct{} `type:"structure"`
1931
1932	// The AppInstance ARN.
1933	AppInstanceArn *string `min:"5" type:"string"`
1934
1935	// The metadata of the AppInstance.
1936	Metadata *string `type:"string" sensitive:"true"`
1937
1938	// The name of the AppInstance.
1939	Name *string `min:"1" type:"string" sensitive:"true"`
1940}
1941
1942// String returns the string representation
1943func (s AppInstanceSummary) String() string {
1944	return awsutil.Prettify(s)
1945}
1946
1947// GoString returns the string representation
1948func (s AppInstanceSummary) GoString() string {
1949	return s.String()
1950}
1951
1952// SetAppInstanceArn sets the AppInstanceArn field's value.
1953func (s *AppInstanceSummary) SetAppInstanceArn(v string) *AppInstanceSummary {
1954	s.AppInstanceArn = &v
1955	return s
1956}
1957
1958// SetMetadata sets the Metadata field's value.
1959func (s *AppInstanceSummary) SetMetadata(v string) *AppInstanceSummary {
1960	s.Metadata = &v
1961	return s
1962}
1963
1964// SetName sets the Name field's value.
1965func (s *AppInstanceSummary) SetName(v string) *AppInstanceSummary {
1966	s.Name = &v
1967	return s
1968}
1969
1970// The details of an AppInstanceUser.
1971type AppInstanceUser struct {
1972	_ struct{} `type:"structure"`
1973
1974	// The ARN of the AppInstanceUser.
1975	AppInstanceUserArn *string `min:"5" type:"string"`
1976
1977	// The time at which the AppInstanceUser was created.
1978	CreatedTimestamp *time.Time `type:"timestamp"`
1979
1980	// The time at which the AppInstanceUser was last updated.
1981	LastUpdatedTimestamp *time.Time `type:"timestamp"`
1982
1983	// The metadata of the AppInstanceUser.
1984	Metadata *string `type:"string" sensitive:"true"`
1985
1986	// The name of the AppInstanceUser.
1987	Name *string `min:"1" type:"string" sensitive:"true"`
1988}
1989
1990// String returns the string representation
1991func (s AppInstanceUser) String() string {
1992	return awsutil.Prettify(s)
1993}
1994
1995// GoString returns the string representation
1996func (s AppInstanceUser) GoString() string {
1997	return s.String()
1998}
1999
2000// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
2001func (s *AppInstanceUser) SetAppInstanceUserArn(v string) *AppInstanceUser {
2002	s.AppInstanceUserArn = &v
2003	return s
2004}
2005
2006// SetCreatedTimestamp sets the CreatedTimestamp field's value.
2007func (s *AppInstanceUser) SetCreatedTimestamp(v time.Time) *AppInstanceUser {
2008	s.CreatedTimestamp = &v
2009	return s
2010}
2011
2012// SetLastUpdatedTimestamp sets the LastUpdatedTimestamp field's value.
2013func (s *AppInstanceUser) SetLastUpdatedTimestamp(v time.Time) *AppInstanceUser {
2014	s.LastUpdatedTimestamp = &v
2015	return s
2016}
2017
2018// SetMetadata sets the Metadata field's value.
2019func (s *AppInstanceUser) SetMetadata(v string) *AppInstanceUser {
2020	s.Metadata = &v
2021	return s
2022}
2023
2024// SetName sets the Name field's value.
2025func (s *AppInstanceUser) SetName(v string) *AppInstanceUser {
2026	s.Name = &v
2027	return s
2028}
2029
2030// Summary of the details of an AppInstanceUser.
2031type AppInstanceUserSummary struct {
2032	_ struct{} `type:"structure"`
2033
2034	// The ARN of the AppInstanceUser.
2035	AppInstanceUserArn *string `min:"5" type:"string"`
2036
2037	// The metadata of the AppInstanceUser.
2038	Metadata *string `type:"string" sensitive:"true"`
2039
2040	// The name of an AppInstanceUser.
2041	Name *string `min:"1" type:"string" sensitive:"true"`
2042}
2043
2044// String returns the string representation
2045func (s AppInstanceUserSummary) String() string {
2046	return awsutil.Prettify(s)
2047}
2048
2049// GoString returns the string representation
2050func (s AppInstanceUserSummary) GoString() string {
2051	return s.String()
2052}
2053
2054// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
2055func (s *AppInstanceUserSummary) SetAppInstanceUserArn(v string) *AppInstanceUserSummary {
2056	s.AppInstanceUserArn = &v
2057	return s
2058}
2059
2060// SetMetadata sets the Metadata field's value.
2061func (s *AppInstanceUserSummary) SetMetadata(v string) *AppInstanceUserSummary {
2062	s.Metadata = &v
2063	return s
2064}
2065
2066// SetName sets the Name field's value.
2067func (s *AppInstanceUserSummary) SetName(v string) *AppInstanceUserSummary {
2068	s.Name = &v
2069	return s
2070}
2071
2072// The input parameters don't match the service's restrictions.
2073type BadRequestException struct {
2074	_            struct{}                  `type:"structure"`
2075	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2076
2077	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
2078
2079	Message_ *string `locationName:"Message" type:"string"`
2080}
2081
2082// String returns the string representation
2083func (s BadRequestException) String() string {
2084	return awsutil.Prettify(s)
2085}
2086
2087// GoString returns the string representation
2088func (s BadRequestException) GoString() string {
2089	return s.String()
2090}
2091
2092func newErrorBadRequestException(v protocol.ResponseMetadata) error {
2093	return &BadRequestException{
2094		RespMetadata: v,
2095	}
2096}
2097
2098// Code returns the exception type name.
2099func (s *BadRequestException) Code() string {
2100	return "BadRequestException"
2101}
2102
2103// Message returns the exception's message.
2104func (s *BadRequestException) Message() string {
2105	if s.Message_ != nil {
2106		return *s.Message_
2107	}
2108	return ""
2109}
2110
2111// OrigErr always returns nil, satisfies awserr.Error interface.
2112func (s *BadRequestException) OrigErr() error {
2113	return nil
2114}
2115
2116func (s *BadRequestException) Error() string {
2117	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2118}
2119
2120// Status code returns the HTTP status code for the request's response error.
2121func (s *BadRequestException) StatusCode() int {
2122	return s.RespMetadata.StatusCode
2123}
2124
2125// RequestID returns the service's response RequestID for request.
2126func (s *BadRequestException) RequestID() string {
2127	return s.RespMetadata.RequestID
2128}
2129
2130// The details of the retention settings for a channel.
2131type ChannelRetentionSettings struct {
2132	_ struct{} `type:"structure"`
2133
2134	// The time in days to retain the messages in a channel.
2135	RetentionDays *int64 `min:"1" type:"integer"`
2136}
2137
2138// String returns the string representation
2139func (s ChannelRetentionSettings) String() string {
2140	return awsutil.Prettify(s)
2141}
2142
2143// GoString returns the string representation
2144func (s ChannelRetentionSettings) GoString() string {
2145	return s.String()
2146}
2147
2148// Validate inspects the fields of the type to determine if they are valid.
2149func (s *ChannelRetentionSettings) Validate() error {
2150	invalidParams := request.ErrInvalidParams{Context: "ChannelRetentionSettings"}
2151	if s.RetentionDays != nil && *s.RetentionDays < 1 {
2152		invalidParams.Add(request.NewErrParamMinValue("RetentionDays", 1))
2153	}
2154
2155	if invalidParams.Len() > 0 {
2156		return invalidParams
2157	}
2158	return nil
2159}
2160
2161// SetRetentionDays sets the RetentionDays field's value.
2162func (s *ChannelRetentionSettings) SetRetentionDays(v int64) *ChannelRetentionSettings {
2163	s.RetentionDays = &v
2164	return s
2165}
2166
2167// The request could not be processed because of conflict in the current state
2168// of the resource.
2169type ConflictException struct {
2170	_            struct{}                  `type:"structure"`
2171	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2172
2173	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
2174
2175	Message_ *string `locationName:"Message" type:"string"`
2176}
2177
2178// String returns the string representation
2179func (s ConflictException) String() string {
2180	return awsutil.Prettify(s)
2181}
2182
2183// GoString returns the string representation
2184func (s ConflictException) GoString() string {
2185	return s.String()
2186}
2187
2188func newErrorConflictException(v protocol.ResponseMetadata) error {
2189	return &ConflictException{
2190		RespMetadata: v,
2191	}
2192}
2193
2194// Code returns the exception type name.
2195func (s *ConflictException) Code() string {
2196	return "ConflictException"
2197}
2198
2199// Message returns the exception's message.
2200func (s *ConflictException) Message() string {
2201	if s.Message_ != nil {
2202		return *s.Message_
2203	}
2204	return ""
2205}
2206
2207// OrigErr always returns nil, satisfies awserr.Error interface.
2208func (s *ConflictException) OrigErr() error {
2209	return nil
2210}
2211
2212func (s *ConflictException) Error() string {
2213	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
2214}
2215
2216// Status code returns the HTTP status code for the request's response error.
2217func (s *ConflictException) StatusCode() int {
2218	return s.RespMetadata.StatusCode
2219}
2220
2221// RequestID returns the service's response RequestID for request.
2222func (s *ConflictException) RequestID() string {
2223	return s.RespMetadata.RequestID
2224}
2225
2226type CreateAppInstanceAdminInput struct {
2227	_ struct{} `type:"structure"`
2228
2229	// The ARN of the administrator of the current AppInstance.
2230	//
2231	// AppInstanceAdminArn is a required field
2232	AppInstanceAdminArn *string `min:"5" type:"string" required:"true"`
2233
2234	// The ARN of the AppInstance.
2235	//
2236	// AppInstanceArn is a required field
2237	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
2238}
2239
2240// String returns the string representation
2241func (s CreateAppInstanceAdminInput) String() string {
2242	return awsutil.Prettify(s)
2243}
2244
2245// GoString returns the string representation
2246func (s CreateAppInstanceAdminInput) GoString() string {
2247	return s.String()
2248}
2249
2250// Validate inspects the fields of the type to determine if they are valid.
2251func (s *CreateAppInstanceAdminInput) Validate() error {
2252	invalidParams := request.ErrInvalidParams{Context: "CreateAppInstanceAdminInput"}
2253	if s.AppInstanceAdminArn == nil {
2254		invalidParams.Add(request.NewErrParamRequired("AppInstanceAdminArn"))
2255	}
2256	if s.AppInstanceAdminArn != nil && len(*s.AppInstanceAdminArn) < 5 {
2257		invalidParams.Add(request.NewErrParamMinLen("AppInstanceAdminArn", 5))
2258	}
2259	if s.AppInstanceArn == nil {
2260		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
2261	}
2262	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
2263		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
2264	}
2265
2266	if invalidParams.Len() > 0 {
2267		return invalidParams
2268	}
2269	return nil
2270}
2271
2272// SetAppInstanceAdminArn sets the AppInstanceAdminArn field's value.
2273func (s *CreateAppInstanceAdminInput) SetAppInstanceAdminArn(v string) *CreateAppInstanceAdminInput {
2274	s.AppInstanceAdminArn = &v
2275	return s
2276}
2277
2278// SetAppInstanceArn sets the AppInstanceArn field's value.
2279func (s *CreateAppInstanceAdminInput) SetAppInstanceArn(v string) *CreateAppInstanceAdminInput {
2280	s.AppInstanceArn = &v
2281	return s
2282}
2283
2284type CreateAppInstanceAdminOutput struct {
2285	_ struct{} `type:"structure"`
2286
2287	// The name and ARN of the admin for the AppInstance.
2288	AppInstanceAdmin *Identity `type:"structure"`
2289
2290	// The ARN of the of the admin for the AppInstance.
2291	AppInstanceArn *string `min:"5" type:"string"`
2292}
2293
2294// String returns the string representation
2295func (s CreateAppInstanceAdminOutput) String() string {
2296	return awsutil.Prettify(s)
2297}
2298
2299// GoString returns the string representation
2300func (s CreateAppInstanceAdminOutput) GoString() string {
2301	return s.String()
2302}
2303
2304// SetAppInstanceAdmin sets the AppInstanceAdmin field's value.
2305func (s *CreateAppInstanceAdminOutput) SetAppInstanceAdmin(v *Identity) *CreateAppInstanceAdminOutput {
2306	s.AppInstanceAdmin = v
2307	return s
2308}
2309
2310// SetAppInstanceArn sets the AppInstanceArn field's value.
2311func (s *CreateAppInstanceAdminOutput) SetAppInstanceArn(v string) *CreateAppInstanceAdminOutput {
2312	s.AppInstanceArn = &v
2313	return s
2314}
2315
2316type CreateAppInstanceInput struct {
2317	_ struct{} `type:"structure"`
2318
2319	// The ClientRequestToken of the AppInstance.
2320	ClientRequestToken *string `min:"2" type:"string" idempotencyToken:"true" sensitive:"true"`
2321
2322	// The metadata of the AppInstance. Limited to a 1KB string in UTF-8.
2323	Metadata *string `type:"string" sensitive:"true"`
2324
2325	// The name of the AppInstance.
2326	//
2327	// Name is a required field
2328	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
2329
2330	// Tags assigned to the AppInstanceUser.
2331	Tags []*Tag `min:"1" type:"list"`
2332}
2333
2334// String returns the string representation
2335func (s CreateAppInstanceInput) String() string {
2336	return awsutil.Prettify(s)
2337}
2338
2339// GoString returns the string representation
2340func (s CreateAppInstanceInput) GoString() string {
2341	return s.String()
2342}
2343
2344// Validate inspects the fields of the type to determine if they are valid.
2345func (s *CreateAppInstanceInput) Validate() error {
2346	invalidParams := request.ErrInvalidParams{Context: "CreateAppInstanceInput"}
2347	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 2 {
2348		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 2))
2349	}
2350	if s.Name == nil {
2351		invalidParams.Add(request.NewErrParamRequired("Name"))
2352	}
2353	if s.Name != nil && len(*s.Name) < 1 {
2354		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
2355	}
2356	if s.Tags != nil && len(s.Tags) < 1 {
2357		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
2358	}
2359	if s.Tags != nil {
2360		for i, v := range s.Tags {
2361			if v == nil {
2362				continue
2363			}
2364			if err := v.Validate(); err != nil {
2365				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
2366			}
2367		}
2368	}
2369
2370	if invalidParams.Len() > 0 {
2371		return invalidParams
2372	}
2373	return nil
2374}
2375
2376// SetClientRequestToken sets the ClientRequestToken field's value.
2377func (s *CreateAppInstanceInput) SetClientRequestToken(v string) *CreateAppInstanceInput {
2378	s.ClientRequestToken = &v
2379	return s
2380}
2381
2382// SetMetadata sets the Metadata field's value.
2383func (s *CreateAppInstanceInput) SetMetadata(v string) *CreateAppInstanceInput {
2384	s.Metadata = &v
2385	return s
2386}
2387
2388// SetName sets the Name field's value.
2389func (s *CreateAppInstanceInput) SetName(v string) *CreateAppInstanceInput {
2390	s.Name = &v
2391	return s
2392}
2393
2394// SetTags sets the Tags field's value.
2395func (s *CreateAppInstanceInput) SetTags(v []*Tag) *CreateAppInstanceInput {
2396	s.Tags = v
2397	return s
2398}
2399
2400type CreateAppInstanceOutput struct {
2401	_ struct{} `type:"structure"`
2402
2403	// The Amazon Resource Number (ARN) of the AppInstance.
2404	AppInstanceArn *string `min:"5" type:"string"`
2405}
2406
2407// String returns the string representation
2408func (s CreateAppInstanceOutput) String() string {
2409	return awsutil.Prettify(s)
2410}
2411
2412// GoString returns the string representation
2413func (s CreateAppInstanceOutput) GoString() string {
2414	return s.String()
2415}
2416
2417// SetAppInstanceArn sets the AppInstanceArn field's value.
2418func (s *CreateAppInstanceOutput) SetAppInstanceArn(v string) *CreateAppInstanceOutput {
2419	s.AppInstanceArn = &v
2420	return s
2421}
2422
2423type CreateAppInstanceUserInput struct {
2424	_ struct{} `type:"structure"`
2425
2426	// The ARN of the AppInstance request.
2427	//
2428	// AppInstanceArn is a required field
2429	AppInstanceArn *string `min:"5" type:"string" required:"true"`
2430
2431	// The user ID of the AppInstance.
2432	//
2433	// AppInstanceUserId is a required field
2434	AppInstanceUserId *string `min:"1" type:"string" required:"true" sensitive:"true"`
2435
2436	// The token assigned to the user requesting an AppInstance.
2437	ClientRequestToken *string `min:"2" type:"string" idempotencyToken:"true" sensitive:"true"`
2438
2439	// The request's metadata. Limited to a 1KB string in UTF-8.
2440	Metadata *string `type:"string" sensitive:"true"`
2441
2442	// The user's name.
2443	//
2444	// Name is a required field
2445	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
2446
2447	// Tags assigned to the AppInstanceUser.
2448	Tags []*Tag `min:"1" type:"list"`
2449}
2450
2451// String returns the string representation
2452func (s CreateAppInstanceUserInput) String() string {
2453	return awsutil.Prettify(s)
2454}
2455
2456// GoString returns the string representation
2457func (s CreateAppInstanceUserInput) GoString() string {
2458	return s.String()
2459}
2460
2461// Validate inspects the fields of the type to determine if they are valid.
2462func (s *CreateAppInstanceUserInput) Validate() error {
2463	invalidParams := request.ErrInvalidParams{Context: "CreateAppInstanceUserInput"}
2464	if s.AppInstanceArn == nil {
2465		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
2466	}
2467	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
2468		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
2469	}
2470	if s.AppInstanceUserId == nil {
2471		invalidParams.Add(request.NewErrParamRequired("AppInstanceUserId"))
2472	}
2473	if s.AppInstanceUserId != nil && len(*s.AppInstanceUserId) < 1 {
2474		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserId", 1))
2475	}
2476	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 2 {
2477		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 2))
2478	}
2479	if s.Name == nil {
2480		invalidParams.Add(request.NewErrParamRequired("Name"))
2481	}
2482	if s.Name != nil && len(*s.Name) < 1 {
2483		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
2484	}
2485	if s.Tags != nil && len(s.Tags) < 1 {
2486		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
2487	}
2488	if s.Tags != nil {
2489		for i, v := range s.Tags {
2490			if v == nil {
2491				continue
2492			}
2493			if err := v.Validate(); err != nil {
2494				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
2495			}
2496		}
2497	}
2498
2499	if invalidParams.Len() > 0 {
2500		return invalidParams
2501	}
2502	return nil
2503}
2504
2505// SetAppInstanceArn sets the AppInstanceArn field's value.
2506func (s *CreateAppInstanceUserInput) SetAppInstanceArn(v string) *CreateAppInstanceUserInput {
2507	s.AppInstanceArn = &v
2508	return s
2509}
2510
2511// SetAppInstanceUserId sets the AppInstanceUserId field's value.
2512func (s *CreateAppInstanceUserInput) SetAppInstanceUserId(v string) *CreateAppInstanceUserInput {
2513	s.AppInstanceUserId = &v
2514	return s
2515}
2516
2517// SetClientRequestToken sets the ClientRequestToken field's value.
2518func (s *CreateAppInstanceUserInput) SetClientRequestToken(v string) *CreateAppInstanceUserInput {
2519	s.ClientRequestToken = &v
2520	return s
2521}
2522
2523// SetMetadata sets the Metadata field's value.
2524func (s *CreateAppInstanceUserInput) SetMetadata(v string) *CreateAppInstanceUserInput {
2525	s.Metadata = &v
2526	return s
2527}
2528
2529// SetName sets the Name field's value.
2530func (s *CreateAppInstanceUserInput) SetName(v string) *CreateAppInstanceUserInput {
2531	s.Name = &v
2532	return s
2533}
2534
2535// SetTags sets the Tags field's value.
2536func (s *CreateAppInstanceUserInput) SetTags(v []*Tag) *CreateAppInstanceUserInput {
2537	s.Tags = v
2538	return s
2539}
2540
2541type CreateAppInstanceUserOutput struct {
2542	_ struct{} `type:"structure"`
2543
2544	// The user's ARN.
2545	AppInstanceUserArn *string `min:"5" type:"string"`
2546}
2547
2548// String returns the string representation
2549func (s CreateAppInstanceUserOutput) String() string {
2550	return awsutil.Prettify(s)
2551}
2552
2553// GoString returns the string representation
2554func (s CreateAppInstanceUserOutput) GoString() string {
2555	return s.String()
2556}
2557
2558// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
2559func (s *CreateAppInstanceUserOutput) SetAppInstanceUserArn(v string) *CreateAppInstanceUserOutput {
2560	s.AppInstanceUserArn = &v
2561	return s
2562}
2563
2564type DeleteAppInstanceAdminInput struct {
2565	_ struct{} `type:"structure"`
2566
2567	// The ARN of the AppInstance's administrator.
2568	//
2569	// AppInstanceAdminArn is a required field
2570	AppInstanceAdminArn *string `location:"uri" locationName:"appInstanceAdminArn" min:"5" type:"string" required:"true"`
2571
2572	// The ARN of the AppInstance.
2573	//
2574	// AppInstanceArn is a required field
2575	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
2576}
2577
2578// String returns the string representation
2579func (s DeleteAppInstanceAdminInput) String() string {
2580	return awsutil.Prettify(s)
2581}
2582
2583// GoString returns the string representation
2584func (s DeleteAppInstanceAdminInput) GoString() string {
2585	return s.String()
2586}
2587
2588// Validate inspects the fields of the type to determine if they are valid.
2589func (s *DeleteAppInstanceAdminInput) Validate() error {
2590	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInstanceAdminInput"}
2591	if s.AppInstanceAdminArn == nil {
2592		invalidParams.Add(request.NewErrParamRequired("AppInstanceAdminArn"))
2593	}
2594	if s.AppInstanceAdminArn != nil && len(*s.AppInstanceAdminArn) < 5 {
2595		invalidParams.Add(request.NewErrParamMinLen("AppInstanceAdminArn", 5))
2596	}
2597	if s.AppInstanceArn == nil {
2598		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
2599	}
2600	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
2601		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
2602	}
2603
2604	if invalidParams.Len() > 0 {
2605		return invalidParams
2606	}
2607	return nil
2608}
2609
2610// SetAppInstanceAdminArn sets the AppInstanceAdminArn field's value.
2611func (s *DeleteAppInstanceAdminInput) SetAppInstanceAdminArn(v string) *DeleteAppInstanceAdminInput {
2612	s.AppInstanceAdminArn = &v
2613	return s
2614}
2615
2616// SetAppInstanceArn sets the AppInstanceArn field's value.
2617func (s *DeleteAppInstanceAdminInput) SetAppInstanceArn(v string) *DeleteAppInstanceAdminInput {
2618	s.AppInstanceArn = &v
2619	return s
2620}
2621
2622type DeleteAppInstanceAdminOutput struct {
2623	_ struct{} `type:"structure"`
2624}
2625
2626// String returns the string representation
2627func (s DeleteAppInstanceAdminOutput) String() string {
2628	return awsutil.Prettify(s)
2629}
2630
2631// GoString returns the string representation
2632func (s DeleteAppInstanceAdminOutput) GoString() string {
2633	return s.String()
2634}
2635
2636type DeleteAppInstanceInput struct {
2637	_ struct{} `type:"structure"`
2638
2639	// The ARN of the AppInstance.
2640	//
2641	// AppInstanceArn is a required field
2642	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
2643}
2644
2645// String returns the string representation
2646func (s DeleteAppInstanceInput) String() string {
2647	return awsutil.Prettify(s)
2648}
2649
2650// GoString returns the string representation
2651func (s DeleteAppInstanceInput) GoString() string {
2652	return s.String()
2653}
2654
2655// Validate inspects the fields of the type to determine if they are valid.
2656func (s *DeleteAppInstanceInput) Validate() error {
2657	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInstanceInput"}
2658	if s.AppInstanceArn == nil {
2659		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
2660	}
2661	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
2662		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
2663	}
2664
2665	if invalidParams.Len() > 0 {
2666		return invalidParams
2667	}
2668	return nil
2669}
2670
2671// SetAppInstanceArn sets the AppInstanceArn field's value.
2672func (s *DeleteAppInstanceInput) SetAppInstanceArn(v string) *DeleteAppInstanceInput {
2673	s.AppInstanceArn = &v
2674	return s
2675}
2676
2677type DeleteAppInstanceOutput struct {
2678	_ struct{} `type:"structure"`
2679}
2680
2681// String returns the string representation
2682func (s DeleteAppInstanceOutput) String() string {
2683	return awsutil.Prettify(s)
2684}
2685
2686// GoString returns the string representation
2687func (s DeleteAppInstanceOutput) GoString() string {
2688	return s.String()
2689}
2690
2691type DeleteAppInstanceUserInput struct {
2692	_ struct{} `type:"structure"`
2693
2694	// The ARN of the user request being deleted.
2695	//
2696	// AppInstanceUserArn is a required field
2697	AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" min:"5" type:"string" required:"true"`
2698}
2699
2700// String returns the string representation
2701func (s DeleteAppInstanceUserInput) String() string {
2702	return awsutil.Prettify(s)
2703}
2704
2705// GoString returns the string representation
2706func (s DeleteAppInstanceUserInput) GoString() string {
2707	return s.String()
2708}
2709
2710// Validate inspects the fields of the type to determine if they are valid.
2711func (s *DeleteAppInstanceUserInput) Validate() error {
2712	invalidParams := request.ErrInvalidParams{Context: "DeleteAppInstanceUserInput"}
2713	if s.AppInstanceUserArn == nil {
2714		invalidParams.Add(request.NewErrParamRequired("AppInstanceUserArn"))
2715	}
2716	if s.AppInstanceUserArn != nil && len(*s.AppInstanceUserArn) < 5 {
2717		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserArn", 5))
2718	}
2719
2720	if invalidParams.Len() > 0 {
2721		return invalidParams
2722	}
2723	return nil
2724}
2725
2726// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
2727func (s *DeleteAppInstanceUserInput) SetAppInstanceUserArn(v string) *DeleteAppInstanceUserInput {
2728	s.AppInstanceUserArn = &v
2729	return s
2730}
2731
2732type DeleteAppInstanceUserOutput struct {
2733	_ struct{} `type:"structure"`
2734}
2735
2736// String returns the string representation
2737func (s DeleteAppInstanceUserOutput) String() string {
2738	return awsutil.Prettify(s)
2739}
2740
2741// GoString returns the string representation
2742func (s DeleteAppInstanceUserOutput) GoString() string {
2743	return s.String()
2744}
2745
2746type DescribeAppInstanceAdminInput struct {
2747	_ struct{} `type:"structure"`
2748
2749	// The ARN of the AppInstanceAdmin.
2750	//
2751	// AppInstanceAdminArn is a required field
2752	AppInstanceAdminArn *string `location:"uri" locationName:"appInstanceAdminArn" min:"5" type:"string" required:"true"`
2753
2754	// The ARN of the AppInstance.
2755	//
2756	// AppInstanceArn is a required field
2757	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
2758}
2759
2760// String returns the string representation
2761func (s DescribeAppInstanceAdminInput) String() string {
2762	return awsutil.Prettify(s)
2763}
2764
2765// GoString returns the string representation
2766func (s DescribeAppInstanceAdminInput) GoString() string {
2767	return s.String()
2768}
2769
2770// Validate inspects the fields of the type to determine if they are valid.
2771func (s *DescribeAppInstanceAdminInput) Validate() error {
2772	invalidParams := request.ErrInvalidParams{Context: "DescribeAppInstanceAdminInput"}
2773	if s.AppInstanceAdminArn == nil {
2774		invalidParams.Add(request.NewErrParamRequired("AppInstanceAdminArn"))
2775	}
2776	if s.AppInstanceAdminArn != nil && len(*s.AppInstanceAdminArn) < 5 {
2777		invalidParams.Add(request.NewErrParamMinLen("AppInstanceAdminArn", 5))
2778	}
2779	if s.AppInstanceArn == nil {
2780		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
2781	}
2782	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
2783		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
2784	}
2785
2786	if invalidParams.Len() > 0 {
2787		return invalidParams
2788	}
2789	return nil
2790}
2791
2792// SetAppInstanceAdminArn sets the AppInstanceAdminArn field's value.
2793func (s *DescribeAppInstanceAdminInput) SetAppInstanceAdminArn(v string) *DescribeAppInstanceAdminInput {
2794	s.AppInstanceAdminArn = &v
2795	return s
2796}
2797
2798// SetAppInstanceArn sets the AppInstanceArn field's value.
2799func (s *DescribeAppInstanceAdminInput) SetAppInstanceArn(v string) *DescribeAppInstanceAdminInput {
2800	s.AppInstanceArn = &v
2801	return s
2802}
2803
2804type DescribeAppInstanceAdminOutput struct {
2805	_ struct{} `type:"structure"`
2806
2807	// The ARN and name of the AppInstanceUser, the ARN of the AppInstance, and
2808	// the created and last-updated timestamps. All timestamps use epoch milliseconds.
2809	AppInstanceAdmin *AppInstanceAdmin `type:"structure"`
2810}
2811
2812// String returns the string representation
2813func (s DescribeAppInstanceAdminOutput) String() string {
2814	return awsutil.Prettify(s)
2815}
2816
2817// GoString returns the string representation
2818func (s DescribeAppInstanceAdminOutput) GoString() string {
2819	return s.String()
2820}
2821
2822// SetAppInstanceAdmin sets the AppInstanceAdmin field's value.
2823func (s *DescribeAppInstanceAdminOutput) SetAppInstanceAdmin(v *AppInstanceAdmin) *DescribeAppInstanceAdminOutput {
2824	s.AppInstanceAdmin = v
2825	return s
2826}
2827
2828type DescribeAppInstanceInput struct {
2829	_ struct{} `type:"structure"`
2830
2831	// The ARN of the AppInstance.
2832	//
2833	// AppInstanceArn is a required field
2834	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
2835}
2836
2837// String returns the string representation
2838func (s DescribeAppInstanceInput) String() string {
2839	return awsutil.Prettify(s)
2840}
2841
2842// GoString returns the string representation
2843func (s DescribeAppInstanceInput) GoString() string {
2844	return s.String()
2845}
2846
2847// Validate inspects the fields of the type to determine if they are valid.
2848func (s *DescribeAppInstanceInput) Validate() error {
2849	invalidParams := request.ErrInvalidParams{Context: "DescribeAppInstanceInput"}
2850	if s.AppInstanceArn == nil {
2851		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
2852	}
2853	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
2854		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
2855	}
2856
2857	if invalidParams.Len() > 0 {
2858		return invalidParams
2859	}
2860	return nil
2861}
2862
2863// SetAppInstanceArn sets the AppInstanceArn field's value.
2864func (s *DescribeAppInstanceInput) SetAppInstanceArn(v string) *DescribeAppInstanceInput {
2865	s.AppInstanceArn = &v
2866	return s
2867}
2868
2869type DescribeAppInstanceOutput struct {
2870	_ struct{} `type:"structure"`
2871
2872	// The ARN, metadata, created and last-updated timestamps, and the name of the
2873	// AppInstance. All timestamps use epoch milliseconds.
2874	AppInstance *AppInstance `type:"structure"`
2875}
2876
2877// String returns the string representation
2878func (s DescribeAppInstanceOutput) String() string {
2879	return awsutil.Prettify(s)
2880}
2881
2882// GoString returns the string representation
2883func (s DescribeAppInstanceOutput) GoString() string {
2884	return s.String()
2885}
2886
2887// SetAppInstance sets the AppInstance field's value.
2888func (s *DescribeAppInstanceOutput) SetAppInstance(v *AppInstance) *DescribeAppInstanceOutput {
2889	s.AppInstance = v
2890	return s
2891}
2892
2893type DescribeAppInstanceUserInput struct {
2894	_ struct{} `type:"structure"`
2895
2896	// The ARN of the AppInstanceUser.
2897	//
2898	// AppInstanceUserArn is a required field
2899	AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" min:"5" type:"string" required:"true"`
2900}
2901
2902// String returns the string representation
2903func (s DescribeAppInstanceUserInput) String() string {
2904	return awsutil.Prettify(s)
2905}
2906
2907// GoString returns the string representation
2908func (s DescribeAppInstanceUserInput) GoString() string {
2909	return s.String()
2910}
2911
2912// Validate inspects the fields of the type to determine if they are valid.
2913func (s *DescribeAppInstanceUserInput) Validate() error {
2914	invalidParams := request.ErrInvalidParams{Context: "DescribeAppInstanceUserInput"}
2915	if s.AppInstanceUserArn == nil {
2916		invalidParams.Add(request.NewErrParamRequired("AppInstanceUserArn"))
2917	}
2918	if s.AppInstanceUserArn != nil && len(*s.AppInstanceUserArn) < 5 {
2919		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserArn", 5))
2920	}
2921
2922	if invalidParams.Len() > 0 {
2923		return invalidParams
2924	}
2925	return nil
2926}
2927
2928// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
2929func (s *DescribeAppInstanceUserInput) SetAppInstanceUserArn(v string) *DescribeAppInstanceUserInput {
2930	s.AppInstanceUserArn = &v
2931	return s
2932}
2933
2934type DescribeAppInstanceUserOutput struct {
2935	_ struct{} `type:"structure"`
2936
2937	// The name of the AppInstanceUser.
2938	AppInstanceUser *AppInstanceUser `type:"structure"`
2939}
2940
2941// String returns the string representation
2942func (s DescribeAppInstanceUserOutput) String() string {
2943	return awsutil.Prettify(s)
2944}
2945
2946// GoString returns the string representation
2947func (s DescribeAppInstanceUserOutput) GoString() string {
2948	return s.String()
2949}
2950
2951// SetAppInstanceUser sets the AppInstanceUser field's value.
2952func (s *DescribeAppInstanceUserOutput) SetAppInstanceUser(v *AppInstanceUser) *DescribeAppInstanceUserOutput {
2953	s.AppInstanceUser = v
2954	return s
2955}
2956
2957// The client is permanently forbidden from making the request.
2958type ForbiddenException struct {
2959	_            struct{}                  `type:"structure"`
2960	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2961
2962	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
2963
2964	Message_ *string `locationName:"Message" type:"string"`
2965}
2966
2967// String returns the string representation
2968func (s ForbiddenException) String() string {
2969	return awsutil.Prettify(s)
2970}
2971
2972// GoString returns the string representation
2973func (s ForbiddenException) GoString() string {
2974	return s.String()
2975}
2976
2977func newErrorForbiddenException(v protocol.ResponseMetadata) error {
2978	return &ForbiddenException{
2979		RespMetadata: v,
2980	}
2981}
2982
2983// Code returns the exception type name.
2984func (s *ForbiddenException) Code() string {
2985	return "ForbiddenException"
2986}
2987
2988// Message returns the exception's message.
2989func (s *ForbiddenException) Message() string {
2990	if s.Message_ != nil {
2991		return *s.Message_
2992	}
2993	return ""
2994}
2995
2996// OrigErr always returns nil, satisfies awserr.Error interface.
2997func (s *ForbiddenException) OrigErr() error {
2998	return nil
2999}
3000
3001func (s *ForbiddenException) Error() string {
3002	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3003}
3004
3005// Status code returns the HTTP status code for the request's response error.
3006func (s *ForbiddenException) StatusCode() int {
3007	return s.RespMetadata.StatusCode
3008}
3009
3010// RequestID returns the service's response RequestID for request.
3011func (s *ForbiddenException) RequestID() string {
3012	return s.RespMetadata.RequestID
3013}
3014
3015type GetAppInstanceRetentionSettingsInput struct {
3016	_ struct{} `type:"structure"`
3017
3018	// The ARN of the AppInstance.
3019	//
3020	// AppInstanceArn is a required field
3021	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
3022}
3023
3024// String returns the string representation
3025func (s GetAppInstanceRetentionSettingsInput) String() string {
3026	return awsutil.Prettify(s)
3027}
3028
3029// GoString returns the string representation
3030func (s GetAppInstanceRetentionSettingsInput) GoString() string {
3031	return s.String()
3032}
3033
3034// Validate inspects the fields of the type to determine if they are valid.
3035func (s *GetAppInstanceRetentionSettingsInput) Validate() error {
3036	invalidParams := request.ErrInvalidParams{Context: "GetAppInstanceRetentionSettingsInput"}
3037	if s.AppInstanceArn == nil {
3038		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
3039	}
3040	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
3041		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
3042	}
3043
3044	if invalidParams.Len() > 0 {
3045		return invalidParams
3046	}
3047	return nil
3048}
3049
3050// SetAppInstanceArn sets the AppInstanceArn field's value.
3051func (s *GetAppInstanceRetentionSettingsInput) SetAppInstanceArn(v string) *GetAppInstanceRetentionSettingsInput {
3052	s.AppInstanceArn = &v
3053	return s
3054}
3055
3056type GetAppInstanceRetentionSettingsOutput struct {
3057	_ struct{} `type:"structure"`
3058
3059	// The retention settings for the AppInstance.
3060	AppInstanceRetentionSettings *AppInstanceRetentionSettings `type:"structure"`
3061
3062	// The timestamp representing the time at which the specified items are retained,
3063	// in Epoch Seconds.
3064	InitiateDeletionTimestamp *time.Time `type:"timestamp"`
3065}
3066
3067// String returns the string representation
3068func (s GetAppInstanceRetentionSettingsOutput) String() string {
3069	return awsutil.Prettify(s)
3070}
3071
3072// GoString returns the string representation
3073func (s GetAppInstanceRetentionSettingsOutput) GoString() string {
3074	return s.String()
3075}
3076
3077// SetAppInstanceRetentionSettings sets the AppInstanceRetentionSettings field's value.
3078func (s *GetAppInstanceRetentionSettingsOutput) SetAppInstanceRetentionSettings(v *AppInstanceRetentionSettings) *GetAppInstanceRetentionSettingsOutput {
3079	s.AppInstanceRetentionSettings = v
3080	return s
3081}
3082
3083// SetInitiateDeletionTimestamp sets the InitiateDeletionTimestamp field's value.
3084func (s *GetAppInstanceRetentionSettingsOutput) SetInitiateDeletionTimestamp(v time.Time) *GetAppInstanceRetentionSettingsOutput {
3085	s.InitiateDeletionTimestamp = &v
3086	return s
3087}
3088
3089// The details of a user.
3090type Identity struct {
3091	_ struct{} `type:"structure"`
3092
3093	// The ARN in an Identity.
3094	Arn *string `min:"5" type:"string"`
3095
3096	// The name in an Identity.
3097	Name *string `type:"string" sensitive:"true"`
3098}
3099
3100// String returns the string representation
3101func (s Identity) String() string {
3102	return awsutil.Prettify(s)
3103}
3104
3105// GoString returns the string representation
3106func (s Identity) GoString() string {
3107	return s.String()
3108}
3109
3110// SetArn sets the Arn field's value.
3111func (s *Identity) SetArn(v string) *Identity {
3112	s.Arn = &v
3113	return s
3114}
3115
3116// SetName sets the Name field's value.
3117func (s *Identity) SetName(v string) *Identity {
3118	s.Name = &v
3119	return s
3120}
3121
3122type ListAppInstanceAdminsInput struct {
3123	_ struct{} `type:"structure"`
3124
3125	// The ARN of the AppInstance.
3126	//
3127	// AppInstanceArn is a required field
3128	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
3129
3130	// The maximum number of administrators that you want to return.
3131	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
3132
3133	// The token returned from previous API requests until the number of administrators
3134	// is reached.
3135	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
3136}
3137
3138// String returns the string representation
3139func (s ListAppInstanceAdminsInput) String() string {
3140	return awsutil.Prettify(s)
3141}
3142
3143// GoString returns the string representation
3144func (s ListAppInstanceAdminsInput) GoString() string {
3145	return s.String()
3146}
3147
3148// Validate inspects the fields of the type to determine if they are valid.
3149func (s *ListAppInstanceAdminsInput) Validate() error {
3150	invalidParams := request.ErrInvalidParams{Context: "ListAppInstanceAdminsInput"}
3151	if s.AppInstanceArn == nil {
3152		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
3153	}
3154	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
3155		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
3156	}
3157	if s.MaxResults != nil && *s.MaxResults < 1 {
3158		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3159	}
3160
3161	if invalidParams.Len() > 0 {
3162		return invalidParams
3163	}
3164	return nil
3165}
3166
3167// SetAppInstanceArn sets the AppInstanceArn field's value.
3168func (s *ListAppInstanceAdminsInput) SetAppInstanceArn(v string) *ListAppInstanceAdminsInput {
3169	s.AppInstanceArn = &v
3170	return s
3171}
3172
3173// SetMaxResults sets the MaxResults field's value.
3174func (s *ListAppInstanceAdminsInput) SetMaxResults(v int64) *ListAppInstanceAdminsInput {
3175	s.MaxResults = &v
3176	return s
3177}
3178
3179// SetNextToken sets the NextToken field's value.
3180func (s *ListAppInstanceAdminsInput) SetNextToken(v string) *ListAppInstanceAdminsInput {
3181	s.NextToken = &v
3182	return s
3183}
3184
3185type ListAppInstanceAdminsOutput struct {
3186	_ struct{} `type:"structure"`
3187
3188	// The information for each administrator.
3189	AppInstanceAdmins []*AppInstanceAdminSummary `type:"list"`
3190
3191	// The ARN of the AppInstance.
3192	AppInstanceArn *string `min:"5" type:"string"`
3193
3194	// The token returned from previous API requests until the number of administrators
3195	// is reached.
3196	NextToken *string `type:"string" sensitive:"true"`
3197}
3198
3199// String returns the string representation
3200func (s ListAppInstanceAdminsOutput) String() string {
3201	return awsutil.Prettify(s)
3202}
3203
3204// GoString returns the string representation
3205func (s ListAppInstanceAdminsOutput) GoString() string {
3206	return s.String()
3207}
3208
3209// SetAppInstanceAdmins sets the AppInstanceAdmins field's value.
3210func (s *ListAppInstanceAdminsOutput) SetAppInstanceAdmins(v []*AppInstanceAdminSummary) *ListAppInstanceAdminsOutput {
3211	s.AppInstanceAdmins = v
3212	return s
3213}
3214
3215// SetAppInstanceArn sets the AppInstanceArn field's value.
3216func (s *ListAppInstanceAdminsOutput) SetAppInstanceArn(v string) *ListAppInstanceAdminsOutput {
3217	s.AppInstanceArn = &v
3218	return s
3219}
3220
3221// SetNextToken sets the NextToken field's value.
3222func (s *ListAppInstanceAdminsOutput) SetNextToken(v string) *ListAppInstanceAdminsOutput {
3223	s.NextToken = &v
3224	return s
3225}
3226
3227type ListAppInstanceUsersInput struct {
3228	_ struct{} `type:"structure"`
3229
3230	// The ARN of the AppInstance.
3231	//
3232	// AppInstanceArn is a required field
3233	AppInstanceArn *string `location:"querystring" locationName:"app-instance-arn" min:"5" type:"string" required:"true"`
3234
3235	// The maximum number of requests that you want returned.
3236	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
3237
3238	// The token passed by previous API calls until all requested users are returned.
3239	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
3240}
3241
3242// String returns the string representation
3243func (s ListAppInstanceUsersInput) String() string {
3244	return awsutil.Prettify(s)
3245}
3246
3247// GoString returns the string representation
3248func (s ListAppInstanceUsersInput) GoString() string {
3249	return s.String()
3250}
3251
3252// Validate inspects the fields of the type to determine if they are valid.
3253func (s *ListAppInstanceUsersInput) Validate() error {
3254	invalidParams := request.ErrInvalidParams{Context: "ListAppInstanceUsersInput"}
3255	if s.AppInstanceArn == nil {
3256		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
3257	}
3258	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
3259		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
3260	}
3261	if s.MaxResults != nil && *s.MaxResults < 1 {
3262		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3263	}
3264
3265	if invalidParams.Len() > 0 {
3266		return invalidParams
3267	}
3268	return nil
3269}
3270
3271// SetAppInstanceArn sets the AppInstanceArn field's value.
3272func (s *ListAppInstanceUsersInput) SetAppInstanceArn(v string) *ListAppInstanceUsersInput {
3273	s.AppInstanceArn = &v
3274	return s
3275}
3276
3277// SetMaxResults sets the MaxResults field's value.
3278func (s *ListAppInstanceUsersInput) SetMaxResults(v int64) *ListAppInstanceUsersInput {
3279	s.MaxResults = &v
3280	return s
3281}
3282
3283// SetNextToken sets the NextToken field's value.
3284func (s *ListAppInstanceUsersInput) SetNextToken(v string) *ListAppInstanceUsersInput {
3285	s.NextToken = &v
3286	return s
3287}
3288
3289type ListAppInstanceUsersOutput struct {
3290	_ struct{} `type:"structure"`
3291
3292	// The ARN of the AppInstance.
3293	AppInstanceArn *string `min:"5" type:"string"`
3294
3295	// The information for each requested AppInstanceUser.
3296	AppInstanceUsers []*AppInstanceUserSummary `type:"list"`
3297
3298	// The token passed by previous API calls until all requested users are returned.
3299	NextToken *string `type:"string" sensitive:"true"`
3300}
3301
3302// String returns the string representation
3303func (s ListAppInstanceUsersOutput) String() string {
3304	return awsutil.Prettify(s)
3305}
3306
3307// GoString returns the string representation
3308func (s ListAppInstanceUsersOutput) GoString() string {
3309	return s.String()
3310}
3311
3312// SetAppInstanceArn sets the AppInstanceArn field's value.
3313func (s *ListAppInstanceUsersOutput) SetAppInstanceArn(v string) *ListAppInstanceUsersOutput {
3314	s.AppInstanceArn = &v
3315	return s
3316}
3317
3318// SetAppInstanceUsers sets the AppInstanceUsers field's value.
3319func (s *ListAppInstanceUsersOutput) SetAppInstanceUsers(v []*AppInstanceUserSummary) *ListAppInstanceUsersOutput {
3320	s.AppInstanceUsers = v
3321	return s
3322}
3323
3324// SetNextToken sets the NextToken field's value.
3325func (s *ListAppInstanceUsersOutput) SetNextToken(v string) *ListAppInstanceUsersOutput {
3326	s.NextToken = &v
3327	return s
3328}
3329
3330type ListAppInstancesInput struct {
3331	_ struct{} `type:"structure"`
3332
3333	// The maximum number of AppInstances that you want to return.
3334	MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"`
3335
3336	// The token passed by previous API requests until you reach the maximum number
3337	// of AppInstances.
3338	NextToken *string `location:"querystring" locationName:"next-token" type:"string" sensitive:"true"`
3339}
3340
3341// String returns the string representation
3342func (s ListAppInstancesInput) String() string {
3343	return awsutil.Prettify(s)
3344}
3345
3346// GoString returns the string representation
3347func (s ListAppInstancesInput) GoString() string {
3348	return s.String()
3349}
3350
3351// Validate inspects the fields of the type to determine if they are valid.
3352func (s *ListAppInstancesInput) Validate() error {
3353	invalidParams := request.ErrInvalidParams{Context: "ListAppInstancesInput"}
3354	if s.MaxResults != nil && *s.MaxResults < 1 {
3355		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
3356	}
3357
3358	if invalidParams.Len() > 0 {
3359		return invalidParams
3360	}
3361	return nil
3362}
3363
3364// SetMaxResults sets the MaxResults field's value.
3365func (s *ListAppInstancesInput) SetMaxResults(v int64) *ListAppInstancesInput {
3366	s.MaxResults = &v
3367	return s
3368}
3369
3370// SetNextToken sets the NextToken field's value.
3371func (s *ListAppInstancesInput) SetNextToken(v string) *ListAppInstancesInput {
3372	s.NextToken = &v
3373	return s
3374}
3375
3376type ListAppInstancesOutput struct {
3377	_ struct{} `type:"structure"`
3378
3379	// The information for each AppInstance.
3380	AppInstances []*AppInstanceSummary `type:"list"`
3381
3382	// The token passed by previous API requests until the maximum number of AppInstances
3383	// is reached.
3384	NextToken *string `type:"string" sensitive:"true"`
3385}
3386
3387// String returns the string representation
3388func (s ListAppInstancesOutput) String() string {
3389	return awsutil.Prettify(s)
3390}
3391
3392// GoString returns the string representation
3393func (s ListAppInstancesOutput) GoString() string {
3394	return s.String()
3395}
3396
3397// SetAppInstances sets the AppInstances field's value.
3398func (s *ListAppInstancesOutput) SetAppInstances(v []*AppInstanceSummary) *ListAppInstancesOutput {
3399	s.AppInstances = v
3400	return s
3401}
3402
3403// SetNextToken sets the NextToken field's value.
3404func (s *ListAppInstancesOutput) SetNextToken(v string) *ListAppInstancesOutput {
3405	s.NextToken = &v
3406	return s
3407}
3408
3409type PutAppInstanceRetentionSettingsInput struct {
3410	_ struct{} `type:"structure"`
3411
3412	// The ARN of the AppInstance.
3413	//
3414	// AppInstanceArn is a required field
3415	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
3416
3417	// The time in days to retain data. Data type: number.
3418	//
3419	// AppInstanceRetentionSettings is a required field
3420	AppInstanceRetentionSettings *AppInstanceRetentionSettings `type:"structure" required:"true"`
3421}
3422
3423// String returns the string representation
3424func (s PutAppInstanceRetentionSettingsInput) String() string {
3425	return awsutil.Prettify(s)
3426}
3427
3428// GoString returns the string representation
3429func (s PutAppInstanceRetentionSettingsInput) GoString() string {
3430	return s.String()
3431}
3432
3433// Validate inspects the fields of the type to determine if they are valid.
3434func (s *PutAppInstanceRetentionSettingsInput) Validate() error {
3435	invalidParams := request.ErrInvalidParams{Context: "PutAppInstanceRetentionSettingsInput"}
3436	if s.AppInstanceArn == nil {
3437		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
3438	}
3439	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
3440		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
3441	}
3442	if s.AppInstanceRetentionSettings == nil {
3443		invalidParams.Add(request.NewErrParamRequired("AppInstanceRetentionSettings"))
3444	}
3445	if s.AppInstanceRetentionSettings != nil {
3446		if err := s.AppInstanceRetentionSettings.Validate(); err != nil {
3447			invalidParams.AddNested("AppInstanceRetentionSettings", err.(request.ErrInvalidParams))
3448		}
3449	}
3450
3451	if invalidParams.Len() > 0 {
3452		return invalidParams
3453	}
3454	return nil
3455}
3456
3457// SetAppInstanceArn sets the AppInstanceArn field's value.
3458func (s *PutAppInstanceRetentionSettingsInput) SetAppInstanceArn(v string) *PutAppInstanceRetentionSettingsInput {
3459	s.AppInstanceArn = &v
3460	return s
3461}
3462
3463// SetAppInstanceRetentionSettings sets the AppInstanceRetentionSettings field's value.
3464func (s *PutAppInstanceRetentionSettingsInput) SetAppInstanceRetentionSettings(v *AppInstanceRetentionSettings) *PutAppInstanceRetentionSettingsInput {
3465	s.AppInstanceRetentionSettings = v
3466	return s
3467}
3468
3469type PutAppInstanceRetentionSettingsOutput struct {
3470	_ struct{} `type:"structure"`
3471
3472	// The time in days to retain data. Data type: number.
3473	AppInstanceRetentionSettings *AppInstanceRetentionSettings `type:"structure"`
3474
3475	// The time at which the API deletes data.
3476	InitiateDeletionTimestamp *time.Time `type:"timestamp"`
3477}
3478
3479// String returns the string representation
3480func (s PutAppInstanceRetentionSettingsOutput) String() string {
3481	return awsutil.Prettify(s)
3482}
3483
3484// GoString returns the string representation
3485func (s PutAppInstanceRetentionSettingsOutput) GoString() string {
3486	return s.String()
3487}
3488
3489// SetAppInstanceRetentionSettings sets the AppInstanceRetentionSettings field's value.
3490func (s *PutAppInstanceRetentionSettingsOutput) SetAppInstanceRetentionSettings(v *AppInstanceRetentionSettings) *PutAppInstanceRetentionSettingsOutput {
3491	s.AppInstanceRetentionSettings = v
3492	return s
3493}
3494
3495// SetInitiateDeletionTimestamp sets the InitiateDeletionTimestamp field's value.
3496func (s *PutAppInstanceRetentionSettingsOutput) SetInitiateDeletionTimestamp(v time.Time) *PutAppInstanceRetentionSettingsOutput {
3497	s.InitiateDeletionTimestamp = &v
3498	return s
3499}
3500
3501// The request exceeds the resource limit.
3502type ResourceLimitExceededException struct {
3503	_            struct{}                  `type:"structure"`
3504	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3505
3506	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
3507
3508	Message_ *string `locationName:"Message" type:"string"`
3509}
3510
3511// String returns the string representation
3512func (s ResourceLimitExceededException) String() string {
3513	return awsutil.Prettify(s)
3514}
3515
3516// GoString returns the string representation
3517func (s ResourceLimitExceededException) GoString() string {
3518	return s.String()
3519}
3520
3521func newErrorResourceLimitExceededException(v protocol.ResponseMetadata) error {
3522	return &ResourceLimitExceededException{
3523		RespMetadata: v,
3524	}
3525}
3526
3527// Code returns the exception type name.
3528func (s *ResourceLimitExceededException) Code() string {
3529	return "ResourceLimitExceededException"
3530}
3531
3532// Message returns the exception's message.
3533func (s *ResourceLimitExceededException) Message() string {
3534	if s.Message_ != nil {
3535		return *s.Message_
3536	}
3537	return ""
3538}
3539
3540// OrigErr always returns nil, satisfies awserr.Error interface.
3541func (s *ResourceLimitExceededException) OrigErr() error {
3542	return nil
3543}
3544
3545func (s *ResourceLimitExceededException) Error() string {
3546	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3547}
3548
3549// Status code returns the HTTP status code for the request's response error.
3550func (s *ResourceLimitExceededException) StatusCode() int {
3551	return s.RespMetadata.StatusCode
3552}
3553
3554// RequestID returns the service's response RequestID for request.
3555func (s *ResourceLimitExceededException) RequestID() string {
3556	return s.RespMetadata.RequestID
3557}
3558
3559// The service encountered an unexpected error.
3560type ServiceFailureException struct {
3561	_            struct{}                  `type:"structure"`
3562	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3563
3564	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
3565
3566	Message_ *string `locationName:"Message" type:"string"`
3567}
3568
3569// String returns the string representation
3570func (s ServiceFailureException) String() string {
3571	return awsutil.Prettify(s)
3572}
3573
3574// GoString returns the string representation
3575func (s ServiceFailureException) GoString() string {
3576	return s.String()
3577}
3578
3579func newErrorServiceFailureException(v protocol.ResponseMetadata) error {
3580	return &ServiceFailureException{
3581		RespMetadata: v,
3582	}
3583}
3584
3585// Code returns the exception type name.
3586func (s *ServiceFailureException) Code() string {
3587	return "ServiceFailureException"
3588}
3589
3590// Message returns the exception's message.
3591func (s *ServiceFailureException) Message() string {
3592	if s.Message_ != nil {
3593		return *s.Message_
3594	}
3595	return ""
3596}
3597
3598// OrigErr always returns nil, satisfies awserr.Error interface.
3599func (s *ServiceFailureException) OrigErr() error {
3600	return nil
3601}
3602
3603func (s *ServiceFailureException) Error() string {
3604	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3605}
3606
3607// Status code returns the HTTP status code for the request's response error.
3608func (s *ServiceFailureException) StatusCode() int {
3609	return s.RespMetadata.StatusCode
3610}
3611
3612// RequestID returns the service's response RequestID for request.
3613func (s *ServiceFailureException) RequestID() string {
3614	return s.RespMetadata.RequestID
3615}
3616
3617// The service is currently unavailable.
3618type ServiceUnavailableException struct {
3619	_            struct{}                  `type:"structure"`
3620	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3621
3622	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
3623
3624	Message_ *string `locationName:"Message" type:"string"`
3625}
3626
3627// String returns the string representation
3628func (s ServiceUnavailableException) String() string {
3629	return awsutil.Prettify(s)
3630}
3631
3632// GoString returns the string representation
3633func (s ServiceUnavailableException) GoString() string {
3634	return s.String()
3635}
3636
3637func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
3638	return &ServiceUnavailableException{
3639		RespMetadata: v,
3640	}
3641}
3642
3643// Code returns the exception type name.
3644func (s *ServiceUnavailableException) Code() string {
3645	return "ServiceUnavailableException"
3646}
3647
3648// Message returns the exception's message.
3649func (s *ServiceUnavailableException) Message() string {
3650	if s.Message_ != nil {
3651		return *s.Message_
3652	}
3653	return ""
3654}
3655
3656// OrigErr always returns nil, satisfies awserr.Error interface.
3657func (s *ServiceUnavailableException) OrigErr() error {
3658	return nil
3659}
3660
3661func (s *ServiceUnavailableException) Error() string {
3662	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3663}
3664
3665// Status code returns the HTTP status code for the request's response error.
3666func (s *ServiceUnavailableException) StatusCode() int {
3667	return s.RespMetadata.StatusCode
3668}
3669
3670// RequestID returns the service's response RequestID for request.
3671func (s *ServiceUnavailableException) RequestID() string {
3672	return s.RespMetadata.RequestID
3673}
3674
3675// Describes a tag applied to a resource.
3676type Tag struct {
3677	_ struct{} `type:"structure"`
3678
3679	// The key of the tag.
3680	//
3681	// Key is a required field
3682	Key *string `min:"1" type:"string" required:"true" sensitive:"true"`
3683
3684	// The value of the tag.
3685	//
3686	// Value is a required field
3687	Value *string `min:"1" type:"string" required:"true" sensitive:"true"`
3688}
3689
3690// String returns the string representation
3691func (s Tag) String() string {
3692	return awsutil.Prettify(s)
3693}
3694
3695// GoString returns the string representation
3696func (s Tag) GoString() string {
3697	return s.String()
3698}
3699
3700// Validate inspects the fields of the type to determine if they are valid.
3701func (s *Tag) Validate() error {
3702	invalidParams := request.ErrInvalidParams{Context: "Tag"}
3703	if s.Key == nil {
3704		invalidParams.Add(request.NewErrParamRequired("Key"))
3705	}
3706	if s.Key != nil && len(*s.Key) < 1 {
3707		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
3708	}
3709	if s.Value == nil {
3710		invalidParams.Add(request.NewErrParamRequired("Value"))
3711	}
3712	if s.Value != nil && len(*s.Value) < 1 {
3713		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
3714	}
3715
3716	if invalidParams.Len() > 0 {
3717		return invalidParams
3718	}
3719	return nil
3720}
3721
3722// SetKey sets the Key field's value.
3723func (s *Tag) SetKey(v string) *Tag {
3724	s.Key = &v
3725	return s
3726}
3727
3728// SetValue sets the Value field's value.
3729func (s *Tag) SetValue(v string) *Tag {
3730	s.Value = &v
3731	return s
3732}
3733
3734// The client exceeded its request rate limit.
3735type ThrottledClientException struct {
3736	_            struct{}                  `type:"structure"`
3737	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3738
3739	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
3740
3741	Message_ *string `locationName:"Message" type:"string"`
3742}
3743
3744// String returns the string representation
3745func (s ThrottledClientException) String() string {
3746	return awsutil.Prettify(s)
3747}
3748
3749// GoString returns the string representation
3750func (s ThrottledClientException) GoString() string {
3751	return s.String()
3752}
3753
3754func newErrorThrottledClientException(v protocol.ResponseMetadata) error {
3755	return &ThrottledClientException{
3756		RespMetadata: v,
3757	}
3758}
3759
3760// Code returns the exception type name.
3761func (s *ThrottledClientException) Code() string {
3762	return "ThrottledClientException"
3763}
3764
3765// Message returns the exception's message.
3766func (s *ThrottledClientException) Message() string {
3767	if s.Message_ != nil {
3768		return *s.Message_
3769	}
3770	return ""
3771}
3772
3773// OrigErr always returns nil, satisfies awserr.Error interface.
3774func (s *ThrottledClientException) OrigErr() error {
3775	return nil
3776}
3777
3778func (s *ThrottledClientException) Error() string {
3779	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3780}
3781
3782// Status code returns the HTTP status code for the request's response error.
3783func (s *ThrottledClientException) StatusCode() int {
3784	return s.RespMetadata.StatusCode
3785}
3786
3787// RequestID returns the service's response RequestID for request.
3788func (s *ThrottledClientException) RequestID() string {
3789	return s.RespMetadata.RequestID
3790}
3791
3792// The client is not currently authorized to make the request.
3793type UnauthorizedClientException struct {
3794	_            struct{}                  `type:"structure"`
3795	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3796
3797	Code_ *string `locationName:"Code" type:"string" enum:"ErrorCode"`
3798
3799	Message_ *string `locationName:"Message" type:"string"`
3800}
3801
3802// String returns the string representation
3803func (s UnauthorizedClientException) String() string {
3804	return awsutil.Prettify(s)
3805}
3806
3807// GoString returns the string representation
3808func (s UnauthorizedClientException) GoString() string {
3809	return s.String()
3810}
3811
3812func newErrorUnauthorizedClientException(v protocol.ResponseMetadata) error {
3813	return &UnauthorizedClientException{
3814		RespMetadata: v,
3815	}
3816}
3817
3818// Code returns the exception type name.
3819func (s *UnauthorizedClientException) Code() string {
3820	return "UnauthorizedClientException"
3821}
3822
3823// Message returns the exception's message.
3824func (s *UnauthorizedClientException) Message() string {
3825	if s.Message_ != nil {
3826		return *s.Message_
3827	}
3828	return ""
3829}
3830
3831// OrigErr always returns nil, satisfies awserr.Error interface.
3832func (s *UnauthorizedClientException) OrigErr() error {
3833	return nil
3834}
3835
3836func (s *UnauthorizedClientException) Error() string {
3837	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3838}
3839
3840// Status code returns the HTTP status code for the request's response error.
3841func (s *UnauthorizedClientException) StatusCode() int {
3842	return s.RespMetadata.StatusCode
3843}
3844
3845// RequestID returns the service's response RequestID for request.
3846func (s *UnauthorizedClientException) RequestID() string {
3847	return s.RespMetadata.RequestID
3848}
3849
3850type UpdateAppInstanceInput struct {
3851	_ struct{} `type:"structure"`
3852
3853	// The ARN of the AppInstance.
3854	//
3855	// AppInstanceArn is a required field
3856	AppInstanceArn *string `location:"uri" locationName:"appInstanceArn" min:"5" type:"string" required:"true"`
3857
3858	// The metadata that you want to change.
3859	//
3860	// Metadata is a required field
3861	Metadata *string `type:"string" required:"true" sensitive:"true"`
3862
3863	// The name that you want to change.
3864	//
3865	// Name is a required field
3866	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
3867}
3868
3869// String returns the string representation
3870func (s UpdateAppInstanceInput) String() string {
3871	return awsutil.Prettify(s)
3872}
3873
3874// GoString returns the string representation
3875func (s UpdateAppInstanceInput) GoString() string {
3876	return s.String()
3877}
3878
3879// Validate inspects the fields of the type to determine if they are valid.
3880func (s *UpdateAppInstanceInput) Validate() error {
3881	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInstanceInput"}
3882	if s.AppInstanceArn == nil {
3883		invalidParams.Add(request.NewErrParamRequired("AppInstanceArn"))
3884	}
3885	if s.AppInstanceArn != nil && len(*s.AppInstanceArn) < 5 {
3886		invalidParams.Add(request.NewErrParamMinLen("AppInstanceArn", 5))
3887	}
3888	if s.Metadata == nil {
3889		invalidParams.Add(request.NewErrParamRequired("Metadata"))
3890	}
3891	if s.Name == nil {
3892		invalidParams.Add(request.NewErrParamRequired("Name"))
3893	}
3894	if s.Name != nil && len(*s.Name) < 1 {
3895		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3896	}
3897
3898	if invalidParams.Len() > 0 {
3899		return invalidParams
3900	}
3901	return nil
3902}
3903
3904// SetAppInstanceArn sets the AppInstanceArn field's value.
3905func (s *UpdateAppInstanceInput) SetAppInstanceArn(v string) *UpdateAppInstanceInput {
3906	s.AppInstanceArn = &v
3907	return s
3908}
3909
3910// SetMetadata sets the Metadata field's value.
3911func (s *UpdateAppInstanceInput) SetMetadata(v string) *UpdateAppInstanceInput {
3912	s.Metadata = &v
3913	return s
3914}
3915
3916// SetName sets the Name field's value.
3917func (s *UpdateAppInstanceInput) SetName(v string) *UpdateAppInstanceInput {
3918	s.Name = &v
3919	return s
3920}
3921
3922type UpdateAppInstanceOutput struct {
3923	_ struct{} `type:"structure"`
3924
3925	// The ARN of the AppInstance.
3926	AppInstanceArn *string `min:"5" type:"string"`
3927}
3928
3929// String returns the string representation
3930func (s UpdateAppInstanceOutput) String() string {
3931	return awsutil.Prettify(s)
3932}
3933
3934// GoString returns the string representation
3935func (s UpdateAppInstanceOutput) GoString() string {
3936	return s.String()
3937}
3938
3939// SetAppInstanceArn sets the AppInstanceArn field's value.
3940func (s *UpdateAppInstanceOutput) SetAppInstanceArn(v string) *UpdateAppInstanceOutput {
3941	s.AppInstanceArn = &v
3942	return s
3943}
3944
3945type UpdateAppInstanceUserInput struct {
3946	_ struct{} `type:"structure"`
3947
3948	// The ARN of the AppInstanceUser.
3949	//
3950	// AppInstanceUserArn is a required field
3951	AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" min:"5" type:"string" required:"true"`
3952
3953	// The metadata of the AppInstanceUser.
3954	//
3955	// Metadata is a required field
3956	Metadata *string `type:"string" required:"true" sensitive:"true"`
3957
3958	// The name of the AppInstanceUser.
3959	//
3960	// Name is a required field
3961	Name *string `min:"1" type:"string" required:"true" sensitive:"true"`
3962}
3963
3964// String returns the string representation
3965func (s UpdateAppInstanceUserInput) String() string {
3966	return awsutil.Prettify(s)
3967}
3968
3969// GoString returns the string representation
3970func (s UpdateAppInstanceUserInput) GoString() string {
3971	return s.String()
3972}
3973
3974// Validate inspects the fields of the type to determine if they are valid.
3975func (s *UpdateAppInstanceUserInput) Validate() error {
3976	invalidParams := request.ErrInvalidParams{Context: "UpdateAppInstanceUserInput"}
3977	if s.AppInstanceUserArn == nil {
3978		invalidParams.Add(request.NewErrParamRequired("AppInstanceUserArn"))
3979	}
3980	if s.AppInstanceUserArn != nil && len(*s.AppInstanceUserArn) < 5 {
3981		invalidParams.Add(request.NewErrParamMinLen("AppInstanceUserArn", 5))
3982	}
3983	if s.Metadata == nil {
3984		invalidParams.Add(request.NewErrParamRequired("Metadata"))
3985	}
3986	if s.Name == nil {
3987		invalidParams.Add(request.NewErrParamRequired("Name"))
3988	}
3989	if s.Name != nil && len(*s.Name) < 1 {
3990		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
3991	}
3992
3993	if invalidParams.Len() > 0 {
3994		return invalidParams
3995	}
3996	return nil
3997}
3998
3999// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
4000func (s *UpdateAppInstanceUserInput) SetAppInstanceUserArn(v string) *UpdateAppInstanceUserInput {
4001	s.AppInstanceUserArn = &v
4002	return s
4003}
4004
4005// SetMetadata sets the Metadata field's value.
4006func (s *UpdateAppInstanceUserInput) SetMetadata(v string) *UpdateAppInstanceUserInput {
4007	s.Metadata = &v
4008	return s
4009}
4010
4011// SetName sets the Name field's value.
4012func (s *UpdateAppInstanceUserInput) SetName(v string) *UpdateAppInstanceUserInput {
4013	s.Name = &v
4014	return s
4015}
4016
4017type UpdateAppInstanceUserOutput struct {
4018	_ struct{} `type:"structure"`
4019
4020	// The ARN of the AppInstanceUser.
4021	AppInstanceUserArn *string `min:"5" type:"string"`
4022}
4023
4024// String returns the string representation
4025func (s UpdateAppInstanceUserOutput) String() string {
4026	return awsutil.Prettify(s)
4027}
4028
4029// GoString returns the string representation
4030func (s UpdateAppInstanceUserOutput) GoString() string {
4031	return s.String()
4032}
4033
4034// SetAppInstanceUserArn sets the AppInstanceUserArn field's value.
4035func (s *UpdateAppInstanceUserOutput) SetAppInstanceUserArn(v string) *UpdateAppInstanceUserOutput {
4036	s.AppInstanceUserArn = &v
4037	return s
4038}
4039
4040const (
4041	// ErrorCodeBadRequest is a ErrorCode enum value
4042	ErrorCodeBadRequest = "BadRequest"
4043
4044	// ErrorCodeConflict is a ErrorCode enum value
4045	ErrorCodeConflict = "Conflict"
4046
4047	// ErrorCodeForbidden is a ErrorCode enum value
4048	ErrorCodeForbidden = "Forbidden"
4049
4050	// ErrorCodeNotFound is a ErrorCode enum value
4051	ErrorCodeNotFound = "NotFound"
4052
4053	// ErrorCodePreconditionFailed is a ErrorCode enum value
4054	ErrorCodePreconditionFailed = "PreconditionFailed"
4055
4056	// ErrorCodeResourceLimitExceeded is a ErrorCode enum value
4057	ErrorCodeResourceLimitExceeded = "ResourceLimitExceeded"
4058
4059	// ErrorCodeServiceFailure is a ErrorCode enum value
4060	ErrorCodeServiceFailure = "ServiceFailure"
4061
4062	// ErrorCodeAccessDenied is a ErrorCode enum value
4063	ErrorCodeAccessDenied = "AccessDenied"
4064
4065	// ErrorCodeServiceUnavailable is a ErrorCode enum value
4066	ErrorCodeServiceUnavailable = "ServiceUnavailable"
4067
4068	// ErrorCodeThrottled is a ErrorCode enum value
4069	ErrorCodeThrottled = "Throttled"
4070
4071	// ErrorCodeThrottling is a ErrorCode enum value
4072	ErrorCodeThrottling = "Throttling"
4073
4074	// ErrorCodeUnauthorized is a ErrorCode enum value
4075	ErrorCodeUnauthorized = "Unauthorized"
4076
4077	// ErrorCodeUnprocessable is a ErrorCode enum value
4078	ErrorCodeUnprocessable = "Unprocessable"
4079
4080	// ErrorCodeVoiceConnectorGroupAssociationsExist is a ErrorCode enum value
4081	ErrorCodeVoiceConnectorGroupAssociationsExist = "VoiceConnectorGroupAssociationsExist"
4082
4083	// ErrorCodePhoneNumberAssociationsExist is a ErrorCode enum value
4084	ErrorCodePhoneNumberAssociationsExist = "PhoneNumberAssociationsExist"
4085)
4086
4087// ErrorCode_Values returns all elements of the ErrorCode enum
4088func ErrorCode_Values() []string {
4089	return []string{
4090		ErrorCodeBadRequest,
4091		ErrorCodeConflict,
4092		ErrorCodeForbidden,
4093		ErrorCodeNotFound,
4094		ErrorCodePreconditionFailed,
4095		ErrorCodeResourceLimitExceeded,
4096		ErrorCodeServiceFailure,
4097		ErrorCodeAccessDenied,
4098		ErrorCodeServiceUnavailable,
4099		ErrorCodeThrottled,
4100		ErrorCodeThrottling,
4101		ErrorCodeUnauthorized,
4102		ErrorCodeUnprocessable,
4103		ErrorCodeVoiceConnectorGroupAssociationsExist,
4104		ErrorCodePhoneNumberAssociationsExist,
4105	}
4106}
4107