1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package connect
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 opAssociateApprovedOrigin = "AssociateApprovedOrigin"
17
18// AssociateApprovedOriginRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateApprovedOrigin 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 AssociateApprovedOrigin for more information on using the AssociateApprovedOrigin
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 AssociateApprovedOriginRequest method.
34//    req, resp := client.AssociateApprovedOriginRequest(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/connect-2017-08-08/AssociateApprovedOrigin
42func (c *Connect) AssociateApprovedOriginRequest(input *AssociateApprovedOriginInput) (req *request.Request, output *AssociateApprovedOriginOutput) {
43	op := &request.Operation{
44		Name:       opAssociateApprovedOrigin,
45		HTTPMethod: "PUT",
46		HTTPPath:   "/instance/{InstanceId}/approved-origin",
47	}
48
49	if input == nil {
50		input = &AssociateApprovedOriginInput{}
51	}
52
53	output = &AssociateApprovedOriginOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateApprovedOrigin API operation for Amazon Connect Service.
60//
61// This API is in preview release for Amazon Connect and is subject to change.
62//
63// Associates an approved origin to an Amazon Connect instance.
64//
65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
66// with awserr.Error's Code and Message methods to get detailed information about
67// the error.
68//
69// See the AWS API reference guide for Amazon Connect Service's
70// API operation AssociateApprovedOrigin for usage and error information.
71//
72// Returned Error Types:
73//   * ResourceNotFoundException
74//   The specified resource was not found.
75//
76//   * ResourceConflictException
77//   A resource already has that name.
78//
79//   * InternalServiceException
80//   Request processing failed because of an error or failure with the service.
81//
82//   * InvalidRequestException
83//   The request is not valid.
84//
85//   * InvalidParameterException
86//   One or more of the specified parameters are not valid.
87//
88//   * ServiceQuotaExceededException
89//   The service quota has been exceeded.
90//
91//   * ThrottlingException
92//   The throttling limit has been exceeded.
93//
94// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateApprovedOrigin
95func (c *Connect) AssociateApprovedOrigin(input *AssociateApprovedOriginInput) (*AssociateApprovedOriginOutput, error) {
96	req, out := c.AssociateApprovedOriginRequest(input)
97	return out, req.Send()
98}
99
100// AssociateApprovedOriginWithContext is the same as AssociateApprovedOrigin with the addition of
101// the ability to pass a context and additional request options.
102//
103// See AssociateApprovedOrigin for details on how to use this API operation.
104//
105// The context must be non-nil and will be used for request cancellation. If
106// the context is nil a panic will occur. In the future the SDK may create
107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
108// for more information on using Contexts.
109func (c *Connect) AssociateApprovedOriginWithContext(ctx aws.Context, input *AssociateApprovedOriginInput, opts ...request.Option) (*AssociateApprovedOriginOutput, error) {
110	req, out := c.AssociateApprovedOriginRequest(input)
111	req.SetContext(ctx)
112	req.ApplyOptions(opts...)
113	return out, req.Send()
114}
115
116const opAssociateBot = "AssociateBot"
117
118// AssociateBotRequest generates a "aws/request.Request" representing the
119// client's request for the AssociateBot operation. The "output" return
120// value will be populated with the request's response once the request completes
121// successfully.
122//
123// Use "Send" method on the returned Request to send the API call to the service.
124// the "output" return value is not valid until after Send returns without error.
125//
126// See AssociateBot for more information on using the AssociateBot
127// API call, and error handling.
128//
129// This method is useful when you want to inject custom logic or configuration
130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
131//
132//
133//    // Example sending a request using the AssociateBotRequest method.
134//    req, resp := client.AssociateBotRequest(params)
135//
136//    err := req.Send()
137//    if err == nil { // resp is now filled
138//        fmt.Println(resp)
139//    }
140//
141// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateBot
142func (c *Connect) AssociateBotRequest(input *AssociateBotInput) (req *request.Request, output *AssociateBotOutput) {
143	op := &request.Operation{
144		Name:       opAssociateBot,
145		HTTPMethod: "PUT",
146		HTTPPath:   "/instance/{InstanceId}/bot",
147	}
148
149	if input == nil {
150		input = &AssociateBotInput{}
151	}
152
153	output = &AssociateBotOutput{}
154	req = c.newRequest(op, input, output)
155	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
156	return
157}
158
159// AssociateBot API operation for Amazon Connect Service.
160//
161// This API is in preview release for Amazon Connect and is subject to change.
162//
163// Allows the specified Amazon Connect instance to access the specified Amazon
164// Lex or Amazon Lex V2 bot.
165//
166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
167// with awserr.Error's Code and Message methods to get detailed information about
168// the error.
169//
170// See the AWS API reference guide for Amazon Connect Service's
171// API operation AssociateBot for usage and error information.
172//
173// Returned Error Types:
174//   * ResourceNotFoundException
175//   The specified resource was not found.
176//
177//   * ResourceConflictException
178//   A resource already has that name.
179//
180//   * InternalServiceException
181//   Request processing failed because of an error or failure with the service.
182//
183//   * InvalidRequestException
184//   The request is not valid.
185//
186//   * LimitExceededException
187//   The allowed limit for the resource has been exceeded.
188//
189//   * ServiceQuotaExceededException
190//   The service quota has been exceeded.
191//
192//   * ThrottlingException
193//   The throttling limit has been exceeded.
194//
195// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateBot
196func (c *Connect) AssociateBot(input *AssociateBotInput) (*AssociateBotOutput, error) {
197	req, out := c.AssociateBotRequest(input)
198	return out, req.Send()
199}
200
201// AssociateBotWithContext is the same as AssociateBot with the addition of
202// the ability to pass a context and additional request options.
203//
204// See AssociateBot for details on how to use this API operation.
205//
206// The context must be non-nil and will be used for request cancellation. If
207// the context is nil a panic will occur. In the future the SDK may create
208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
209// for more information on using Contexts.
210func (c *Connect) AssociateBotWithContext(ctx aws.Context, input *AssociateBotInput, opts ...request.Option) (*AssociateBotOutput, error) {
211	req, out := c.AssociateBotRequest(input)
212	req.SetContext(ctx)
213	req.ApplyOptions(opts...)
214	return out, req.Send()
215}
216
217const opAssociateInstanceStorageConfig = "AssociateInstanceStorageConfig"
218
219// AssociateInstanceStorageConfigRequest generates a "aws/request.Request" representing the
220// client's request for the AssociateInstanceStorageConfig operation. The "output" return
221// value will be populated with the request's response once the request completes
222// successfully.
223//
224// Use "Send" method on the returned Request to send the API call to the service.
225// the "output" return value is not valid until after Send returns without error.
226//
227// See AssociateInstanceStorageConfig for more information on using the AssociateInstanceStorageConfig
228// API call, and error handling.
229//
230// This method is useful when you want to inject custom logic or configuration
231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
232//
233//
234//    // Example sending a request using the AssociateInstanceStorageConfigRequest method.
235//    req, resp := client.AssociateInstanceStorageConfigRequest(params)
236//
237//    err := req.Send()
238//    if err == nil { // resp is now filled
239//        fmt.Println(resp)
240//    }
241//
242// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateInstanceStorageConfig
243func (c *Connect) AssociateInstanceStorageConfigRequest(input *AssociateInstanceStorageConfigInput) (req *request.Request, output *AssociateInstanceStorageConfigOutput) {
244	op := &request.Operation{
245		Name:       opAssociateInstanceStorageConfig,
246		HTTPMethod: "PUT",
247		HTTPPath:   "/instance/{InstanceId}/storage-config",
248	}
249
250	if input == nil {
251		input = &AssociateInstanceStorageConfigInput{}
252	}
253
254	output = &AssociateInstanceStorageConfigOutput{}
255	req = c.newRequest(op, input, output)
256	return
257}
258
259// AssociateInstanceStorageConfig API operation for Amazon Connect Service.
260//
261// This API is in preview release for Amazon Connect and is subject to change.
262//
263// Associates a storage resource type for the first time. You can only associate
264// one type of storage configuration in a single call. This means, for example,
265// that you can't define an instance with multiple S3 buckets for storing chat
266// transcripts.
267//
268// This API does not create a resource that doesn't exist. It only associates
269// it to the instance. Ensure that the resource being specified in the storage
270// configuration, like an S3 bucket, exists when being used for association.
271//
272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
273// with awserr.Error's Code and Message methods to get detailed information about
274// the error.
275//
276// See the AWS API reference guide for Amazon Connect Service's
277// API operation AssociateInstanceStorageConfig for usage and error information.
278//
279// Returned Error Types:
280//   * ResourceNotFoundException
281//   The specified resource was not found.
282//
283//   * ResourceConflictException
284//   A resource already has that name.
285//
286//   * InternalServiceException
287//   Request processing failed because of an error or failure with the service.
288//
289//   * InvalidRequestException
290//   The request is not valid.
291//
292//   * InvalidParameterException
293//   One or more of the specified parameters are not valid.
294//
295//   * ThrottlingException
296//   The throttling limit has been exceeded.
297//
298// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateInstanceStorageConfig
299func (c *Connect) AssociateInstanceStorageConfig(input *AssociateInstanceStorageConfigInput) (*AssociateInstanceStorageConfigOutput, error) {
300	req, out := c.AssociateInstanceStorageConfigRequest(input)
301	return out, req.Send()
302}
303
304// AssociateInstanceStorageConfigWithContext is the same as AssociateInstanceStorageConfig with the addition of
305// the ability to pass a context and additional request options.
306//
307// See AssociateInstanceStorageConfig for details on how to use this API operation.
308//
309// The context must be non-nil and will be used for request cancellation. If
310// the context is nil a panic will occur. In the future the SDK may create
311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
312// for more information on using Contexts.
313func (c *Connect) AssociateInstanceStorageConfigWithContext(ctx aws.Context, input *AssociateInstanceStorageConfigInput, opts ...request.Option) (*AssociateInstanceStorageConfigOutput, error) {
314	req, out := c.AssociateInstanceStorageConfigRequest(input)
315	req.SetContext(ctx)
316	req.ApplyOptions(opts...)
317	return out, req.Send()
318}
319
320const opAssociateLambdaFunction = "AssociateLambdaFunction"
321
322// AssociateLambdaFunctionRequest generates a "aws/request.Request" representing the
323// client's request for the AssociateLambdaFunction operation. The "output" return
324// value will be populated with the request's response once the request completes
325// successfully.
326//
327// Use "Send" method on the returned Request to send the API call to the service.
328// the "output" return value is not valid until after Send returns without error.
329//
330// See AssociateLambdaFunction for more information on using the AssociateLambdaFunction
331// API call, and error handling.
332//
333// This method is useful when you want to inject custom logic or configuration
334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
335//
336//
337//    // Example sending a request using the AssociateLambdaFunctionRequest method.
338//    req, resp := client.AssociateLambdaFunctionRequest(params)
339//
340//    err := req.Send()
341//    if err == nil { // resp is now filled
342//        fmt.Println(resp)
343//    }
344//
345// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLambdaFunction
346func (c *Connect) AssociateLambdaFunctionRequest(input *AssociateLambdaFunctionInput) (req *request.Request, output *AssociateLambdaFunctionOutput) {
347	op := &request.Operation{
348		Name:       opAssociateLambdaFunction,
349		HTTPMethod: "PUT",
350		HTTPPath:   "/instance/{InstanceId}/lambda-function",
351	}
352
353	if input == nil {
354		input = &AssociateLambdaFunctionInput{}
355	}
356
357	output = &AssociateLambdaFunctionOutput{}
358	req = c.newRequest(op, input, output)
359	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
360	return
361}
362
363// AssociateLambdaFunction API operation for Amazon Connect Service.
364//
365// This API is in preview release for Amazon Connect and is subject to change.
366//
367// Allows the specified Amazon Connect instance to access the specified Lambda
368// function.
369//
370// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
371// with awserr.Error's Code and Message methods to get detailed information about
372// the error.
373//
374// See the AWS API reference guide for Amazon Connect Service's
375// API operation AssociateLambdaFunction for usage and error information.
376//
377// Returned Error Types:
378//   * ResourceNotFoundException
379//   The specified resource was not found.
380//
381//   * ResourceConflictException
382//   A resource already has that name.
383//
384//   * InternalServiceException
385//   Request processing failed because of an error or failure with the service.
386//
387//   * InvalidRequestException
388//   The request is not valid.
389//
390//   * InvalidParameterException
391//   One or more of the specified parameters are not valid.
392//
393//   * ServiceQuotaExceededException
394//   The service quota has been exceeded.
395//
396//   * ThrottlingException
397//   The throttling limit has been exceeded.
398//
399// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLambdaFunction
400func (c *Connect) AssociateLambdaFunction(input *AssociateLambdaFunctionInput) (*AssociateLambdaFunctionOutput, error) {
401	req, out := c.AssociateLambdaFunctionRequest(input)
402	return out, req.Send()
403}
404
405// AssociateLambdaFunctionWithContext is the same as AssociateLambdaFunction with the addition of
406// the ability to pass a context and additional request options.
407//
408// See AssociateLambdaFunction for details on how to use this API operation.
409//
410// The context must be non-nil and will be used for request cancellation. If
411// the context is nil a panic will occur. In the future the SDK may create
412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
413// for more information on using Contexts.
414func (c *Connect) AssociateLambdaFunctionWithContext(ctx aws.Context, input *AssociateLambdaFunctionInput, opts ...request.Option) (*AssociateLambdaFunctionOutput, error) {
415	req, out := c.AssociateLambdaFunctionRequest(input)
416	req.SetContext(ctx)
417	req.ApplyOptions(opts...)
418	return out, req.Send()
419}
420
421const opAssociateLexBot = "AssociateLexBot"
422
423// AssociateLexBotRequest generates a "aws/request.Request" representing the
424// client's request for the AssociateLexBot operation. The "output" return
425// value will be populated with the request's response once the request completes
426// successfully.
427//
428// Use "Send" method on the returned Request to send the API call to the service.
429// the "output" return value is not valid until after Send returns without error.
430//
431// See AssociateLexBot for more information on using the AssociateLexBot
432// API call, and error handling.
433//
434// This method is useful when you want to inject custom logic or configuration
435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
436//
437//
438//    // Example sending a request using the AssociateLexBotRequest method.
439//    req, resp := client.AssociateLexBotRequest(params)
440//
441//    err := req.Send()
442//    if err == nil { // resp is now filled
443//        fmt.Println(resp)
444//    }
445//
446// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLexBot
447func (c *Connect) AssociateLexBotRequest(input *AssociateLexBotInput) (req *request.Request, output *AssociateLexBotOutput) {
448	op := &request.Operation{
449		Name:       opAssociateLexBot,
450		HTTPMethod: "PUT",
451		HTTPPath:   "/instance/{InstanceId}/lex-bot",
452	}
453
454	if input == nil {
455		input = &AssociateLexBotInput{}
456	}
457
458	output = &AssociateLexBotOutput{}
459	req = c.newRequest(op, input, output)
460	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
461	return
462}
463
464// AssociateLexBot API operation for Amazon Connect Service.
465//
466// This API is in preview release for Amazon Connect and is subject to change.
467//
468// Allows the specified Amazon Connect instance to access the specified Amazon
469// Lex bot.
470//
471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
472// with awserr.Error's Code and Message methods to get detailed information about
473// the error.
474//
475// See the AWS API reference guide for Amazon Connect Service's
476// API operation AssociateLexBot for usage and error information.
477//
478// Returned Error Types:
479//   * ResourceNotFoundException
480//   The specified resource was not found.
481//
482//   * ResourceConflictException
483//   A resource already has that name.
484//
485//   * InternalServiceException
486//   Request processing failed because of an error or failure with the service.
487//
488//   * InvalidRequestException
489//   The request is not valid.
490//
491//   * InvalidParameterException
492//   One or more of the specified parameters are not valid.
493//
494//   * ServiceQuotaExceededException
495//   The service quota has been exceeded.
496//
497//   * ThrottlingException
498//   The throttling limit has been exceeded.
499//
500// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLexBot
501func (c *Connect) AssociateLexBot(input *AssociateLexBotInput) (*AssociateLexBotOutput, error) {
502	req, out := c.AssociateLexBotRequest(input)
503	return out, req.Send()
504}
505
506// AssociateLexBotWithContext is the same as AssociateLexBot with the addition of
507// the ability to pass a context and additional request options.
508//
509// See AssociateLexBot for details on how to use this API operation.
510//
511// The context must be non-nil and will be used for request cancellation. If
512// the context is nil a panic will occur. In the future the SDK may create
513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
514// for more information on using Contexts.
515func (c *Connect) AssociateLexBotWithContext(ctx aws.Context, input *AssociateLexBotInput, opts ...request.Option) (*AssociateLexBotOutput, error) {
516	req, out := c.AssociateLexBotRequest(input)
517	req.SetContext(ctx)
518	req.ApplyOptions(opts...)
519	return out, req.Send()
520}
521
522const opAssociateQueueQuickConnects = "AssociateQueueQuickConnects"
523
524// AssociateQueueQuickConnectsRequest generates a "aws/request.Request" representing the
525// client's request for the AssociateQueueQuickConnects operation. The "output" return
526// value will be populated with the request's response once the request completes
527// successfully.
528//
529// Use "Send" method on the returned Request to send the API call to the service.
530// the "output" return value is not valid until after Send returns without error.
531//
532// See AssociateQueueQuickConnects for more information on using the AssociateQueueQuickConnects
533// API call, and error handling.
534//
535// This method is useful when you want to inject custom logic or configuration
536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
537//
538//
539//    // Example sending a request using the AssociateQueueQuickConnectsRequest method.
540//    req, resp := client.AssociateQueueQuickConnectsRequest(params)
541//
542//    err := req.Send()
543//    if err == nil { // resp is now filled
544//        fmt.Println(resp)
545//    }
546//
547// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateQueueQuickConnects
548func (c *Connect) AssociateQueueQuickConnectsRequest(input *AssociateQueueQuickConnectsInput) (req *request.Request, output *AssociateQueueQuickConnectsOutput) {
549	op := &request.Operation{
550		Name:       opAssociateQueueQuickConnects,
551		HTTPMethod: "POST",
552		HTTPPath:   "/queues/{InstanceId}/{QueueId}/associate-quick-connects",
553	}
554
555	if input == nil {
556		input = &AssociateQueueQuickConnectsInput{}
557	}
558
559	output = &AssociateQueueQuickConnectsOutput{}
560	req = c.newRequest(op, input, output)
561	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
562	return
563}
564
565// AssociateQueueQuickConnects API operation for Amazon Connect Service.
566//
567// This API is in preview release for Amazon Connect and is subject to change.
568//
569// Associates a set of quick connects with a queue.
570//
571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
572// with awserr.Error's Code and Message methods to get detailed information about
573// the error.
574//
575// See the AWS API reference guide for Amazon Connect Service's
576// API operation AssociateQueueQuickConnects for usage and error information.
577//
578// Returned Error Types:
579//   * InvalidRequestException
580//   The request is not valid.
581//
582//   * InvalidParameterException
583//   One or more of the specified parameters are not valid.
584//
585//   * ResourceNotFoundException
586//   The specified resource was not found.
587//
588//   * LimitExceededException
589//   The allowed limit for the resource has been exceeded.
590//
591//   * ThrottlingException
592//   The throttling limit has been exceeded.
593//
594//   * InternalServiceException
595//   Request processing failed because of an error or failure with the service.
596//
597// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateQueueQuickConnects
598func (c *Connect) AssociateQueueQuickConnects(input *AssociateQueueQuickConnectsInput) (*AssociateQueueQuickConnectsOutput, error) {
599	req, out := c.AssociateQueueQuickConnectsRequest(input)
600	return out, req.Send()
601}
602
603// AssociateQueueQuickConnectsWithContext is the same as AssociateQueueQuickConnects with the addition of
604// the ability to pass a context and additional request options.
605//
606// See AssociateQueueQuickConnects for details on how to use this API operation.
607//
608// The context must be non-nil and will be used for request cancellation. If
609// the context is nil a panic will occur. In the future the SDK may create
610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
611// for more information on using Contexts.
612func (c *Connect) AssociateQueueQuickConnectsWithContext(ctx aws.Context, input *AssociateQueueQuickConnectsInput, opts ...request.Option) (*AssociateQueueQuickConnectsOutput, error) {
613	req, out := c.AssociateQueueQuickConnectsRequest(input)
614	req.SetContext(ctx)
615	req.ApplyOptions(opts...)
616	return out, req.Send()
617}
618
619const opAssociateRoutingProfileQueues = "AssociateRoutingProfileQueues"
620
621// AssociateRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
622// client's request for the AssociateRoutingProfileQueues operation. The "output" return
623// value will be populated with the request's response once the request completes
624// successfully.
625//
626// Use "Send" method on the returned Request to send the API call to the service.
627// the "output" return value is not valid until after Send returns without error.
628//
629// See AssociateRoutingProfileQueues for more information on using the AssociateRoutingProfileQueues
630// API call, and error handling.
631//
632// This method is useful when you want to inject custom logic or configuration
633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
634//
635//
636//    // Example sending a request using the AssociateRoutingProfileQueuesRequest method.
637//    req, resp := client.AssociateRoutingProfileQueuesRequest(params)
638//
639//    err := req.Send()
640//    if err == nil { // resp is now filled
641//        fmt.Println(resp)
642//    }
643//
644// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateRoutingProfileQueues
645func (c *Connect) AssociateRoutingProfileQueuesRequest(input *AssociateRoutingProfileQueuesInput) (req *request.Request, output *AssociateRoutingProfileQueuesOutput) {
646	op := &request.Operation{
647		Name:       opAssociateRoutingProfileQueues,
648		HTTPMethod: "POST",
649		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/associate-queues",
650	}
651
652	if input == nil {
653		input = &AssociateRoutingProfileQueuesInput{}
654	}
655
656	output = &AssociateRoutingProfileQueuesOutput{}
657	req = c.newRequest(op, input, output)
658	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
659	return
660}
661
662// AssociateRoutingProfileQueues API operation for Amazon Connect Service.
663//
664// Associates a set of queues with a routing profile.
665//
666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
667// with awserr.Error's Code and Message methods to get detailed information about
668// the error.
669//
670// See the AWS API reference guide for Amazon Connect Service's
671// API operation AssociateRoutingProfileQueues for usage and error information.
672//
673// Returned Error Types:
674//   * InvalidRequestException
675//   The request is not valid.
676//
677//   * InvalidParameterException
678//   One or more of the specified parameters are not valid.
679//
680//   * ResourceNotFoundException
681//   The specified resource was not found.
682//
683//   * ThrottlingException
684//   The throttling limit has been exceeded.
685//
686//   * InternalServiceException
687//   Request processing failed because of an error or failure with the service.
688//
689// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateRoutingProfileQueues
690func (c *Connect) AssociateRoutingProfileQueues(input *AssociateRoutingProfileQueuesInput) (*AssociateRoutingProfileQueuesOutput, error) {
691	req, out := c.AssociateRoutingProfileQueuesRequest(input)
692	return out, req.Send()
693}
694
695// AssociateRoutingProfileQueuesWithContext is the same as AssociateRoutingProfileQueues with the addition of
696// the ability to pass a context and additional request options.
697//
698// See AssociateRoutingProfileQueues for details on how to use this API operation.
699//
700// The context must be non-nil and will be used for request cancellation. If
701// the context is nil a panic will occur. In the future the SDK may create
702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
703// for more information on using Contexts.
704func (c *Connect) AssociateRoutingProfileQueuesWithContext(ctx aws.Context, input *AssociateRoutingProfileQueuesInput, opts ...request.Option) (*AssociateRoutingProfileQueuesOutput, error) {
705	req, out := c.AssociateRoutingProfileQueuesRequest(input)
706	req.SetContext(ctx)
707	req.ApplyOptions(opts...)
708	return out, req.Send()
709}
710
711const opAssociateSecurityKey = "AssociateSecurityKey"
712
713// AssociateSecurityKeyRequest generates a "aws/request.Request" representing the
714// client's request for the AssociateSecurityKey operation. The "output" return
715// value will be populated with the request's response once the request completes
716// successfully.
717//
718// Use "Send" method on the returned Request to send the API call to the service.
719// the "output" return value is not valid until after Send returns without error.
720//
721// See AssociateSecurityKey for more information on using the AssociateSecurityKey
722// API call, and error handling.
723//
724// This method is useful when you want to inject custom logic or configuration
725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
726//
727//
728//    // Example sending a request using the AssociateSecurityKeyRequest method.
729//    req, resp := client.AssociateSecurityKeyRequest(params)
730//
731//    err := req.Send()
732//    if err == nil { // resp is now filled
733//        fmt.Println(resp)
734//    }
735//
736// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateSecurityKey
737func (c *Connect) AssociateSecurityKeyRequest(input *AssociateSecurityKeyInput) (req *request.Request, output *AssociateSecurityKeyOutput) {
738	op := &request.Operation{
739		Name:       opAssociateSecurityKey,
740		HTTPMethod: "PUT",
741		HTTPPath:   "/instance/{InstanceId}/security-key",
742	}
743
744	if input == nil {
745		input = &AssociateSecurityKeyInput{}
746	}
747
748	output = &AssociateSecurityKeyOutput{}
749	req = c.newRequest(op, input, output)
750	return
751}
752
753// AssociateSecurityKey API operation for Amazon Connect Service.
754//
755// This API is in preview release for Amazon Connect and is subject to change.
756//
757// Associates a security key to the instance.
758//
759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
760// with awserr.Error's Code and Message methods to get detailed information about
761// the error.
762//
763// See the AWS API reference guide for Amazon Connect Service's
764// API operation AssociateSecurityKey for usage and error information.
765//
766// Returned Error Types:
767//   * ResourceNotFoundException
768//   The specified resource was not found.
769//
770//   * ResourceConflictException
771//   A resource already has that name.
772//
773//   * InternalServiceException
774//   Request processing failed because of an error or failure with the service.
775//
776//   * InvalidRequestException
777//   The request is not valid.
778//
779//   * InvalidParameterException
780//   One or more of the specified parameters are not valid.
781//
782//   * ServiceQuotaExceededException
783//   The service quota has been exceeded.
784//
785//   * ThrottlingException
786//   The throttling limit has been exceeded.
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateSecurityKey
789func (c *Connect) AssociateSecurityKey(input *AssociateSecurityKeyInput) (*AssociateSecurityKeyOutput, error) {
790	req, out := c.AssociateSecurityKeyRequest(input)
791	return out, req.Send()
792}
793
794// AssociateSecurityKeyWithContext is the same as AssociateSecurityKey with the addition of
795// the ability to pass a context and additional request options.
796//
797// See AssociateSecurityKey for details on how to use this API operation.
798//
799// The context must be non-nil and will be used for request cancellation. If
800// the context is nil a panic will occur. In the future the SDK may create
801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
802// for more information on using Contexts.
803func (c *Connect) AssociateSecurityKeyWithContext(ctx aws.Context, input *AssociateSecurityKeyInput, opts ...request.Option) (*AssociateSecurityKeyOutput, error) {
804	req, out := c.AssociateSecurityKeyRequest(input)
805	req.SetContext(ctx)
806	req.ApplyOptions(opts...)
807	return out, req.Send()
808}
809
810const opCreateAgentStatus = "CreateAgentStatus"
811
812// CreateAgentStatusRequest generates a "aws/request.Request" representing the
813// client's request for the CreateAgentStatus operation. The "output" return
814// value will be populated with the request's response once the request completes
815// successfully.
816//
817// Use "Send" method on the returned Request to send the API call to the service.
818// the "output" return value is not valid until after Send returns without error.
819//
820// See CreateAgentStatus for more information on using the CreateAgentStatus
821// API call, and error handling.
822//
823// This method is useful when you want to inject custom logic or configuration
824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
825//
826//
827//    // Example sending a request using the CreateAgentStatusRequest method.
828//    req, resp := client.CreateAgentStatusRequest(params)
829//
830//    err := req.Send()
831//    if err == nil { // resp is now filled
832//        fmt.Println(resp)
833//    }
834//
835// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateAgentStatus
836func (c *Connect) CreateAgentStatusRequest(input *CreateAgentStatusInput) (req *request.Request, output *CreateAgentStatusOutput) {
837	op := &request.Operation{
838		Name:       opCreateAgentStatus,
839		HTTPMethod: "PUT",
840		HTTPPath:   "/agent-status/{InstanceId}",
841	}
842
843	if input == nil {
844		input = &CreateAgentStatusInput{}
845	}
846
847	output = &CreateAgentStatusOutput{}
848	req = c.newRequest(op, input, output)
849	return
850}
851
852// CreateAgentStatus API operation for Amazon Connect Service.
853//
854// This API is in preview release for Amazon Connect and is subject to change.
855//
856// Creates an agent status for the specified Amazon Connect instance.
857//
858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
859// with awserr.Error's Code and Message methods to get detailed information about
860// the error.
861//
862// See the AWS API reference guide for Amazon Connect Service's
863// API operation CreateAgentStatus for usage and error information.
864//
865// Returned Error Types:
866//   * InvalidRequestException
867//   The request is not valid.
868//
869//   * InvalidParameterException
870//   One or more of the specified parameters are not valid.
871//
872//   * DuplicateResourceException
873//   A resource with the specified name already exists.
874//
875//   * ResourceNotFoundException
876//   The specified resource was not found.
877//
878//   * LimitExceededException
879//   The allowed limit for the resource has been exceeded.
880//
881//   * ThrottlingException
882//   The throttling limit has been exceeded.
883//
884//   * InternalServiceException
885//   Request processing failed because of an error or failure with the service.
886//
887// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateAgentStatus
888func (c *Connect) CreateAgentStatus(input *CreateAgentStatusInput) (*CreateAgentStatusOutput, error) {
889	req, out := c.CreateAgentStatusRequest(input)
890	return out, req.Send()
891}
892
893// CreateAgentStatusWithContext is the same as CreateAgentStatus with the addition of
894// the ability to pass a context and additional request options.
895//
896// See CreateAgentStatus for details on how to use this API operation.
897//
898// The context must be non-nil and will be used for request cancellation. If
899// the context is nil a panic will occur. In the future the SDK may create
900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
901// for more information on using Contexts.
902func (c *Connect) CreateAgentStatusWithContext(ctx aws.Context, input *CreateAgentStatusInput, opts ...request.Option) (*CreateAgentStatusOutput, error) {
903	req, out := c.CreateAgentStatusRequest(input)
904	req.SetContext(ctx)
905	req.ApplyOptions(opts...)
906	return out, req.Send()
907}
908
909const opCreateContactFlow = "CreateContactFlow"
910
911// CreateContactFlowRequest generates a "aws/request.Request" representing the
912// client's request for the CreateContactFlow operation. The "output" return
913// value will be populated with the request's response once the request completes
914// successfully.
915//
916// Use "Send" method on the returned Request to send the API call to the service.
917// the "output" return value is not valid until after Send returns without error.
918//
919// See CreateContactFlow for more information on using the CreateContactFlow
920// API call, and error handling.
921//
922// This method is useful when you want to inject custom logic or configuration
923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
924//
925//
926//    // Example sending a request using the CreateContactFlowRequest method.
927//    req, resp := client.CreateContactFlowRequest(params)
928//
929//    err := req.Send()
930//    if err == nil { // resp is now filled
931//        fmt.Println(resp)
932//    }
933//
934// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateContactFlow
935func (c *Connect) CreateContactFlowRequest(input *CreateContactFlowInput) (req *request.Request, output *CreateContactFlowOutput) {
936	op := &request.Operation{
937		Name:       opCreateContactFlow,
938		HTTPMethod: "PUT",
939		HTTPPath:   "/contact-flows/{InstanceId}",
940	}
941
942	if input == nil {
943		input = &CreateContactFlowInput{}
944	}
945
946	output = &CreateContactFlowOutput{}
947	req = c.newRequest(op, input, output)
948	return
949}
950
951// CreateContactFlow API operation for Amazon Connect Service.
952//
953// Creates a contact flow for the specified Amazon Connect instance.
954//
955// You can also create and update contact flows using the Amazon Connect Flow
956// language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
957//
958// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
959// with awserr.Error's Code and Message methods to get detailed information about
960// the error.
961//
962// See the AWS API reference guide for Amazon Connect Service's
963// API operation CreateContactFlow for usage and error information.
964//
965// Returned Error Types:
966//   * InvalidRequestException
967//   The request is not valid.
968//
969//   * InvalidContactFlowException
970//   The contact flow is not valid.
971//
972//   * InvalidParameterException
973//   One or more of the specified parameters are not valid.
974//
975//   * DuplicateResourceException
976//   A resource with the specified name already exists.
977//
978//   * LimitExceededException
979//   The allowed limit for the resource has been exceeded.
980//
981//   * ResourceNotFoundException
982//   The specified resource was not found.
983//
984//   * ThrottlingException
985//   The throttling limit has been exceeded.
986//
987//   * InternalServiceException
988//   Request processing failed because of an error or failure with the service.
989//
990// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateContactFlow
991func (c *Connect) CreateContactFlow(input *CreateContactFlowInput) (*CreateContactFlowOutput, error) {
992	req, out := c.CreateContactFlowRequest(input)
993	return out, req.Send()
994}
995
996// CreateContactFlowWithContext is the same as CreateContactFlow with the addition of
997// the ability to pass a context and additional request options.
998//
999// See CreateContactFlow for details on how to use this API operation.
1000//
1001// The context must be non-nil and will be used for request cancellation. If
1002// the context is nil a panic will occur. In the future the SDK may create
1003// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1004// for more information on using Contexts.
1005func (c *Connect) CreateContactFlowWithContext(ctx aws.Context, input *CreateContactFlowInput, opts ...request.Option) (*CreateContactFlowOutput, error) {
1006	req, out := c.CreateContactFlowRequest(input)
1007	req.SetContext(ctx)
1008	req.ApplyOptions(opts...)
1009	return out, req.Send()
1010}
1011
1012const opCreateHoursOfOperation = "CreateHoursOfOperation"
1013
1014// CreateHoursOfOperationRequest generates a "aws/request.Request" representing the
1015// client's request for the CreateHoursOfOperation operation. The "output" return
1016// value will be populated with the request's response once the request completes
1017// successfully.
1018//
1019// Use "Send" method on the returned Request to send the API call to the service.
1020// the "output" return value is not valid until after Send returns without error.
1021//
1022// See CreateHoursOfOperation for more information on using the CreateHoursOfOperation
1023// API call, and error handling.
1024//
1025// This method is useful when you want to inject custom logic or configuration
1026// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1027//
1028//
1029//    // Example sending a request using the CreateHoursOfOperationRequest method.
1030//    req, resp := client.CreateHoursOfOperationRequest(params)
1031//
1032//    err := req.Send()
1033//    if err == nil { // resp is now filled
1034//        fmt.Println(resp)
1035//    }
1036//
1037// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateHoursOfOperation
1038func (c *Connect) CreateHoursOfOperationRequest(input *CreateHoursOfOperationInput) (req *request.Request, output *CreateHoursOfOperationOutput) {
1039	op := &request.Operation{
1040		Name:       opCreateHoursOfOperation,
1041		HTTPMethod: "PUT",
1042		HTTPPath:   "/hours-of-operations/{InstanceId}",
1043	}
1044
1045	if input == nil {
1046		input = &CreateHoursOfOperationInput{}
1047	}
1048
1049	output = &CreateHoursOfOperationOutput{}
1050	req = c.newRequest(op, input, output)
1051	return
1052}
1053
1054// CreateHoursOfOperation API operation for Amazon Connect Service.
1055//
1056// This API is in preview release for Amazon Connect and is subject to change.
1057//
1058// Creates hours of operation.
1059//
1060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1061// with awserr.Error's Code and Message methods to get detailed information about
1062// the error.
1063//
1064// See the AWS API reference guide for Amazon Connect Service's
1065// API operation CreateHoursOfOperation for usage and error information.
1066//
1067// Returned Error Types:
1068//   * DuplicateResourceException
1069//   A resource with the specified name already exists.
1070//
1071//   * InvalidRequestException
1072//   The request is not valid.
1073//
1074//   * InvalidParameterException
1075//   One or more of the specified parameters are not valid.
1076//
1077//   * ResourceNotFoundException
1078//   The specified resource was not found.
1079//
1080//   * LimitExceededException
1081//   The allowed limit for the resource has been exceeded.
1082//
1083//   * ThrottlingException
1084//   The throttling limit has been exceeded.
1085//
1086//   * InternalServiceException
1087//   Request processing failed because of an error or failure with the service.
1088//
1089// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateHoursOfOperation
1090func (c *Connect) CreateHoursOfOperation(input *CreateHoursOfOperationInput) (*CreateHoursOfOperationOutput, error) {
1091	req, out := c.CreateHoursOfOperationRequest(input)
1092	return out, req.Send()
1093}
1094
1095// CreateHoursOfOperationWithContext is the same as CreateHoursOfOperation with the addition of
1096// the ability to pass a context and additional request options.
1097//
1098// See CreateHoursOfOperation for details on how to use this API operation.
1099//
1100// The context must be non-nil and will be used for request cancellation. If
1101// the context is nil a panic will occur. In the future the SDK may create
1102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1103// for more information on using Contexts.
1104func (c *Connect) CreateHoursOfOperationWithContext(ctx aws.Context, input *CreateHoursOfOperationInput, opts ...request.Option) (*CreateHoursOfOperationOutput, error) {
1105	req, out := c.CreateHoursOfOperationRequest(input)
1106	req.SetContext(ctx)
1107	req.ApplyOptions(opts...)
1108	return out, req.Send()
1109}
1110
1111const opCreateInstance = "CreateInstance"
1112
1113// CreateInstanceRequest generates a "aws/request.Request" representing the
1114// client's request for the CreateInstance operation. The "output" return
1115// value will be populated with the request's response once the request completes
1116// successfully.
1117//
1118// Use "Send" method on the returned Request to send the API call to the service.
1119// the "output" return value is not valid until after Send returns without error.
1120//
1121// See CreateInstance for more information on using the CreateInstance
1122// API call, and error handling.
1123//
1124// This method is useful when you want to inject custom logic or configuration
1125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1126//
1127//
1128//    // Example sending a request using the CreateInstanceRequest method.
1129//    req, resp := client.CreateInstanceRequest(params)
1130//
1131//    err := req.Send()
1132//    if err == nil { // resp is now filled
1133//        fmt.Println(resp)
1134//    }
1135//
1136// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateInstance
1137func (c *Connect) CreateInstanceRequest(input *CreateInstanceInput) (req *request.Request, output *CreateInstanceOutput) {
1138	op := &request.Operation{
1139		Name:       opCreateInstance,
1140		HTTPMethod: "PUT",
1141		HTTPPath:   "/instance",
1142	}
1143
1144	if input == nil {
1145		input = &CreateInstanceInput{}
1146	}
1147
1148	output = &CreateInstanceOutput{}
1149	req = c.newRequest(op, input, output)
1150	return
1151}
1152
1153// CreateInstance API operation for Amazon Connect Service.
1154//
1155// This API is in preview release for Amazon Connect and is subject to change.
1156//
1157// Initiates an Amazon Connect instance with all the supported channels enabled.
1158// It does not attach any storage, such as Amazon Simple Storage Service (Amazon
1159// S3) or Amazon Kinesis. It also does not allow for any configurations on features,
1160// such as Contact Lens for Amazon Connect.
1161//
1162// Amazon Connect enforces a limit on the total number of instances that you
1163// can create or delete in 30 days. If you exceed this limit, you will get an
1164// error message indicating there has been an excessive number of attempts at
1165// creating or deleting instances. You must wait 30 days before you can restart
1166// creating and deleting instances in your account.
1167//
1168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1169// with awserr.Error's Code and Message methods to get detailed information about
1170// the error.
1171//
1172// See the AWS API reference guide for Amazon Connect Service's
1173// API operation CreateInstance for usage and error information.
1174//
1175// Returned Error Types:
1176//   * InvalidRequestException
1177//   The request is not valid.
1178//
1179//   * ServiceQuotaExceededException
1180//   The service quota has been exceeded.
1181//
1182//   * ThrottlingException
1183//   The throttling limit has been exceeded.
1184//
1185//   * ResourceNotFoundException
1186//   The specified resource was not found.
1187//
1188//   * InternalServiceException
1189//   Request processing failed because of an error or failure with the service.
1190//
1191// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateInstance
1192func (c *Connect) CreateInstance(input *CreateInstanceInput) (*CreateInstanceOutput, error) {
1193	req, out := c.CreateInstanceRequest(input)
1194	return out, req.Send()
1195}
1196
1197// CreateInstanceWithContext is the same as CreateInstance with the addition of
1198// the ability to pass a context and additional request options.
1199//
1200// See CreateInstance for details on how to use this API operation.
1201//
1202// The context must be non-nil and will be used for request cancellation. If
1203// the context is nil a panic will occur. In the future the SDK may create
1204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1205// for more information on using Contexts.
1206func (c *Connect) CreateInstanceWithContext(ctx aws.Context, input *CreateInstanceInput, opts ...request.Option) (*CreateInstanceOutput, error) {
1207	req, out := c.CreateInstanceRequest(input)
1208	req.SetContext(ctx)
1209	req.ApplyOptions(opts...)
1210	return out, req.Send()
1211}
1212
1213const opCreateIntegrationAssociation = "CreateIntegrationAssociation"
1214
1215// CreateIntegrationAssociationRequest generates a "aws/request.Request" representing the
1216// client's request for the CreateIntegrationAssociation operation. The "output" return
1217// value will be populated with the request's response once the request completes
1218// successfully.
1219//
1220// Use "Send" method on the returned Request to send the API call to the service.
1221// the "output" return value is not valid until after Send returns without error.
1222//
1223// See CreateIntegrationAssociation for more information on using the CreateIntegrationAssociation
1224// API call, and error handling.
1225//
1226// This method is useful when you want to inject custom logic or configuration
1227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1228//
1229//
1230//    // Example sending a request using the CreateIntegrationAssociationRequest method.
1231//    req, resp := client.CreateIntegrationAssociationRequest(params)
1232//
1233//    err := req.Send()
1234//    if err == nil { // resp is now filled
1235//        fmt.Println(resp)
1236//    }
1237//
1238// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateIntegrationAssociation
1239func (c *Connect) CreateIntegrationAssociationRequest(input *CreateIntegrationAssociationInput) (req *request.Request, output *CreateIntegrationAssociationOutput) {
1240	op := &request.Operation{
1241		Name:       opCreateIntegrationAssociation,
1242		HTTPMethod: "PUT",
1243		HTTPPath:   "/instance/{InstanceId}/integration-associations",
1244	}
1245
1246	if input == nil {
1247		input = &CreateIntegrationAssociationInput{}
1248	}
1249
1250	output = &CreateIntegrationAssociationOutput{}
1251	req = c.newRequest(op, input, output)
1252	return
1253}
1254
1255// CreateIntegrationAssociation API operation for Amazon Connect Service.
1256//
1257// Create an AppIntegration association with an Amazon Connect instance.
1258//
1259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1260// with awserr.Error's Code and Message methods to get detailed information about
1261// the error.
1262//
1263// See the AWS API reference guide for Amazon Connect Service's
1264// API operation CreateIntegrationAssociation for usage and error information.
1265//
1266// Returned Error Types:
1267//   * DuplicateResourceException
1268//   A resource with the specified name already exists.
1269//
1270//   * ResourceNotFoundException
1271//   The specified resource was not found.
1272//
1273//   * InternalServiceException
1274//   Request processing failed because of an error or failure with the service.
1275//
1276//   * InvalidRequestException
1277//   The request is not valid.
1278//
1279//   * ThrottlingException
1280//   The throttling limit has been exceeded.
1281//
1282// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateIntegrationAssociation
1283func (c *Connect) CreateIntegrationAssociation(input *CreateIntegrationAssociationInput) (*CreateIntegrationAssociationOutput, error) {
1284	req, out := c.CreateIntegrationAssociationRequest(input)
1285	return out, req.Send()
1286}
1287
1288// CreateIntegrationAssociationWithContext is the same as CreateIntegrationAssociation with the addition of
1289// the ability to pass a context and additional request options.
1290//
1291// See CreateIntegrationAssociation for details on how to use this API operation.
1292//
1293// The context must be non-nil and will be used for request cancellation. If
1294// the context is nil a panic will occur. In the future the SDK may create
1295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1296// for more information on using Contexts.
1297func (c *Connect) CreateIntegrationAssociationWithContext(ctx aws.Context, input *CreateIntegrationAssociationInput, opts ...request.Option) (*CreateIntegrationAssociationOutput, error) {
1298	req, out := c.CreateIntegrationAssociationRequest(input)
1299	req.SetContext(ctx)
1300	req.ApplyOptions(opts...)
1301	return out, req.Send()
1302}
1303
1304const opCreateQueue = "CreateQueue"
1305
1306// CreateQueueRequest generates a "aws/request.Request" representing the
1307// client's request for the CreateQueue operation. The "output" return
1308// value will be populated with the request's response once the request completes
1309// successfully.
1310//
1311// Use "Send" method on the returned Request to send the API call to the service.
1312// the "output" return value is not valid until after Send returns without error.
1313//
1314// See CreateQueue for more information on using the CreateQueue
1315// API call, and error handling.
1316//
1317// This method is useful when you want to inject custom logic or configuration
1318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1319//
1320//
1321//    // Example sending a request using the CreateQueueRequest method.
1322//    req, resp := client.CreateQueueRequest(params)
1323//
1324//    err := req.Send()
1325//    if err == nil { // resp is now filled
1326//        fmt.Println(resp)
1327//    }
1328//
1329// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQueue
1330func (c *Connect) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, output *CreateQueueOutput) {
1331	op := &request.Operation{
1332		Name:       opCreateQueue,
1333		HTTPMethod: "PUT",
1334		HTTPPath:   "/queues/{InstanceId}",
1335	}
1336
1337	if input == nil {
1338		input = &CreateQueueInput{}
1339	}
1340
1341	output = &CreateQueueOutput{}
1342	req = c.newRequest(op, input, output)
1343	return
1344}
1345
1346// CreateQueue API operation for Amazon Connect Service.
1347//
1348// This API is in preview release for Amazon Connect and is subject to change.
1349//
1350// Creates a new queue for the specified Amazon Connect instance.
1351//
1352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1353// with awserr.Error's Code and Message methods to get detailed information about
1354// the error.
1355//
1356// See the AWS API reference guide for Amazon Connect Service's
1357// API operation CreateQueue for usage and error information.
1358//
1359// Returned Error Types:
1360//   * InvalidRequestException
1361//   The request is not valid.
1362//
1363//   * InvalidParameterException
1364//   One or more of the specified parameters are not valid.
1365//
1366//   * DuplicateResourceException
1367//   A resource with the specified name already exists.
1368//
1369//   * ResourceNotFoundException
1370//   The specified resource was not found.
1371//
1372//   * LimitExceededException
1373//   The allowed limit for the resource has been exceeded.
1374//
1375//   * ThrottlingException
1376//   The throttling limit has been exceeded.
1377//
1378//   * InternalServiceException
1379//   Request processing failed because of an error or failure with the service.
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQueue
1382func (c *Connect) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) {
1383	req, out := c.CreateQueueRequest(input)
1384	return out, req.Send()
1385}
1386
1387// CreateQueueWithContext is the same as CreateQueue with the addition of
1388// the ability to pass a context and additional request options.
1389//
1390// See CreateQueue for details on how to use this API operation.
1391//
1392// The context must be non-nil and will be used for request cancellation. If
1393// the context is nil a panic will occur. In the future the SDK may create
1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1395// for more information on using Contexts.
1396func (c *Connect) CreateQueueWithContext(ctx aws.Context, input *CreateQueueInput, opts ...request.Option) (*CreateQueueOutput, error) {
1397	req, out := c.CreateQueueRequest(input)
1398	req.SetContext(ctx)
1399	req.ApplyOptions(opts...)
1400	return out, req.Send()
1401}
1402
1403const opCreateQuickConnect = "CreateQuickConnect"
1404
1405// CreateQuickConnectRequest generates a "aws/request.Request" representing the
1406// client's request for the CreateQuickConnect operation. The "output" return
1407// value will be populated with the request's response once the request completes
1408// successfully.
1409//
1410// Use "Send" method on the returned Request to send the API call to the service.
1411// the "output" return value is not valid until after Send returns without error.
1412//
1413// See CreateQuickConnect for more information on using the CreateQuickConnect
1414// API call, and error handling.
1415//
1416// This method is useful when you want to inject custom logic or configuration
1417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1418//
1419//
1420//    // Example sending a request using the CreateQuickConnectRequest method.
1421//    req, resp := client.CreateQuickConnectRequest(params)
1422//
1423//    err := req.Send()
1424//    if err == nil { // resp is now filled
1425//        fmt.Println(resp)
1426//    }
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQuickConnect
1429func (c *Connect) CreateQuickConnectRequest(input *CreateQuickConnectInput) (req *request.Request, output *CreateQuickConnectOutput) {
1430	op := &request.Operation{
1431		Name:       opCreateQuickConnect,
1432		HTTPMethod: "PUT",
1433		HTTPPath:   "/quick-connects/{InstanceId}",
1434	}
1435
1436	if input == nil {
1437		input = &CreateQuickConnectInput{}
1438	}
1439
1440	output = &CreateQuickConnectOutput{}
1441	req = c.newRequest(op, input, output)
1442	return
1443}
1444
1445// CreateQuickConnect API operation for Amazon Connect Service.
1446//
1447// Creates a quick connect for the specified Amazon Connect instance.
1448//
1449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1450// with awserr.Error's Code and Message methods to get detailed information about
1451// the error.
1452//
1453// See the AWS API reference guide for Amazon Connect Service's
1454// API operation CreateQuickConnect for usage and error information.
1455//
1456// Returned Error Types:
1457//   * InvalidRequestException
1458//   The request is not valid.
1459//
1460//   * InvalidParameterException
1461//   One or more of the specified parameters are not valid.
1462//
1463//   * DuplicateResourceException
1464//   A resource with the specified name already exists.
1465//
1466//   * ResourceNotFoundException
1467//   The specified resource was not found.
1468//
1469//   * LimitExceededException
1470//   The allowed limit for the resource has been exceeded.
1471//
1472//   * ThrottlingException
1473//   The throttling limit has been exceeded.
1474//
1475//   * InternalServiceException
1476//   Request processing failed because of an error or failure with the service.
1477//
1478// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQuickConnect
1479func (c *Connect) CreateQuickConnect(input *CreateQuickConnectInput) (*CreateQuickConnectOutput, error) {
1480	req, out := c.CreateQuickConnectRequest(input)
1481	return out, req.Send()
1482}
1483
1484// CreateQuickConnectWithContext is the same as CreateQuickConnect with the addition of
1485// the ability to pass a context and additional request options.
1486//
1487// See CreateQuickConnect for details on how to use this API operation.
1488//
1489// The context must be non-nil and will be used for request cancellation. If
1490// the context is nil a panic will occur. In the future the SDK may create
1491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1492// for more information on using Contexts.
1493func (c *Connect) CreateQuickConnectWithContext(ctx aws.Context, input *CreateQuickConnectInput, opts ...request.Option) (*CreateQuickConnectOutput, error) {
1494	req, out := c.CreateQuickConnectRequest(input)
1495	req.SetContext(ctx)
1496	req.ApplyOptions(opts...)
1497	return out, req.Send()
1498}
1499
1500const opCreateRoutingProfile = "CreateRoutingProfile"
1501
1502// CreateRoutingProfileRequest generates a "aws/request.Request" representing the
1503// client's request for the CreateRoutingProfile operation. The "output" return
1504// value will be populated with the request's response once the request completes
1505// successfully.
1506//
1507// Use "Send" method on the returned Request to send the API call to the service.
1508// the "output" return value is not valid until after Send returns without error.
1509//
1510// See CreateRoutingProfile for more information on using the CreateRoutingProfile
1511// API call, and error handling.
1512//
1513// This method is useful when you want to inject custom logic or configuration
1514// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1515//
1516//
1517//    // Example sending a request using the CreateRoutingProfileRequest method.
1518//    req, resp := client.CreateRoutingProfileRequest(params)
1519//
1520//    err := req.Send()
1521//    if err == nil { // resp is now filled
1522//        fmt.Println(resp)
1523//    }
1524//
1525// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfile
1526func (c *Connect) CreateRoutingProfileRequest(input *CreateRoutingProfileInput) (req *request.Request, output *CreateRoutingProfileOutput) {
1527	op := &request.Operation{
1528		Name:       opCreateRoutingProfile,
1529		HTTPMethod: "PUT",
1530		HTTPPath:   "/routing-profiles/{InstanceId}",
1531	}
1532
1533	if input == nil {
1534		input = &CreateRoutingProfileInput{}
1535	}
1536
1537	output = &CreateRoutingProfileOutput{}
1538	req = c.newRequest(op, input, output)
1539	return
1540}
1541
1542// CreateRoutingProfile API operation for Amazon Connect Service.
1543//
1544// Creates a new routing profile.
1545//
1546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1547// with awserr.Error's Code and Message methods to get detailed information about
1548// the error.
1549//
1550// See the AWS API reference guide for Amazon Connect Service's
1551// API operation CreateRoutingProfile for usage and error information.
1552//
1553// Returned Error Types:
1554//   * InvalidRequestException
1555//   The request is not valid.
1556//
1557//   * InvalidParameterException
1558//   One or more of the specified parameters are not valid.
1559//
1560//   * DuplicateResourceException
1561//   A resource with the specified name already exists.
1562//
1563//   * ResourceNotFoundException
1564//   The specified resource was not found.
1565//
1566//   * LimitExceededException
1567//   The allowed limit for the resource has been exceeded.
1568//
1569//   * ThrottlingException
1570//   The throttling limit has been exceeded.
1571//
1572//   * InternalServiceException
1573//   Request processing failed because of an error or failure with the service.
1574//
1575// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfile
1576func (c *Connect) CreateRoutingProfile(input *CreateRoutingProfileInput) (*CreateRoutingProfileOutput, error) {
1577	req, out := c.CreateRoutingProfileRequest(input)
1578	return out, req.Send()
1579}
1580
1581// CreateRoutingProfileWithContext is the same as CreateRoutingProfile with the addition of
1582// the ability to pass a context and additional request options.
1583//
1584// See CreateRoutingProfile for details on how to use this API operation.
1585//
1586// The context must be non-nil and will be used for request cancellation. If
1587// the context is nil a panic will occur. In the future the SDK may create
1588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1589// for more information on using Contexts.
1590func (c *Connect) CreateRoutingProfileWithContext(ctx aws.Context, input *CreateRoutingProfileInput, opts ...request.Option) (*CreateRoutingProfileOutput, error) {
1591	req, out := c.CreateRoutingProfileRequest(input)
1592	req.SetContext(ctx)
1593	req.ApplyOptions(opts...)
1594	return out, req.Send()
1595}
1596
1597const opCreateUseCase = "CreateUseCase"
1598
1599// CreateUseCaseRequest generates a "aws/request.Request" representing the
1600// client's request for the CreateUseCase operation. The "output" return
1601// value will be populated with the request's response once the request completes
1602// successfully.
1603//
1604// Use "Send" method on the returned Request to send the API call to the service.
1605// the "output" return value is not valid until after Send returns without error.
1606//
1607// See CreateUseCase for more information on using the CreateUseCase
1608// API call, and error handling.
1609//
1610// This method is useful when you want to inject custom logic or configuration
1611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1612//
1613//
1614//    // Example sending a request using the CreateUseCaseRequest method.
1615//    req, resp := client.CreateUseCaseRequest(params)
1616//
1617//    err := req.Send()
1618//    if err == nil { // resp is now filled
1619//        fmt.Println(resp)
1620//    }
1621//
1622// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUseCase
1623func (c *Connect) CreateUseCaseRequest(input *CreateUseCaseInput) (req *request.Request, output *CreateUseCaseOutput) {
1624	op := &request.Operation{
1625		Name:       opCreateUseCase,
1626		HTTPMethod: "PUT",
1627		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}/use-cases",
1628	}
1629
1630	if input == nil {
1631		input = &CreateUseCaseInput{}
1632	}
1633
1634	output = &CreateUseCaseOutput{}
1635	req = c.newRequest(op, input, output)
1636	return
1637}
1638
1639// CreateUseCase API operation for Amazon Connect Service.
1640//
1641// Creates a use case for an AppIntegration association.
1642//
1643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1644// with awserr.Error's Code and Message methods to get detailed information about
1645// the error.
1646//
1647// See the AWS API reference guide for Amazon Connect Service's
1648// API operation CreateUseCase for usage and error information.
1649//
1650// Returned Error Types:
1651//   * DuplicateResourceException
1652//   A resource with the specified name already exists.
1653//
1654//   * ResourceNotFoundException
1655//   The specified resource was not found.
1656//
1657//   * InternalServiceException
1658//   Request processing failed because of an error or failure with the service.
1659//
1660//   * InvalidRequestException
1661//   The request is not valid.
1662//
1663//   * ThrottlingException
1664//   The throttling limit has been exceeded.
1665//
1666// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUseCase
1667func (c *Connect) CreateUseCase(input *CreateUseCaseInput) (*CreateUseCaseOutput, error) {
1668	req, out := c.CreateUseCaseRequest(input)
1669	return out, req.Send()
1670}
1671
1672// CreateUseCaseWithContext is the same as CreateUseCase with the addition of
1673// the ability to pass a context and additional request options.
1674//
1675// See CreateUseCase for details on how to use this API operation.
1676//
1677// The context must be non-nil and will be used for request cancellation. If
1678// the context is nil a panic will occur. In the future the SDK may create
1679// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1680// for more information on using Contexts.
1681func (c *Connect) CreateUseCaseWithContext(ctx aws.Context, input *CreateUseCaseInput, opts ...request.Option) (*CreateUseCaseOutput, error) {
1682	req, out := c.CreateUseCaseRequest(input)
1683	req.SetContext(ctx)
1684	req.ApplyOptions(opts...)
1685	return out, req.Send()
1686}
1687
1688const opCreateUser = "CreateUser"
1689
1690// CreateUserRequest generates a "aws/request.Request" representing the
1691// client's request for the CreateUser operation. The "output" return
1692// value will be populated with the request's response once the request completes
1693// successfully.
1694//
1695// Use "Send" method on the returned Request to send the API call to the service.
1696// the "output" return value is not valid until after Send returns without error.
1697//
1698// See CreateUser for more information on using the CreateUser
1699// API call, and error handling.
1700//
1701// This method is useful when you want to inject custom logic or configuration
1702// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1703//
1704//
1705//    // Example sending a request using the CreateUserRequest method.
1706//    req, resp := client.CreateUserRequest(params)
1707//
1708//    err := req.Send()
1709//    if err == nil { // resp is now filled
1710//        fmt.Println(resp)
1711//    }
1712//
1713// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser
1714func (c *Connect) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
1715	op := &request.Operation{
1716		Name:       opCreateUser,
1717		HTTPMethod: "PUT",
1718		HTTPPath:   "/users/{InstanceId}",
1719	}
1720
1721	if input == nil {
1722		input = &CreateUserInput{}
1723	}
1724
1725	output = &CreateUserOutput{}
1726	req = c.newRequest(op, input, output)
1727	return
1728}
1729
1730// CreateUser API operation for Amazon Connect Service.
1731//
1732// Creates a user account for the specified Amazon Connect instance.
1733//
1734// For information about how to create user accounts using the Amazon Connect
1735// console, see Add Users (https://docs.aws.amazon.com/connect/latest/adminguide/user-management.html)
1736// in the Amazon Connect Administrator Guide.
1737//
1738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1739// with awserr.Error's Code and Message methods to get detailed information about
1740// the error.
1741//
1742// See the AWS API reference guide for Amazon Connect Service's
1743// API operation CreateUser for usage and error information.
1744//
1745// Returned Error Types:
1746//   * InvalidRequestException
1747//   The request is not valid.
1748//
1749//   * InvalidParameterException
1750//   One or more of the specified parameters are not valid.
1751//
1752//   * LimitExceededException
1753//   The allowed limit for the resource has been exceeded.
1754//
1755//   * DuplicateResourceException
1756//   A resource with the specified name already exists.
1757//
1758//   * ResourceNotFoundException
1759//   The specified resource was not found.
1760//
1761//   * ThrottlingException
1762//   The throttling limit has been exceeded.
1763//
1764//   * InternalServiceException
1765//   Request processing failed because of an error or failure with the service.
1766//
1767// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser
1768func (c *Connect) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
1769	req, out := c.CreateUserRequest(input)
1770	return out, req.Send()
1771}
1772
1773// CreateUserWithContext is the same as CreateUser with the addition of
1774// the ability to pass a context and additional request options.
1775//
1776// See CreateUser for details on how to use this API operation.
1777//
1778// The context must be non-nil and will be used for request cancellation. If
1779// the context is nil a panic will occur. In the future the SDK may create
1780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1781// for more information on using Contexts.
1782func (c *Connect) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
1783	req, out := c.CreateUserRequest(input)
1784	req.SetContext(ctx)
1785	req.ApplyOptions(opts...)
1786	return out, req.Send()
1787}
1788
1789const opCreateUserHierarchyGroup = "CreateUserHierarchyGroup"
1790
1791// CreateUserHierarchyGroupRequest generates a "aws/request.Request" representing the
1792// client's request for the CreateUserHierarchyGroup operation. The "output" return
1793// value will be populated with the request's response once the request completes
1794// successfully.
1795//
1796// Use "Send" method on the returned Request to send the API call to the service.
1797// the "output" return value is not valid until after Send returns without error.
1798//
1799// See CreateUserHierarchyGroup for more information on using the CreateUserHierarchyGroup
1800// API call, and error handling.
1801//
1802// This method is useful when you want to inject custom logic or configuration
1803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1804//
1805//
1806//    // Example sending a request using the CreateUserHierarchyGroupRequest method.
1807//    req, resp := client.CreateUserHierarchyGroupRequest(params)
1808//
1809//    err := req.Send()
1810//    if err == nil { // resp is now filled
1811//        fmt.Println(resp)
1812//    }
1813//
1814// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserHierarchyGroup
1815func (c *Connect) CreateUserHierarchyGroupRequest(input *CreateUserHierarchyGroupInput) (req *request.Request, output *CreateUserHierarchyGroupOutput) {
1816	op := &request.Operation{
1817		Name:       opCreateUserHierarchyGroup,
1818		HTTPMethod: "PUT",
1819		HTTPPath:   "/user-hierarchy-groups/{InstanceId}",
1820	}
1821
1822	if input == nil {
1823		input = &CreateUserHierarchyGroupInput{}
1824	}
1825
1826	output = &CreateUserHierarchyGroupOutput{}
1827	req = c.newRequest(op, input, output)
1828	return
1829}
1830
1831// CreateUserHierarchyGroup API operation for Amazon Connect Service.
1832//
1833// Creates a new user hierarchy group.
1834//
1835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1836// with awserr.Error's Code and Message methods to get detailed information about
1837// the error.
1838//
1839// See the AWS API reference guide for Amazon Connect Service's
1840// API operation CreateUserHierarchyGroup for usage and error information.
1841//
1842// Returned Error Types:
1843//   * InvalidRequestException
1844//   The request is not valid.
1845//
1846//   * InvalidParameterException
1847//   One or more of the specified parameters are not valid.
1848//
1849//   * DuplicateResourceException
1850//   A resource with the specified name already exists.
1851//
1852//   * LimitExceededException
1853//   The allowed limit for the resource has been exceeded.
1854//
1855//   * ResourceNotFoundException
1856//   The specified resource was not found.
1857//
1858//   * ThrottlingException
1859//   The throttling limit has been exceeded.
1860//
1861//   * InternalServiceException
1862//   Request processing failed because of an error or failure with the service.
1863//
1864// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserHierarchyGroup
1865func (c *Connect) CreateUserHierarchyGroup(input *CreateUserHierarchyGroupInput) (*CreateUserHierarchyGroupOutput, error) {
1866	req, out := c.CreateUserHierarchyGroupRequest(input)
1867	return out, req.Send()
1868}
1869
1870// CreateUserHierarchyGroupWithContext is the same as CreateUserHierarchyGroup with the addition of
1871// the ability to pass a context and additional request options.
1872//
1873// See CreateUserHierarchyGroup for details on how to use this API operation.
1874//
1875// The context must be non-nil and will be used for request cancellation. If
1876// the context is nil a panic will occur. In the future the SDK may create
1877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1878// for more information on using Contexts.
1879func (c *Connect) CreateUserHierarchyGroupWithContext(ctx aws.Context, input *CreateUserHierarchyGroupInput, opts ...request.Option) (*CreateUserHierarchyGroupOutput, error) {
1880	req, out := c.CreateUserHierarchyGroupRequest(input)
1881	req.SetContext(ctx)
1882	req.ApplyOptions(opts...)
1883	return out, req.Send()
1884}
1885
1886const opDeleteHoursOfOperation = "DeleteHoursOfOperation"
1887
1888// DeleteHoursOfOperationRequest generates a "aws/request.Request" representing the
1889// client's request for the DeleteHoursOfOperation operation. The "output" return
1890// value will be populated with the request's response once the request completes
1891// successfully.
1892//
1893// Use "Send" method on the returned Request to send the API call to the service.
1894// the "output" return value is not valid until after Send returns without error.
1895//
1896// See DeleteHoursOfOperation for more information on using the DeleteHoursOfOperation
1897// API call, and error handling.
1898//
1899// This method is useful when you want to inject custom logic or configuration
1900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1901//
1902//
1903//    // Example sending a request using the DeleteHoursOfOperationRequest method.
1904//    req, resp := client.DeleteHoursOfOperationRequest(params)
1905//
1906//    err := req.Send()
1907//    if err == nil { // resp is now filled
1908//        fmt.Println(resp)
1909//    }
1910//
1911// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteHoursOfOperation
1912func (c *Connect) DeleteHoursOfOperationRequest(input *DeleteHoursOfOperationInput) (req *request.Request, output *DeleteHoursOfOperationOutput) {
1913	op := &request.Operation{
1914		Name:       opDeleteHoursOfOperation,
1915		HTTPMethod: "DELETE",
1916		HTTPPath:   "/hours-of-operations/{InstanceId}/{HoursOfOperationId}",
1917	}
1918
1919	if input == nil {
1920		input = &DeleteHoursOfOperationInput{}
1921	}
1922
1923	output = &DeleteHoursOfOperationOutput{}
1924	req = c.newRequest(op, input, output)
1925	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1926	return
1927}
1928
1929// DeleteHoursOfOperation API operation for Amazon Connect Service.
1930//
1931// This API is in preview release for Amazon Connect and is subject to change.
1932//
1933// Deletes an hours of operation.
1934//
1935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1936// with awserr.Error's Code and Message methods to get detailed information about
1937// the error.
1938//
1939// See the AWS API reference guide for Amazon Connect Service's
1940// API operation DeleteHoursOfOperation for usage and error information.
1941//
1942// Returned Error Types:
1943//   * InvalidRequestException
1944//   The request is not valid.
1945//
1946//   * InvalidParameterException
1947//   One or more of the specified parameters are not valid.
1948//
1949//   * ResourceNotFoundException
1950//   The specified resource was not found.
1951//
1952//   * ThrottlingException
1953//   The throttling limit has been exceeded.
1954//
1955//   * InternalServiceException
1956//   Request processing failed because of an error or failure with the service.
1957//
1958// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteHoursOfOperation
1959func (c *Connect) DeleteHoursOfOperation(input *DeleteHoursOfOperationInput) (*DeleteHoursOfOperationOutput, error) {
1960	req, out := c.DeleteHoursOfOperationRequest(input)
1961	return out, req.Send()
1962}
1963
1964// DeleteHoursOfOperationWithContext is the same as DeleteHoursOfOperation with the addition of
1965// the ability to pass a context and additional request options.
1966//
1967// See DeleteHoursOfOperation for details on how to use this API operation.
1968//
1969// The context must be non-nil and will be used for request cancellation. If
1970// the context is nil a panic will occur. In the future the SDK may create
1971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1972// for more information on using Contexts.
1973func (c *Connect) DeleteHoursOfOperationWithContext(ctx aws.Context, input *DeleteHoursOfOperationInput, opts ...request.Option) (*DeleteHoursOfOperationOutput, error) {
1974	req, out := c.DeleteHoursOfOperationRequest(input)
1975	req.SetContext(ctx)
1976	req.ApplyOptions(opts...)
1977	return out, req.Send()
1978}
1979
1980const opDeleteInstance = "DeleteInstance"
1981
1982// DeleteInstanceRequest generates a "aws/request.Request" representing the
1983// client's request for the DeleteInstance operation. The "output" return
1984// value will be populated with the request's response once the request completes
1985// successfully.
1986//
1987// Use "Send" method on the returned Request to send the API call to the service.
1988// the "output" return value is not valid until after Send returns without error.
1989//
1990// See DeleteInstance for more information on using the DeleteInstance
1991// API call, and error handling.
1992//
1993// This method is useful when you want to inject custom logic or configuration
1994// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1995//
1996//
1997//    // Example sending a request using the DeleteInstanceRequest method.
1998//    req, resp := client.DeleteInstanceRequest(params)
1999//
2000//    err := req.Send()
2001//    if err == nil { // resp is now filled
2002//        fmt.Println(resp)
2003//    }
2004//
2005// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteInstance
2006func (c *Connect) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
2007	op := &request.Operation{
2008		Name:       opDeleteInstance,
2009		HTTPMethod: "DELETE",
2010		HTTPPath:   "/instance/{InstanceId}",
2011	}
2012
2013	if input == nil {
2014		input = &DeleteInstanceInput{}
2015	}
2016
2017	output = &DeleteInstanceOutput{}
2018	req = c.newRequest(op, input, output)
2019	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2020	return
2021}
2022
2023// DeleteInstance API operation for Amazon Connect Service.
2024//
2025// This API is in preview release for Amazon Connect and is subject to change.
2026//
2027// Deletes the Amazon Connect instance.
2028//
2029// Amazon Connect enforces a limit on the total number of instances that you
2030// can create or delete in 30 days. If you exceed this limit, you will get an
2031// error message indicating there has been an excessive number of attempts at
2032// creating or deleting instances. You must wait 30 days before you can restart
2033// creating and deleting instances in your account.
2034//
2035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2036// with awserr.Error's Code and Message methods to get detailed information about
2037// the error.
2038//
2039// See the AWS API reference guide for Amazon Connect Service's
2040// API operation DeleteInstance for usage and error information.
2041//
2042// Returned Error Types:
2043//   * ResourceNotFoundException
2044//   The specified resource was not found.
2045//
2046//   * InternalServiceException
2047//   Request processing failed because of an error or failure with the service.
2048//
2049//   * InvalidRequestException
2050//   The request is not valid.
2051//
2052// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteInstance
2053func (c *Connect) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
2054	req, out := c.DeleteInstanceRequest(input)
2055	return out, req.Send()
2056}
2057
2058// DeleteInstanceWithContext is the same as DeleteInstance with the addition of
2059// the ability to pass a context and additional request options.
2060//
2061// See DeleteInstance for details on how to use this API operation.
2062//
2063// The context must be non-nil and will be used for request cancellation. If
2064// the context is nil a panic will occur. In the future the SDK may create
2065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2066// for more information on using Contexts.
2067func (c *Connect) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
2068	req, out := c.DeleteInstanceRequest(input)
2069	req.SetContext(ctx)
2070	req.ApplyOptions(opts...)
2071	return out, req.Send()
2072}
2073
2074const opDeleteIntegrationAssociation = "DeleteIntegrationAssociation"
2075
2076// DeleteIntegrationAssociationRequest generates a "aws/request.Request" representing the
2077// client's request for the DeleteIntegrationAssociation operation. The "output" return
2078// value will be populated with the request's response once the request completes
2079// successfully.
2080//
2081// Use "Send" method on the returned Request to send the API call to the service.
2082// the "output" return value is not valid until after Send returns without error.
2083//
2084// See DeleteIntegrationAssociation for more information on using the DeleteIntegrationAssociation
2085// API call, and error handling.
2086//
2087// This method is useful when you want to inject custom logic or configuration
2088// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2089//
2090//
2091//    // Example sending a request using the DeleteIntegrationAssociationRequest method.
2092//    req, resp := client.DeleteIntegrationAssociationRequest(params)
2093//
2094//    err := req.Send()
2095//    if err == nil { // resp is now filled
2096//        fmt.Println(resp)
2097//    }
2098//
2099// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteIntegrationAssociation
2100func (c *Connect) DeleteIntegrationAssociationRequest(input *DeleteIntegrationAssociationInput) (req *request.Request, output *DeleteIntegrationAssociationOutput) {
2101	op := &request.Operation{
2102		Name:       opDeleteIntegrationAssociation,
2103		HTTPMethod: "DELETE",
2104		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}",
2105	}
2106
2107	if input == nil {
2108		input = &DeleteIntegrationAssociationInput{}
2109	}
2110
2111	output = &DeleteIntegrationAssociationOutput{}
2112	req = c.newRequest(op, input, output)
2113	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2114	return
2115}
2116
2117// DeleteIntegrationAssociation API operation for Amazon Connect Service.
2118//
2119// Deletes an AppIntegration association from an Amazon Connect instance. The
2120// association must not have any use cases associated with it.
2121//
2122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2123// with awserr.Error's Code and Message methods to get detailed information about
2124// the error.
2125//
2126// See the AWS API reference guide for Amazon Connect Service's
2127// API operation DeleteIntegrationAssociation for usage and error information.
2128//
2129// Returned Error Types:
2130//   * ResourceNotFoundException
2131//   The specified resource was not found.
2132//
2133//   * InternalServiceException
2134//   Request processing failed because of an error or failure with the service.
2135//
2136//   * InvalidRequestException
2137//   The request is not valid.
2138//
2139//   * ThrottlingException
2140//   The throttling limit has been exceeded.
2141//
2142// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteIntegrationAssociation
2143func (c *Connect) DeleteIntegrationAssociation(input *DeleteIntegrationAssociationInput) (*DeleteIntegrationAssociationOutput, error) {
2144	req, out := c.DeleteIntegrationAssociationRequest(input)
2145	return out, req.Send()
2146}
2147
2148// DeleteIntegrationAssociationWithContext is the same as DeleteIntegrationAssociation with the addition of
2149// the ability to pass a context and additional request options.
2150//
2151// See DeleteIntegrationAssociation for details on how to use this API operation.
2152//
2153// The context must be non-nil and will be used for request cancellation. If
2154// the context is nil a panic will occur. In the future the SDK may create
2155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2156// for more information on using Contexts.
2157func (c *Connect) DeleteIntegrationAssociationWithContext(ctx aws.Context, input *DeleteIntegrationAssociationInput, opts ...request.Option) (*DeleteIntegrationAssociationOutput, error) {
2158	req, out := c.DeleteIntegrationAssociationRequest(input)
2159	req.SetContext(ctx)
2160	req.ApplyOptions(opts...)
2161	return out, req.Send()
2162}
2163
2164const opDeleteQuickConnect = "DeleteQuickConnect"
2165
2166// DeleteQuickConnectRequest generates a "aws/request.Request" representing the
2167// client's request for the DeleteQuickConnect operation. The "output" return
2168// value will be populated with the request's response once the request completes
2169// successfully.
2170//
2171// Use "Send" method on the returned Request to send the API call to the service.
2172// the "output" return value is not valid until after Send returns without error.
2173//
2174// See DeleteQuickConnect for more information on using the DeleteQuickConnect
2175// API call, and error handling.
2176//
2177// This method is useful when you want to inject custom logic or configuration
2178// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2179//
2180//
2181//    // Example sending a request using the DeleteQuickConnectRequest method.
2182//    req, resp := client.DeleteQuickConnectRequest(params)
2183//
2184//    err := req.Send()
2185//    if err == nil { // resp is now filled
2186//        fmt.Println(resp)
2187//    }
2188//
2189// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQuickConnect
2190func (c *Connect) DeleteQuickConnectRequest(input *DeleteQuickConnectInput) (req *request.Request, output *DeleteQuickConnectOutput) {
2191	op := &request.Operation{
2192		Name:       opDeleteQuickConnect,
2193		HTTPMethod: "DELETE",
2194		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}",
2195	}
2196
2197	if input == nil {
2198		input = &DeleteQuickConnectInput{}
2199	}
2200
2201	output = &DeleteQuickConnectOutput{}
2202	req = c.newRequest(op, input, output)
2203	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2204	return
2205}
2206
2207// DeleteQuickConnect API operation for Amazon Connect Service.
2208//
2209// Deletes a quick connect.
2210//
2211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2212// with awserr.Error's Code and Message methods to get detailed information about
2213// the error.
2214//
2215// See the AWS API reference guide for Amazon Connect Service's
2216// API operation DeleteQuickConnect for usage and error information.
2217//
2218// Returned Error Types:
2219//   * InvalidRequestException
2220//   The request is not valid.
2221//
2222//   * InvalidParameterException
2223//   One or more of the specified parameters are not valid.
2224//
2225//   * ResourceNotFoundException
2226//   The specified resource was not found.
2227//
2228//   * ThrottlingException
2229//   The throttling limit has been exceeded.
2230//
2231//   * InternalServiceException
2232//   Request processing failed because of an error or failure with the service.
2233//
2234// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQuickConnect
2235func (c *Connect) DeleteQuickConnect(input *DeleteQuickConnectInput) (*DeleteQuickConnectOutput, error) {
2236	req, out := c.DeleteQuickConnectRequest(input)
2237	return out, req.Send()
2238}
2239
2240// DeleteQuickConnectWithContext is the same as DeleteQuickConnect with the addition of
2241// the ability to pass a context and additional request options.
2242//
2243// See DeleteQuickConnect for details on how to use this API operation.
2244//
2245// The context must be non-nil and will be used for request cancellation. If
2246// the context is nil a panic will occur. In the future the SDK may create
2247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2248// for more information on using Contexts.
2249func (c *Connect) DeleteQuickConnectWithContext(ctx aws.Context, input *DeleteQuickConnectInput, opts ...request.Option) (*DeleteQuickConnectOutput, error) {
2250	req, out := c.DeleteQuickConnectRequest(input)
2251	req.SetContext(ctx)
2252	req.ApplyOptions(opts...)
2253	return out, req.Send()
2254}
2255
2256const opDeleteUseCase = "DeleteUseCase"
2257
2258// DeleteUseCaseRequest generates a "aws/request.Request" representing the
2259// client's request for the DeleteUseCase operation. The "output" return
2260// value will be populated with the request's response once the request completes
2261// successfully.
2262//
2263// Use "Send" method on the returned Request to send the API call to the service.
2264// the "output" return value is not valid until after Send returns without error.
2265//
2266// See DeleteUseCase for more information on using the DeleteUseCase
2267// API call, and error handling.
2268//
2269// This method is useful when you want to inject custom logic or configuration
2270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2271//
2272//
2273//    // Example sending a request using the DeleteUseCaseRequest method.
2274//    req, resp := client.DeleteUseCaseRequest(params)
2275//
2276//    err := req.Send()
2277//    if err == nil { // resp is now filled
2278//        fmt.Println(resp)
2279//    }
2280//
2281// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUseCase
2282func (c *Connect) DeleteUseCaseRequest(input *DeleteUseCaseInput) (req *request.Request, output *DeleteUseCaseOutput) {
2283	op := &request.Operation{
2284		Name:       opDeleteUseCase,
2285		HTTPMethod: "DELETE",
2286		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}/use-cases/{UseCaseId}",
2287	}
2288
2289	if input == nil {
2290		input = &DeleteUseCaseInput{}
2291	}
2292
2293	output = &DeleteUseCaseOutput{}
2294	req = c.newRequest(op, input, output)
2295	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2296	return
2297}
2298
2299// DeleteUseCase API operation for Amazon Connect Service.
2300//
2301// Deletes a use case from an AppIntegration association.
2302//
2303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2304// with awserr.Error's Code and Message methods to get detailed information about
2305// the error.
2306//
2307// See the AWS API reference guide for Amazon Connect Service's
2308// API operation DeleteUseCase for usage and error information.
2309//
2310// Returned Error Types:
2311//   * ResourceNotFoundException
2312//   The specified resource was not found.
2313//
2314//   * InternalServiceException
2315//   Request processing failed because of an error or failure with the service.
2316//
2317//   * InvalidRequestException
2318//   The request is not valid.
2319//
2320//   * ThrottlingException
2321//   The throttling limit has been exceeded.
2322//
2323// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUseCase
2324func (c *Connect) DeleteUseCase(input *DeleteUseCaseInput) (*DeleteUseCaseOutput, error) {
2325	req, out := c.DeleteUseCaseRequest(input)
2326	return out, req.Send()
2327}
2328
2329// DeleteUseCaseWithContext is the same as DeleteUseCase with the addition of
2330// the ability to pass a context and additional request options.
2331//
2332// See DeleteUseCase for details on how to use this API operation.
2333//
2334// The context must be non-nil and will be used for request cancellation. If
2335// the context is nil a panic will occur. In the future the SDK may create
2336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2337// for more information on using Contexts.
2338func (c *Connect) DeleteUseCaseWithContext(ctx aws.Context, input *DeleteUseCaseInput, opts ...request.Option) (*DeleteUseCaseOutput, error) {
2339	req, out := c.DeleteUseCaseRequest(input)
2340	req.SetContext(ctx)
2341	req.ApplyOptions(opts...)
2342	return out, req.Send()
2343}
2344
2345const opDeleteUser = "DeleteUser"
2346
2347// DeleteUserRequest generates a "aws/request.Request" representing the
2348// client's request for the DeleteUser operation. The "output" return
2349// value will be populated with the request's response once the request completes
2350// successfully.
2351//
2352// Use "Send" method on the returned Request to send the API call to the service.
2353// the "output" return value is not valid until after Send returns without error.
2354//
2355// See DeleteUser for more information on using the DeleteUser
2356// API call, and error handling.
2357//
2358// This method is useful when you want to inject custom logic or configuration
2359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2360//
2361//
2362//    // Example sending a request using the DeleteUserRequest method.
2363//    req, resp := client.DeleteUserRequest(params)
2364//
2365//    err := req.Send()
2366//    if err == nil { // resp is now filled
2367//        fmt.Println(resp)
2368//    }
2369//
2370// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser
2371func (c *Connect) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
2372	op := &request.Operation{
2373		Name:       opDeleteUser,
2374		HTTPMethod: "DELETE",
2375		HTTPPath:   "/users/{InstanceId}/{UserId}",
2376	}
2377
2378	if input == nil {
2379		input = &DeleteUserInput{}
2380	}
2381
2382	output = &DeleteUserOutput{}
2383	req = c.newRequest(op, input, output)
2384	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2385	return
2386}
2387
2388// DeleteUser API operation for Amazon Connect Service.
2389//
2390// Deletes a user account from the specified Amazon Connect instance.
2391//
2392// For information about what happens to a user's data when their account is
2393// deleted, see Delete Users from Your Amazon Connect Instance (https://docs.aws.amazon.com/connect/latest/adminguide/delete-users.html)
2394// in the Amazon Connect Administrator Guide.
2395//
2396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2397// with awserr.Error's Code and Message methods to get detailed information about
2398// the error.
2399//
2400// See the AWS API reference guide for Amazon Connect Service's
2401// API operation DeleteUser for usage and error information.
2402//
2403// Returned Error Types:
2404//   * InvalidRequestException
2405//   The request is not valid.
2406//
2407//   * InvalidParameterException
2408//   One or more of the specified parameters are not valid.
2409//
2410//   * ResourceNotFoundException
2411//   The specified resource was not found.
2412//
2413//   * ThrottlingException
2414//   The throttling limit has been exceeded.
2415//
2416//   * InternalServiceException
2417//   Request processing failed because of an error or failure with the service.
2418//
2419// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser
2420func (c *Connect) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
2421	req, out := c.DeleteUserRequest(input)
2422	return out, req.Send()
2423}
2424
2425// DeleteUserWithContext is the same as DeleteUser with the addition of
2426// the ability to pass a context and additional request options.
2427//
2428// See DeleteUser for details on how to use this API operation.
2429//
2430// The context must be non-nil and will be used for request cancellation. If
2431// the context is nil a panic will occur. In the future the SDK may create
2432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2433// for more information on using Contexts.
2434func (c *Connect) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
2435	req, out := c.DeleteUserRequest(input)
2436	req.SetContext(ctx)
2437	req.ApplyOptions(opts...)
2438	return out, req.Send()
2439}
2440
2441const opDeleteUserHierarchyGroup = "DeleteUserHierarchyGroup"
2442
2443// DeleteUserHierarchyGroupRequest generates a "aws/request.Request" representing the
2444// client's request for the DeleteUserHierarchyGroup operation. The "output" return
2445// value will be populated with the request's response once the request completes
2446// successfully.
2447//
2448// Use "Send" method on the returned Request to send the API call to the service.
2449// the "output" return value is not valid until after Send returns without error.
2450//
2451// See DeleteUserHierarchyGroup for more information on using the DeleteUserHierarchyGroup
2452// API call, and error handling.
2453//
2454// This method is useful when you want to inject custom logic or configuration
2455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2456//
2457//
2458//    // Example sending a request using the DeleteUserHierarchyGroupRequest method.
2459//    req, resp := client.DeleteUserHierarchyGroupRequest(params)
2460//
2461//    err := req.Send()
2462//    if err == nil { // resp is now filled
2463//        fmt.Println(resp)
2464//    }
2465//
2466// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUserHierarchyGroup
2467func (c *Connect) DeleteUserHierarchyGroupRequest(input *DeleteUserHierarchyGroupInput) (req *request.Request, output *DeleteUserHierarchyGroupOutput) {
2468	op := &request.Operation{
2469		Name:       opDeleteUserHierarchyGroup,
2470		HTTPMethod: "DELETE",
2471		HTTPPath:   "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}",
2472	}
2473
2474	if input == nil {
2475		input = &DeleteUserHierarchyGroupInput{}
2476	}
2477
2478	output = &DeleteUserHierarchyGroupOutput{}
2479	req = c.newRequest(op, input, output)
2480	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2481	return
2482}
2483
2484// DeleteUserHierarchyGroup API operation for Amazon Connect Service.
2485//
2486// Deletes an existing user hierarchy group. It must not be associated with
2487// any agents or have any active child groups.
2488//
2489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2490// with awserr.Error's Code and Message methods to get detailed information about
2491// the error.
2492//
2493// See the AWS API reference guide for Amazon Connect Service's
2494// API operation DeleteUserHierarchyGroup for usage and error information.
2495//
2496// Returned Error Types:
2497//   * InvalidRequestException
2498//   The request is not valid.
2499//
2500//   * InvalidParameterException
2501//   One or more of the specified parameters are not valid.
2502//
2503//   * ResourceNotFoundException
2504//   The specified resource was not found.
2505//
2506//   * ResourceInUseException
2507//   That resource is already in use. Please try another.
2508//
2509//   * ThrottlingException
2510//   The throttling limit has been exceeded.
2511//
2512//   * InternalServiceException
2513//   Request processing failed because of an error or failure with the service.
2514//
2515// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUserHierarchyGroup
2516func (c *Connect) DeleteUserHierarchyGroup(input *DeleteUserHierarchyGroupInput) (*DeleteUserHierarchyGroupOutput, error) {
2517	req, out := c.DeleteUserHierarchyGroupRequest(input)
2518	return out, req.Send()
2519}
2520
2521// DeleteUserHierarchyGroupWithContext is the same as DeleteUserHierarchyGroup with the addition of
2522// the ability to pass a context and additional request options.
2523//
2524// See DeleteUserHierarchyGroup for details on how to use this API operation.
2525//
2526// The context must be non-nil and will be used for request cancellation. If
2527// the context is nil a panic will occur. In the future the SDK may create
2528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2529// for more information on using Contexts.
2530func (c *Connect) DeleteUserHierarchyGroupWithContext(ctx aws.Context, input *DeleteUserHierarchyGroupInput, opts ...request.Option) (*DeleteUserHierarchyGroupOutput, error) {
2531	req, out := c.DeleteUserHierarchyGroupRequest(input)
2532	req.SetContext(ctx)
2533	req.ApplyOptions(opts...)
2534	return out, req.Send()
2535}
2536
2537const opDescribeAgentStatus = "DescribeAgentStatus"
2538
2539// DescribeAgentStatusRequest generates a "aws/request.Request" representing the
2540// client's request for the DescribeAgentStatus operation. The "output" return
2541// value will be populated with the request's response once the request completes
2542// successfully.
2543//
2544// Use "Send" method on the returned Request to send the API call to the service.
2545// the "output" return value is not valid until after Send returns without error.
2546//
2547// See DescribeAgentStatus for more information on using the DescribeAgentStatus
2548// API call, and error handling.
2549//
2550// This method is useful when you want to inject custom logic or configuration
2551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2552//
2553//
2554//    // Example sending a request using the DescribeAgentStatusRequest method.
2555//    req, resp := client.DescribeAgentStatusRequest(params)
2556//
2557//    err := req.Send()
2558//    if err == nil { // resp is now filled
2559//        fmt.Println(resp)
2560//    }
2561//
2562// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeAgentStatus
2563func (c *Connect) DescribeAgentStatusRequest(input *DescribeAgentStatusInput) (req *request.Request, output *DescribeAgentStatusOutput) {
2564	op := &request.Operation{
2565		Name:       opDescribeAgentStatus,
2566		HTTPMethod: "GET",
2567		HTTPPath:   "/agent-status/{InstanceId}/{AgentStatusId}",
2568	}
2569
2570	if input == nil {
2571		input = &DescribeAgentStatusInput{}
2572	}
2573
2574	output = &DescribeAgentStatusOutput{}
2575	req = c.newRequest(op, input, output)
2576	return
2577}
2578
2579// DescribeAgentStatus API operation for Amazon Connect Service.
2580//
2581// This API is in preview release for Amazon Connect and is subject to change.
2582//
2583// Describes an agent status.
2584//
2585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2586// with awserr.Error's Code and Message methods to get detailed information about
2587// the error.
2588//
2589// See the AWS API reference guide for Amazon Connect Service's
2590// API operation DescribeAgentStatus for usage and error information.
2591//
2592// Returned Error Types:
2593//   * InvalidRequestException
2594//   The request is not valid.
2595//
2596//   * InvalidParameterException
2597//   One or more of the specified parameters are not valid.
2598//
2599//   * ResourceNotFoundException
2600//   The specified resource was not found.
2601//
2602//   * ThrottlingException
2603//   The throttling limit has been exceeded.
2604//
2605//   * InternalServiceException
2606//   Request processing failed because of an error or failure with the service.
2607//
2608// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeAgentStatus
2609func (c *Connect) DescribeAgentStatus(input *DescribeAgentStatusInput) (*DescribeAgentStatusOutput, error) {
2610	req, out := c.DescribeAgentStatusRequest(input)
2611	return out, req.Send()
2612}
2613
2614// DescribeAgentStatusWithContext is the same as DescribeAgentStatus with the addition of
2615// the ability to pass a context and additional request options.
2616//
2617// See DescribeAgentStatus for details on how to use this API operation.
2618//
2619// The context must be non-nil and will be used for request cancellation. If
2620// the context is nil a panic will occur. In the future the SDK may create
2621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2622// for more information on using Contexts.
2623func (c *Connect) DescribeAgentStatusWithContext(ctx aws.Context, input *DescribeAgentStatusInput, opts ...request.Option) (*DescribeAgentStatusOutput, error) {
2624	req, out := c.DescribeAgentStatusRequest(input)
2625	req.SetContext(ctx)
2626	req.ApplyOptions(opts...)
2627	return out, req.Send()
2628}
2629
2630const opDescribeContactFlow = "DescribeContactFlow"
2631
2632// DescribeContactFlowRequest generates a "aws/request.Request" representing the
2633// client's request for the DescribeContactFlow operation. The "output" return
2634// value will be populated with the request's response once the request completes
2635// successfully.
2636//
2637// Use "Send" method on the returned Request to send the API call to the service.
2638// the "output" return value is not valid until after Send returns without error.
2639//
2640// See DescribeContactFlow for more information on using the DescribeContactFlow
2641// API call, and error handling.
2642//
2643// This method is useful when you want to inject custom logic or configuration
2644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2645//
2646//
2647//    // Example sending a request using the DescribeContactFlowRequest method.
2648//    req, resp := client.DescribeContactFlowRequest(params)
2649//
2650//    err := req.Send()
2651//    if err == nil { // resp is now filled
2652//        fmt.Println(resp)
2653//    }
2654//
2655// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactFlow
2656func (c *Connect) DescribeContactFlowRequest(input *DescribeContactFlowInput) (req *request.Request, output *DescribeContactFlowOutput) {
2657	op := &request.Operation{
2658		Name:       opDescribeContactFlow,
2659		HTTPMethod: "GET",
2660		HTTPPath:   "/contact-flows/{InstanceId}/{ContactFlowId}",
2661	}
2662
2663	if input == nil {
2664		input = &DescribeContactFlowInput{}
2665	}
2666
2667	output = &DescribeContactFlowOutput{}
2668	req = c.newRequest(op, input, output)
2669	return
2670}
2671
2672// DescribeContactFlow API operation for Amazon Connect Service.
2673//
2674// Describes the specified contact flow.
2675//
2676// You can also create and update contact flows using the Amazon Connect Flow
2677// language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
2678//
2679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2680// with awserr.Error's Code and Message methods to get detailed information about
2681// the error.
2682//
2683// See the AWS API reference guide for Amazon Connect Service's
2684// API operation DescribeContactFlow for usage and error information.
2685//
2686// Returned Error Types:
2687//   * InvalidRequestException
2688//   The request is not valid.
2689//
2690//   * InvalidParameterException
2691//   One or more of the specified parameters are not valid.
2692//
2693//   * ResourceNotFoundException
2694//   The specified resource was not found.
2695//
2696//   * ContactFlowNotPublishedException
2697//   The contact flow has not been published.
2698//
2699//   * ThrottlingException
2700//   The throttling limit has been exceeded.
2701//
2702//   * InternalServiceException
2703//   Request processing failed because of an error or failure with the service.
2704//
2705// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactFlow
2706func (c *Connect) DescribeContactFlow(input *DescribeContactFlowInput) (*DescribeContactFlowOutput, error) {
2707	req, out := c.DescribeContactFlowRequest(input)
2708	return out, req.Send()
2709}
2710
2711// DescribeContactFlowWithContext is the same as DescribeContactFlow with the addition of
2712// the ability to pass a context and additional request options.
2713//
2714// See DescribeContactFlow for details on how to use this API operation.
2715//
2716// The context must be non-nil and will be used for request cancellation. If
2717// the context is nil a panic will occur. In the future the SDK may create
2718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2719// for more information on using Contexts.
2720func (c *Connect) DescribeContactFlowWithContext(ctx aws.Context, input *DescribeContactFlowInput, opts ...request.Option) (*DescribeContactFlowOutput, error) {
2721	req, out := c.DescribeContactFlowRequest(input)
2722	req.SetContext(ctx)
2723	req.ApplyOptions(opts...)
2724	return out, req.Send()
2725}
2726
2727const opDescribeHoursOfOperation = "DescribeHoursOfOperation"
2728
2729// DescribeHoursOfOperationRequest generates a "aws/request.Request" representing the
2730// client's request for the DescribeHoursOfOperation operation. The "output" return
2731// value will be populated with the request's response once the request completes
2732// successfully.
2733//
2734// Use "Send" method on the returned Request to send the API call to the service.
2735// the "output" return value is not valid until after Send returns without error.
2736//
2737// See DescribeHoursOfOperation for more information on using the DescribeHoursOfOperation
2738// API call, and error handling.
2739//
2740// This method is useful when you want to inject custom logic or configuration
2741// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2742//
2743//
2744//    // Example sending a request using the DescribeHoursOfOperationRequest method.
2745//    req, resp := client.DescribeHoursOfOperationRequest(params)
2746//
2747//    err := req.Send()
2748//    if err == nil { // resp is now filled
2749//        fmt.Println(resp)
2750//    }
2751//
2752// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeHoursOfOperation
2753func (c *Connect) DescribeHoursOfOperationRequest(input *DescribeHoursOfOperationInput) (req *request.Request, output *DescribeHoursOfOperationOutput) {
2754	op := &request.Operation{
2755		Name:       opDescribeHoursOfOperation,
2756		HTTPMethod: "GET",
2757		HTTPPath:   "/hours-of-operations/{InstanceId}/{HoursOfOperationId}",
2758	}
2759
2760	if input == nil {
2761		input = &DescribeHoursOfOperationInput{}
2762	}
2763
2764	output = &DescribeHoursOfOperationOutput{}
2765	req = c.newRequest(op, input, output)
2766	return
2767}
2768
2769// DescribeHoursOfOperation API operation for Amazon Connect Service.
2770//
2771// This API is in preview release for Amazon Connect and is subject to change.
2772//
2773// Describes the hours of operation.
2774//
2775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2776// with awserr.Error's Code and Message methods to get detailed information about
2777// the error.
2778//
2779// See the AWS API reference guide for Amazon Connect Service's
2780// API operation DescribeHoursOfOperation for usage and error information.
2781//
2782// Returned Error Types:
2783//   * InvalidRequestException
2784//   The request is not valid.
2785//
2786//   * InvalidParameterException
2787//   One or more of the specified parameters are not valid.
2788//
2789//   * ResourceNotFoundException
2790//   The specified resource was not found.
2791//
2792//   * ThrottlingException
2793//   The throttling limit has been exceeded.
2794//
2795//   * InternalServiceException
2796//   Request processing failed because of an error or failure with the service.
2797//
2798// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeHoursOfOperation
2799func (c *Connect) DescribeHoursOfOperation(input *DescribeHoursOfOperationInput) (*DescribeHoursOfOperationOutput, error) {
2800	req, out := c.DescribeHoursOfOperationRequest(input)
2801	return out, req.Send()
2802}
2803
2804// DescribeHoursOfOperationWithContext is the same as DescribeHoursOfOperation with the addition of
2805// the ability to pass a context and additional request options.
2806//
2807// See DescribeHoursOfOperation for details on how to use this API operation.
2808//
2809// The context must be non-nil and will be used for request cancellation. If
2810// the context is nil a panic will occur. In the future the SDK may create
2811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2812// for more information on using Contexts.
2813func (c *Connect) DescribeHoursOfOperationWithContext(ctx aws.Context, input *DescribeHoursOfOperationInput, opts ...request.Option) (*DescribeHoursOfOperationOutput, error) {
2814	req, out := c.DescribeHoursOfOperationRequest(input)
2815	req.SetContext(ctx)
2816	req.ApplyOptions(opts...)
2817	return out, req.Send()
2818}
2819
2820const opDescribeInstance = "DescribeInstance"
2821
2822// DescribeInstanceRequest generates a "aws/request.Request" representing the
2823// client's request for the DescribeInstance operation. The "output" return
2824// value will be populated with the request's response once the request completes
2825// successfully.
2826//
2827// Use "Send" method on the returned Request to send the API call to the service.
2828// the "output" return value is not valid until after Send returns without error.
2829//
2830// See DescribeInstance for more information on using the DescribeInstance
2831// API call, and error handling.
2832//
2833// This method is useful when you want to inject custom logic or configuration
2834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2835//
2836//
2837//    // Example sending a request using the DescribeInstanceRequest method.
2838//    req, resp := client.DescribeInstanceRequest(params)
2839//
2840//    err := req.Send()
2841//    if err == nil { // resp is now filled
2842//        fmt.Println(resp)
2843//    }
2844//
2845// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstance
2846func (c *Connect) DescribeInstanceRequest(input *DescribeInstanceInput) (req *request.Request, output *DescribeInstanceOutput) {
2847	op := &request.Operation{
2848		Name:       opDescribeInstance,
2849		HTTPMethod: "GET",
2850		HTTPPath:   "/instance/{InstanceId}",
2851	}
2852
2853	if input == nil {
2854		input = &DescribeInstanceInput{}
2855	}
2856
2857	output = &DescribeInstanceOutput{}
2858	req = c.newRequest(op, input, output)
2859	return
2860}
2861
2862// DescribeInstance API operation for Amazon Connect Service.
2863//
2864// This API is in preview release for Amazon Connect and is subject to change.
2865//
2866// Returns the current state of the specified instance identifier. It tracks
2867// the instance while it is being created and returns an error status, if applicable.
2868//
2869// If an instance is not created successfully, the instance status reason field
2870// returns details relevant to the reason. The instance in a failed state is
2871// returned only for 24 hours after the CreateInstance API was invoked.
2872//
2873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2874// with awserr.Error's Code and Message methods to get detailed information about
2875// the error.
2876//
2877// See the AWS API reference guide for Amazon Connect Service's
2878// API operation DescribeInstance for usage and error information.
2879//
2880// Returned Error Types:
2881//   * InvalidRequestException
2882//   The request is not valid.
2883//
2884//   * ResourceNotFoundException
2885//   The specified resource was not found.
2886//
2887//   * InternalServiceException
2888//   Request processing failed because of an error or failure with the service.
2889//
2890// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstance
2891func (c *Connect) DescribeInstance(input *DescribeInstanceInput) (*DescribeInstanceOutput, error) {
2892	req, out := c.DescribeInstanceRequest(input)
2893	return out, req.Send()
2894}
2895
2896// DescribeInstanceWithContext is the same as DescribeInstance with the addition of
2897// the ability to pass a context and additional request options.
2898//
2899// See DescribeInstance for details on how to use this API operation.
2900//
2901// The context must be non-nil and will be used for request cancellation. If
2902// the context is nil a panic will occur. In the future the SDK may create
2903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2904// for more information on using Contexts.
2905func (c *Connect) DescribeInstanceWithContext(ctx aws.Context, input *DescribeInstanceInput, opts ...request.Option) (*DescribeInstanceOutput, error) {
2906	req, out := c.DescribeInstanceRequest(input)
2907	req.SetContext(ctx)
2908	req.ApplyOptions(opts...)
2909	return out, req.Send()
2910}
2911
2912const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
2913
2914// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
2915// client's request for the DescribeInstanceAttribute operation. The "output" return
2916// value will be populated with the request's response once the request completes
2917// successfully.
2918//
2919// Use "Send" method on the returned Request to send the API call to the service.
2920// the "output" return value is not valid until after Send returns without error.
2921//
2922// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
2923// API call, and error handling.
2924//
2925// This method is useful when you want to inject custom logic or configuration
2926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2927//
2928//
2929//    // Example sending a request using the DescribeInstanceAttributeRequest method.
2930//    req, resp := client.DescribeInstanceAttributeRequest(params)
2931//
2932//    err := req.Send()
2933//    if err == nil { // resp is now filled
2934//        fmt.Println(resp)
2935//    }
2936//
2937// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute
2938func (c *Connect) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
2939	op := &request.Operation{
2940		Name:       opDescribeInstanceAttribute,
2941		HTTPMethod: "GET",
2942		HTTPPath:   "/instance/{InstanceId}/attribute/{AttributeType}",
2943	}
2944
2945	if input == nil {
2946		input = &DescribeInstanceAttributeInput{}
2947	}
2948
2949	output = &DescribeInstanceAttributeOutput{}
2950	req = c.newRequest(op, input, output)
2951	return
2952}
2953
2954// DescribeInstanceAttribute API operation for Amazon Connect Service.
2955//
2956// This API is in preview release for Amazon Connect and is subject to change.
2957//
2958// Describes the specified instance attribute.
2959//
2960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2961// with awserr.Error's Code and Message methods to get detailed information about
2962// the error.
2963//
2964// See the AWS API reference guide for Amazon Connect Service's
2965// API operation DescribeInstanceAttribute for usage and error information.
2966//
2967// Returned Error Types:
2968//   * ResourceNotFoundException
2969//   The specified resource was not found.
2970//
2971//   * InternalServiceException
2972//   Request processing failed because of an error or failure with the service.
2973//
2974//   * InvalidRequestException
2975//   The request is not valid.
2976//
2977//   * InvalidParameterException
2978//   One or more of the specified parameters are not valid.
2979//
2980//   * ThrottlingException
2981//   The throttling limit has been exceeded.
2982//
2983// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute
2984func (c *Connect) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
2985	req, out := c.DescribeInstanceAttributeRequest(input)
2986	return out, req.Send()
2987}
2988
2989// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
2990// the ability to pass a context and additional request options.
2991//
2992// See DescribeInstanceAttribute for details on how to use this API operation.
2993//
2994// The context must be non-nil and will be used for request cancellation. If
2995// the context is nil a panic will occur. In the future the SDK may create
2996// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2997// for more information on using Contexts.
2998func (c *Connect) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
2999	req, out := c.DescribeInstanceAttributeRequest(input)
3000	req.SetContext(ctx)
3001	req.ApplyOptions(opts...)
3002	return out, req.Send()
3003}
3004
3005const opDescribeInstanceStorageConfig = "DescribeInstanceStorageConfig"
3006
3007// DescribeInstanceStorageConfigRequest generates a "aws/request.Request" representing the
3008// client's request for the DescribeInstanceStorageConfig operation. The "output" return
3009// value will be populated with the request's response once the request completes
3010// successfully.
3011//
3012// Use "Send" method on the returned Request to send the API call to the service.
3013// the "output" return value is not valid until after Send returns without error.
3014//
3015// See DescribeInstanceStorageConfig for more information on using the DescribeInstanceStorageConfig
3016// API call, and error handling.
3017//
3018// This method is useful when you want to inject custom logic or configuration
3019// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3020//
3021//
3022//    // Example sending a request using the DescribeInstanceStorageConfigRequest method.
3023//    req, resp := client.DescribeInstanceStorageConfigRequest(params)
3024//
3025//    err := req.Send()
3026//    if err == nil { // resp is now filled
3027//        fmt.Println(resp)
3028//    }
3029//
3030// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceStorageConfig
3031func (c *Connect) DescribeInstanceStorageConfigRequest(input *DescribeInstanceStorageConfigInput) (req *request.Request, output *DescribeInstanceStorageConfigOutput) {
3032	op := &request.Operation{
3033		Name:       opDescribeInstanceStorageConfig,
3034		HTTPMethod: "GET",
3035		HTTPPath:   "/instance/{InstanceId}/storage-config/{AssociationId}",
3036	}
3037
3038	if input == nil {
3039		input = &DescribeInstanceStorageConfigInput{}
3040	}
3041
3042	output = &DescribeInstanceStorageConfigOutput{}
3043	req = c.newRequest(op, input, output)
3044	return
3045}
3046
3047// DescribeInstanceStorageConfig API operation for Amazon Connect Service.
3048//
3049// This API is in preview release for Amazon Connect and is subject to change.
3050//
3051// Retrieves the current storage configurations for the specified resource type,
3052// association ID, and instance ID.
3053//
3054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3055// with awserr.Error's Code and Message methods to get detailed information about
3056// the error.
3057//
3058// See the AWS API reference guide for Amazon Connect Service's
3059// API operation DescribeInstanceStorageConfig for usage and error information.
3060//
3061// Returned Error Types:
3062//   * ResourceNotFoundException
3063//   The specified resource was not found.
3064//
3065//   * InternalServiceException
3066//   Request processing failed because of an error or failure with the service.
3067//
3068//   * InvalidRequestException
3069//   The request is not valid.
3070//
3071//   * InvalidParameterException
3072//   One or more of the specified parameters are not valid.
3073//
3074//   * ThrottlingException
3075//   The throttling limit has been exceeded.
3076//
3077// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceStorageConfig
3078func (c *Connect) DescribeInstanceStorageConfig(input *DescribeInstanceStorageConfigInput) (*DescribeInstanceStorageConfigOutput, error) {
3079	req, out := c.DescribeInstanceStorageConfigRequest(input)
3080	return out, req.Send()
3081}
3082
3083// DescribeInstanceStorageConfigWithContext is the same as DescribeInstanceStorageConfig with the addition of
3084// the ability to pass a context and additional request options.
3085//
3086// See DescribeInstanceStorageConfig for details on how to use this API operation.
3087//
3088// The context must be non-nil and will be used for request cancellation. If
3089// the context is nil a panic will occur. In the future the SDK may create
3090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3091// for more information on using Contexts.
3092func (c *Connect) DescribeInstanceStorageConfigWithContext(ctx aws.Context, input *DescribeInstanceStorageConfigInput, opts ...request.Option) (*DescribeInstanceStorageConfigOutput, error) {
3093	req, out := c.DescribeInstanceStorageConfigRequest(input)
3094	req.SetContext(ctx)
3095	req.ApplyOptions(opts...)
3096	return out, req.Send()
3097}
3098
3099const opDescribeQueue = "DescribeQueue"
3100
3101// DescribeQueueRequest generates a "aws/request.Request" representing the
3102// client's request for the DescribeQueue operation. The "output" return
3103// value will be populated with the request's response once the request completes
3104// successfully.
3105//
3106// Use "Send" method on the returned Request to send the API call to the service.
3107// the "output" return value is not valid until after Send returns without error.
3108//
3109// See DescribeQueue for more information on using the DescribeQueue
3110// API call, and error handling.
3111//
3112// This method is useful when you want to inject custom logic or configuration
3113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3114//
3115//
3116//    // Example sending a request using the DescribeQueueRequest method.
3117//    req, resp := client.DescribeQueueRequest(params)
3118//
3119//    err := req.Send()
3120//    if err == nil { // resp is now filled
3121//        fmt.Println(resp)
3122//    }
3123//
3124// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQueue
3125func (c *Connect) DescribeQueueRequest(input *DescribeQueueInput) (req *request.Request, output *DescribeQueueOutput) {
3126	op := &request.Operation{
3127		Name:       opDescribeQueue,
3128		HTTPMethod: "GET",
3129		HTTPPath:   "/queues/{InstanceId}/{QueueId}",
3130	}
3131
3132	if input == nil {
3133		input = &DescribeQueueInput{}
3134	}
3135
3136	output = &DescribeQueueOutput{}
3137	req = c.newRequest(op, input, output)
3138	return
3139}
3140
3141// DescribeQueue API operation for Amazon Connect Service.
3142//
3143// This API is in preview release for Amazon Connect and is subject to change.
3144//
3145// Describes the specified queue.
3146//
3147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3148// with awserr.Error's Code and Message methods to get detailed information about
3149// the error.
3150//
3151// See the AWS API reference guide for Amazon Connect Service's
3152// API operation DescribeQueue for usage and error information.
3153//
3154// Returned Error Types:
3155//   * InvalidRequestException
3156//   The request is not valid.
3157//
3158//   * InvalidParameterException
3159//   One or more of the specified parameters are not valid.
3160//
3161//   * ResourceNotFoundException
3162//   The specified resource was not found.
3163//
3164//   * ThrottlingException
3165//   The throttling limit has been exceeded.
3166//
3167//   * InternalServiceException
3168//   Request processing failed because of an error or failure with the service.
3169//
3170// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQueue
3171func (c *Connect) DescribeQueue(input *DescribeQueueInput) (*DescribeQueueOutput, error) {
3172	req, out := c.DescribeQueueRequest(input)
3173	return out, req.Send()
3174}
3175
3176// DescribeQueueWithContext is the same as DescribeQueue with the addition of
3177// the ability to pass a context and additional request options.
3178//
3179// See DescribeQueue for details on how to use this API operation.
3180//
3181// The context must be non-nil and will be used for request cancellation. If
3182// the context is nil a panic will occur. In the future the SDK may create
3183// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3184// for more information on using Contexts.
3185func (c *Connect) DescribeQueueWithContext(ctx aws.Context, input *DescribeQueueInput, opts ...request.Option) (*DescribeQueueOutput, error) {
3186	req, out := c.DescribeQueueRequest(input)
3187	req.SetContext(ctx)
3188	req.ApplyOptions(opts...)
3189	return out, req.Send()
3190}
3191
3192const opDescribeQuickConnect = "DescribeQuickConnect"
3193
3194// DescribeQuickConnectRequest generates a "aws/request.Request" representing the
3195// client's request for the DescribeQuickConnect operation. The "output" return
3196// value will be populated with the request's response once the request completes
3197// successfully.
3198//
3199// Use "Send" method on the returned Request to send the API call to the service.
3200// the "output" return value is not valid until after Send returns without error.
3201//
3202// See DescribeQuickConnect for more information on using the DescribeQuickConnect
3203// API call, and error handling.
3204//
3205// This method is useful when you want to inject custom logic or configuration
3206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3207//
3208//
3209//    // Example sending a request using the DescribeQuickConnectRequest method.
3210//    req, resp := client.DescribeQuickConnectRequest(params)
3211//
3212//    err := req.Send()
3213//    if err == nil { // resp is now filled
3214//        fmt.Println(resp)
3215//    }
3216//
3217// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQuickConnect
3218func (c *Connect) DescribeQuickConnectRequest(input *DescribeQuickConnectInput) (req *request.Request, output *DescribeQuickConnectOutput) {
3219	op := &request.Operation{
3220		Name:       opDescribeQuickConnect,
3221		HTTPMethod: "GET",
3222		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}",
3223	}
3224
3225	if input == nil {
3226		input = &DescribeQuickConnectInput{}
3227	}
3228
3229	output = &DescribeQuickConnectOutput{}
3230	req = c.newRequest(op, input, output)
3231	return
3232}
3233
3234// DescribeQuickConnect API operation for Amazon Connect Service.
3235//
3236// Describes the quick connect.
3237//
3238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3239// with awserr.Error's Code and Message methods to get detailed information about
3240// the error.
3241//
3242// See the AWS API reference guide for Amazon Connect Service's
3243// API operation DescribeQuickConnect for usage and error information.
3244//
3245// Returned Error Types:
3246//   * InvalidRequestException
3247//   The request is not valid.
3248//
3249//   * InvalidParameterException
3250//   One or more of the specified parameters are not valid.
3251//
3252//   * ResourceNotFoundException
3253//   The specified resource was not found.
3254//
3255//   * ThrottlingException
3256//   The throttling limit has been exceeded.
3257//
3258//   * InternalServiceException
3259//   Request processing failed because of an error or failure with the service.
3260//
3261// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQuickConnect
3262func (c *Connect) DescribeQuickConnect(input *DescribeQuickConnectInput) (*DescribeQuickConnectOutput, error) {
3263	req, out := c.DescribeQuickConnectRequest(input)
3264	return out, req.Send()
3265}
3266
3267// DescribeQuickConnectWithContext is the same as DescribeQuickConnect with the addition of
3268// the ability to pass a context and additional request options.
3269//
3270// See DescribeQuickConnect for details on how to use this API operation.
3271//
3272// The context must be non-nil and will be used for request cancellation. If
3273// the context is nil a panic will occur. In the future the SDK may create
3274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3275// for more information on using Contexts.
3276func (c *Connect) DescribeQuickConnectWithContext(ctx aws.Context, input *DescribeQuickConnectInput, opts ...request.Option) (*DescribeQuickConnectOutput, error) {
3277	req, out := c.DescribeQuickConnectRequest(input)
3278	req.SetContext(ctx)
3279	req.ApplyOptions(opts...)
3280	return out, req.Send()
3281}
3282
3283const opDescribeRoutingProfile = "DescribeRoutingProfile"
3284
3285// DescribeRoutingProfileRequest generates a "aws/request.Request" representing the
3286// client's request for the DescribeRoutingProfile operation. The "output" return
3287// value will be populated with the request's response once the request completes
3288// successfully.
3289//
3290// Use "Send" method on the returned Request to send the API call to the service.
3291// the "output" return value is not valid until after Send returns without error.
3292//
3293// See DescribeRoutingProfile for more information on using the DescribeRoutingProfile
3294// API call, and error handling.
3295//
3296// This method is useful when you want to inject custom logic or configuration
3297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3298//
3299//
3300//    // Example sending a request using the DescribeRoutingProfileRequest method.
3301//    req, resp := client.DescribeRoutingProfileRequest(params)
3302//
3303//    err := req.Send()
3304//    if err == nil { // resp is now filled
3305//        fmt.Println(resp)
3306//    }
3307//
3308// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeRoutingProfile
3309func (c *Connect) DescribeRoutingProfileRequest(input *DescribeRoutingProfileInput) (req *request.Request, output *DescribeRoutingProfileOutput) {
3310	op := &request.Operation{
3311		Name:       opDescribeRoutingProfile,
3312		HTTPMethod: "GET",
3313		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}",
3314	}
3315
3316	if input == nil {
3317		input = &DescribeRoutingProfileInput{}
3318	}
3319
3320	output = &DescribeRoutingProfileOutput{}
3321	req = c.newRequest(op, input, output)
3322	return
3323}
3324
3325// DescribeRoutingProfile API operation for Amazon Connect Service.
3326//
3327// Describes the specified routing profile.
3328//
3329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3330// with awserr.Error's Code and Message methods to get detailed information about
3331// the error.
3332//
3333// See the AWS API reference guide for Amazon Connect Service's
3334// API operation DescribeRoutingProfile for usage and error information.
3335//
3336// Returned Error Types:
3337//   * InvalidRequestException
3338//   The request is not valid.
3339//
3340//   * InvalidParameterException
3341//   One or more of the specified parameters are not valid.
3342//
3343//   * ResourceNotFoundException
3344//   The specified resource was not found.
3345//
3346//   * ThrottlingException
3347//   The throttling limit has been exceeded.
3348//
3349//   * InternalServiceException
3350//   Request processing failed because of an error or failure with the service.
3351//
3352// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeRoutingProfile
3353func (c *Connect) DescribeRoutingProfile(input *DescribeRoutingProfileInput) (*DescribeRoutingProfileOutput, error) {
3354	req, out := c.DescribeRoutingProfileRequest(input)
3355	return out, req.Send()
3356}
3357
3358// DescribeRoutingProfileWithContext is the same as DescribeRoutingProfile with the addition of
3359// the ability to pass a context and additional request options.
3360//
3361// See DescribeRoutingProfile for details on how to use this API operation.
3362//
3363// The context must be non-nil and will be used for request cancellation. If
3364// the context is nil a panic will occur. In the future the SDK may create
3365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3366// for more information on using Contexts.
3367func (c *Connect) DescribeRoutingProfileWithContext(ctx aws.Context, input *DescribeRoutingProfileInput, opts ...request.Option) (*DescribeRoutingProfileOutput, error) {
3368	req, out := c.DescribeRoutingProfileRequest(input)
3369	req.SetContext(ctx)
3370	req.ApplyOptions(opts...)
3371	return out, req.Send()
3372}
3373
3374const opDescribeUser = "DescribeUser"
3375
3376// DescribeUserRequest generates a "aws/request.Request" representing the
3377// client's request for the DescribeUser operation. The "output" return
3378// value will be populated with the request's response once the request completes
3379// successfully.
3380//
3381// Use "Send" method on the returned Request to send the API call to the service.
3382// the "output" return value is not valid until after Send returns without error.
3383//
3384// See DescribeUser for more information on using the DescribeUser
3385// API call, and error handling.
3386//
3387// This method is useful when you want to inject custom logic or configuration
3388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3389//
3390//
3391//    // Example sending a request using the DescribeUserRequest method.
3392//    req, resp := client.DescribeUserRequest(params)
3393//
3394//    err := req.Send()
3395//    if err == nil { // resp is now filled
3396//        fmt.Println(resp)
3397//    }
3398//
3399// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser
3400func (c *Connect) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) {
3401	op := &request.Operation{
3402		Name:       opDescribeUser,
3403		HTTPMethod: "GET",
3404		HTTPPath:   "/users/{InstanceId}/{UserId}",
3405	}
3406
3407	if input == nil {
3408		input = &DescribeUserInput{}
3409	}
3410
3411	output = &DescribeUserOutput{}
3412	req = c.newRequest(op, input, output)
3413	return
3414}
3415
3416// DescribeUser API operation for Amazon Connect Service.
3417//
3418// Describes the specified user account. You can find the instance ID in the
3419// console (it’s the final part of the ARN). The console does not display
3420// the user IDs. Instead, list the users and note the IDs provided in the output.
3421//
3422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3423// with awserr.Error's Code and Message methods to get detailed information about
3424// the error.
3425//
3426// See the AWS API reference guide for Amazon Connect Service's
3427// API operation DescribeUser for usage and error information.
3428//
3429// Returned Error Types:
3430//   * InvalidRequestException
3431//   The request is not valid.
3432//
3433//   * InvalidParameterException
3434//   One or more of the specified parameters are not valid.
3435//
3436//   * ResourceNotFoundException
3437//   The specified resource was not found.
3438//
3439//   * ThrottlingException
3440//   The throttling limit has been exceeded.
3441//
3442//   * InternalServiceException
3443//   Request processing failed because of an error or failure with the service.
3444//
3445// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser
3446func (c *Connect) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) {
3447	req, out := c.DescribeUserRequest(input)
3448	return out, req.Send()
3449}
3450
3451// DescribeUserWithContext is the same as DescribeUser with the addition of
3452// the ability to pass a context and additional request options.
3453//
3454// See DescribeUser for details on how to use this API operation.
3455//
3456// The context must be non-nil and will be used for request cancellation. If
3457// the context is nil a panic will occur. In the future the SDK may create
3458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3459// for more information on using Contexts.
3460func (c *Connect) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) {
3461	req, out := c.DescribeUserRequest(input)
3462	req.SetContext(ctx)
3463	req.ApplyOptions(opts...)
3464	return out, req.Send()
3465}
3466
3467const opDescribeUserHierarchyGroup = "DescribeUserHierarchyGroup"
3468
3469// DescribeUserHierarchyGroupRequest generates a "aws/request.Request" representing the
3470// client's request for the DescribeUserHierarchyGroup operation. The "output" return
3471// value will be populated with the request's response once the request completes
3472// successfully.
3473//
3474// Use "Send" method on the returned Request to send the API call to the service.
3475// the "output" return value is not valid until after Send returns without error.
3476//
3477// See DescribeUserHierarchyGroup for more information on using the DescribeUserHierarchyGroup
3478// API call, and error handling.
3479//
3480// This method is useful when you want to inject custom logic or configuration
3481// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3482//
3483//
3484//    // Example sending a request using the DescribeUserHierarchyGroupRequest method.
3485//    req, resp := client.DescribeUserHierarchyGroupRequest(params)
3486//
3487//    err := req.Send()
3488//    if err == nil { // resp is now filled
3489//        fmt.Println(resp)
3490//    }
3491//
3492// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup
3493func (c *Connect) DescribeUserHierarchyGroupRequest(input *DescribeUserHierarchyGroupInput) (req *request.Request, output *DescribeUserHierarchyGroupOutput) {
3494	op := &request.Operation{
3495		Name:       opDescribeUserHierarchyGroup,
3496		HTTPMethod: "GET",
3497		HTTPPath:   "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}",
3498	}
3499
3500	if input == nil {
3501		input = &DescribeUserHierarchyGroupInput{}
3502	}
3503
3504	output = &DescribeUserHierarchyGroupOutput{}
3505	req = c.newRequest(op, input, output)
3506	return
3507}
3508
3509// DescribeUserHierarchyGroup API operation for Amazon Connect Service.
3510//
3511// Describes the specified hierarchy group.
3512//
3513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3514// with awserr.Error's Code and Message methods to get detailed information about
3515// the error.
3516//
3517// See the AWS API reference guide for Amazon Connect Service's
3518// API operation DescribeUserHierarchyGroup for usage and error information.
3519//
3520// Returned Error Types:
3521//   * InvalidRequestException
3522//   The request is not valid.
3523//
3524//   * InvalidParameterException
3525//   One or more of the specified parameters are not valid.
3526//
3527//   * ResourceNotFoundException
3528//   The specified resource was not found.
3529//
3530//   * ThrottlingException
3531//   The throttling limit has been exceeded.
3532//
3533//   * InternalServiceException
3534//   Request processing failed because of an error or failure with the service.
3535//
3536// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup
3537func (c *Connect) DescribeUserHierarchyGroup(input *DescribeUserHierarchyGroupInput) (*DescribeUserHierarchyGroupOutput, error) {
3538	req, out := c.DescribeUserHierarchyGroupRequest(input)
3539	return out, req.Send()
3540}
3541
3542// DescribeUserHierarchyGroupWithContext is the same as DescribeUserHierarchyGroup with the addition of
3543// the ability to pass a context and additional request options.
3544//
3545// See DescribeUserHierarchyGroup for details on how to use this API operation.
3546//
3547// The context must be non-nil and will be used for request cancellation. If
3548// the context is nil a panic will occur. In the future the SDK may create
3549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3550// for more information on using Contexts.
3551func (c *Connect) DescribeUserHierarchyGroupWithContext(ctx aws.Context, input *DescribeUserHierarchyGroupInput, opts ...request.Option) (*DescribeUserHierarchyGroupOutput, error) {
3552	req, out := c.DescribeUserHierarchyGroupRequest(input)
3553	req.SetContext(ctx)
3554	req.ApplyOptions(opts...)
3555	return out, req.Send()
3556}
3557
3558const opDescribeUserHierarchyStructure = "DescribeUserHierarchyStructure"
3559
3560// DescribeUserHierarchyStructureRequest generates a "aws/request.Request" representing the
3561// client's request for the DescribeUserHierarchyStructure operation. The "output" return
3562// value will be populated with the request's response once the request completes
3563// successfully.
3564//
3565// Use "Send" method on the returned Request to send the API call to the service.
3566// the "output" return value is not valid until after Send returns without error.
3567//
3568// See DescribeUserHierarchyStructure for more information on using the DescribeUserHierarchyStructure
3569// API call, and error handling.
3570//
3571// This method is useful when you want to inject custom logic or configuration
3572// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3573//
3574//
3575//    // Example sending a request using the DescribeUserHierarchyStructureRequest method.
3576//    req, resp := client.DescribeUserHierarchyStructureRequest(params)
3577//
3578//    err := req.Send()
3579//    if err == nil { // resp is now filled
3580//        fmt.Println(resp)
3581//    }
3582//
3583// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure
3584func (c *Connect) DescribeUserHierarchyStructureRequest(input *DescribeUserHierarchyStructureInput) (req *request.Request, output *DescribeUserHierarchyStructureOutput) {
3585	op := &request.Operation{
3586		Name:       opDescribeUserHierarchyStructure,
3587		HTTPMethod: "GET",
3588		HTTPPath:   "/user-hierarchy-structure/{InstanceId}",
3589	}
3590
3591	if input == nil {
3592		input = &DescribeUserHierarchyStructureInput{}
3593	}
3594
3595	output = &DescribeUserHierarchyStructureOutput{}
3596	req = c.newRequest(op, input, output)
3597	return
3598}
3599
3600// DescribeUserHierarchyStructure API operation for Amazon Connect Service.
3601//
3602// Describes the hierarchy structure of the specified Amazon Connect instance.
3603//
3604// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3605// with awserr.Error's Code and Message methods to get detailed information about
3606// the error.
3607//
3608// See the AWS API reference guide for Amazon Connect Service's
3609// API operation DescribeUserHierarchyStructure for usage and error information.
3610//
3611// Returned Error Types:
3612//   * InvalidRequestException
3613//   The request is not valid.
3614//
3615//   * InvalidParameterException
3616//   One or more of the specified parameters are not valid.
3617//
3618//   * ResourceNotFoundException
3619//   The specified resource was not found.
3620//
3621//   * ThrottlingException
3622//   The throttling limit has been exceeded.
3623//
3624//   * InternalServiceException
3625//   Request processing failed because of an error or failure with the service.
3626//
3627// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure
3628func (c *Connect) DescribeUserHierarchyStructure(input *DescribeUserHierarchyStructureInput) (*DescribeUserHierarchyStructureOutput, error) {
3629	req, out := c.DescribeUserHierarchyStructureRequest(input)
3630	return out, req.Send()
3631}
3632
3633// DescribeUserHierarchyStructureWithContext is the same as DescribeUserHierarchyStructure with the addition of
3634// the ability to pass a context and additional request options.
3635//
3636// See DescribeUserHierarchyStructure for details on how to use this API operation.
3637//
3638// The context must be non-nil and will be used for request cancellation. If
3639// the context is nil a panic will occur. In the future the SDK may create
3640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3641// for more information on using Contexts.
3642func (c *Connect) DescribeUserHierarchyStructureWithContext(ctx aws.Context, input *DescribeUserHierarchyStructureInput, opts ...request.Option) (*DescribeUserHierarchyStructureOutput, error) {
3643	req, out := c.DescribeUserHierarchyStructureRequest(input)
3644	req.SetContext(ctx)
3645	req.ApplyOptions(opts...)
3646	return out, req.Send()
3647}
3648
3649const opDisassociateApprovedOrigin = "DisassociateApprovedOrigin"
3650
3651// DisassociateApprovedOriginRequest generates a "aws/request.Request" representing the
3652// client's request for the DisassociateApprovedOrigin operation. The "output" return
3653// value will be populated with the request's response once the request completes
3654// successfully.
3655//
3656// Use "Send" method on the returned Request to send the API call to the service.
3657// the "output" return value is not valid until after Send returns without error.
3658//
3659// See DisassociateApprovedOrigin for more information on using the DisassociateApprovedOrigin
3660// API call, and error handling.
3661//
3662// This method is useful when you want to inject custom logic or configuration
3663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3664//
3665//
3666//    // Example sending a request using the DisassociateApprovedOriginRequest method.
3667//    req, resp := client.DisassociateApprovedOriginRequest(params)
3668//
3669//    err := req.Send()
3670//    if err == nil { // resp is now filled
3671//        fmt.Println(resp)
3672//    }
3673//
3674// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateApprovedOrigin
3675func (c *Connect) DisassociateApprovedOriginRequest(input *DisassociateApprovedOriginInput) (req *request.Request, output *DisassociateApprovedOriginOutput) {
3676	op := &request.Operation{
3677		Name:       opDisassociateApprovedOrigin,
3678		HTTPMethod: "DELETE",
3679		HTTPPath:   "/instance/{InstanceId}/approved-origin",
3680	}
3681
3682	if input == nil {
3683		input = &DisassociateApprovedOriginInput{}
3684	}
3685
3686	output = &DisassociateApprovedOriginOutput{}
3687	req = c.newRequest(op, input, output)
3688	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3689	return
3690}
3691
3692// DisassociateApprovedOrigin API operation for Amazon Connect Service.
3693//
3694// This API is in preview release for Amazon Connect and is subject to change.
3695//
3696// Revokes access to integrated applications from Amazon Connect.
3697//
3698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3699// with awserr.Error's Code and Message methods to get detailed information about
3700// the error.
3701//
3702// See the AWS API reference guide for Amazon Connect Service's
3703// API operation DisassociateApprovedOrigin for usage and error information.
3704//
3705// Returned Error Types:
3706//   * ResourceNotFoundException
3707//   The specified resource was not found.
3708//
3709//   * InternalServiceException
3710//   Request processing failed because of an error or failure with the service.
3711//
3712//   * InvalidRequestException
3713//   The request is not valid.
3714//
3715//   * InvalidParameterException
3716//   One or more of the specified parameters are not valid.
3717//
3718//   * ThrottlingException
3719//   The throttling limit has been exceeded.
3720//
3721// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateApprovedOrigin
3722func (c *Connect) DisassociateApprovedOrigin(input *DisassociateApprovedOriginInput) (*DisassociateApprovedOriginOutput, error) {
3723	req, out := c.DisassociateApprovedOriginRequest(input)
3724	return out, req.Send()
3725}
3726
3727// DisassociateApprovedOriginWithContext is the same as DisassociateApprovedOrigin with the addition of
3728// the ability to pass a context and additional request options.
3729//
3730// See DisassociateApprovedOrigin for details on how to use this API operation.
3731//
3732// The context must be non-nil and will be used for request cancellation. If
3733// the context is nil a panic will occur. In the future the SDK may create
3734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3735// for more information on using Contexts.
3736func (c *Connect) DisassociateApprovedOriginWithContext(ctx aws.Context, input *DisassociateApprovedOriginInput, opts ...request.Option) (*DisassociateApprovedOriginOutput, error) {
3737	req, out := c.DisassociateApprovedOriginRequest(input)
3738	req.SetContext(ctx)
3739	req.ApplyOptions(opts...)
3740	return out, req.Send()
3741}
3742
3743const opDisassociateBot = "DisassociateBot"
3744
3745// DisassociateBotRequest generates a "aws/request.Request" representing the
3746// client's request for the DisassociateBot operation. The "output" return
3747// value will be populated with the request's response once the request completes
3748// successfully.
3749//
3750// Use "Send" method on the returned Request to send the API call to the service.
3751// the "output" return value is not valid until after Send returns without error.
3752//
3753// See DisassociateBot for more information on using the DisassociateBot
3754// API call, and error handling.
3755//
3756// This method is useful when you want to inject custom logic or configuration
3757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3758//
3759//
3760//    // Example sending a request using the DisassociateBotRequest method.
3761//    req, resp := client.DisassociateBotRequest(params)
3762//
3763//    err := req.Send()
3764//    if err == nil { // resp is now filled
3765//        fmt.Println(resp)
3766//    }
3767//
3768// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateBot
3769func (c *Connect) DisassociateBotRequest(input *DisassociateBotInput) (req *request.Request, output *DisassociateBotOutput) {
3770	op := &request.Operation{
3771		Name:       opDisassociateBot,
3772		HTTPMethod: "POST",
3773		HTTPPath:   "/instance/{InstanceId}/bot",
3774	}
3775
3776	if input == nil {
3777		input = &DisassociateBotInput{}
3778	}
3779
3780	output = &DisassociateBotOutput{}
3781	req = c.newRequest(op, input, output)
3782	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3783	return
3784}
3785
3786// DisassociateBot API operation for Amazon Connect Service.
3787//
3788// This API is in preview release for Amazon Connect and is subject to change.
3789//
3790// Revokes authorization from the specified instance to access the specified
3791// Amazon Lex or Amazon Lex V2 bot.
3792//
3793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3794// with awserr.Error's Code and Message methods to get detailed information about
3795// the error.
3796//
3797// See the AWS API reference guide for Amazon Connect Service's
3798// API operation DisassociateBot for usage and error information.
3799//
3800// Returned Error Types:
3801//   * ResourceNotFoundException
3802//   The specified resource was not found.
3803//
3804//   * InternalServiceException
3805//   Request processing failed because of an error or failure with the service.
3806//
3807//   * InvalidRequestException
3808//   The request is not valid.
3809//
3810//   * ThrottlingException
3811//   The throttling limit has been exceeded.
3812//
3813// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateBot
3814func (c *Connect) DisassociateBot(input *DisassociateBotInput) (*DisassociateBotOutput, error) {
3815	req, out := c.DisassociateBotRequest(input)
3816	return out, req.Send()
3817}
3818
3819// DisassociateBotWithContext is the same as DisassociateBot with the addition of
3820// the ability to pass a context and additional request options.
3821//
3822// See DisassociateBot for details on how to use this API operation.
3823//
3824// The context must be non-nil and will be used for request cancellation. If
3825// the context is nil a panic will occur. In the future the SDK may create
3826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3827// for more information on using Contexts.
3828func (c *Connect) DisassociateBotWithContext(ctx aws.Context, input *DisassociateBotInput, opts ...request.Option) (*DisassociateBotOutput, error) {
3829	req, out := c.DisassociateBotRequest(input)
3830	req.SetContext(ctx)
3831	req.ApplyOptions(opts...)
3832	return out, req.Send()
3833}
3834
3835const opDisassociateInstanceStorageConfig = "DisassociateInstanceStorageConfig"
3836
3837// DisassociateInstanceStorageConfigRequest generates a "aws/request.Request" representing the
3838// client's request for the DisassociateInstanceStorageConfig operation. The "output" return
3839// value will be populated with the request's response once the request completes
3840// successfully.
3841//
3842// Use "Send" method on the returned Request to send the API call to the service.
3843// the "output" return value is not valid until after Send returns without error.
3844//
3845// See DisassociateInstanceStorageConfig for more information on using the DisassociateInstanceStorageConfig
3846// API call, and error handling.
3847//
3848// This method is useful when you want to inject custom logic or configuration
3849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3850//
3851//
3852//    // Example sending a request using the DisassociateInstanceStorageConfigRequest method.
3853//    req, resp := client.DisassociateInstanceStorageConfigRequest(params)
3854//
3855//    err := req.Send()
3856//    if err == nil { // resp is now filled
3857//        fmt.Println(resp)
3858//    }
3859//
3860// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateInstanceStorageConfig
3861func (c *Connect) DisassociateInstanceStorageConfigRequest(input *DisassociateInstanceStorageConfigInput) (req *request.Request, output *DisassociateInstanceStorageConfigOutput) {
3862	op := &request.Operation{
3863		Name:       opDisassociateInstanceStorageConfig,
3864		HTTPMethod: "DELETE",
3865		HTTPPath:   "/instance/{InstanceId}/storage-config/{AssociationId}",
3866	}
3867
3868	if input == nil {
3869		input = &DisassociateInstanceStorageConfigInput{}
3870	}
3871
3872	output = &DisassociateInstanceStorageConfigOutput{}
3873	req = c.newRequest(op, input, output)
3874	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3875	return
3876}
3877
3878// DisassociateInstanceStorageConfig API operation for Amazon Connect Service.
3879//
3880// This API is in preview release for Amazon Connect and is subject to change.
3881//
3882// Removes the storage type configurations for the specified resource type and
3883// association ID.
3884//
3885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3886// with awserr.Error's Code and Message methods to get detailed information about
3887// the error.
3888//
3889// See the AWS API reference guide for Amazon Connect Service's
3890// API operation DisassociateInstanceStorageConfig for usage and error information.
3891//
3892// Returned Error Types:
3893//   * ResourceNotFoundException
3894//   The specified resource was not found.
3895//
3896//   * InternalServiceException
3897//   Request processing failed because of an error or failure with the service.
3898//
3899//   * InvalidRequestException
3900//   The request is not valid.
3901//
3902//   * InvalidParameterException
3903//   One or more of the specified parameters are not valid.
3904//
3905//   * ThrottlingException
3906//   The throttling limit has been exceeded.
3907//
3908// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateInstanceStorageConfig
3909func (c *Connect) DisassociateInstanceStorageConfig(input *DisassociateInstanceStorageConfigInput) (*DisassociateInstanceStorageConfigOutput, error) {
3910	req, out := c.DisassociateInstanceStorageConfigRequest(input)
3911	return out, req.Send()
3912}
3913
3914// DisassociateInstanceStorageConfigWithContext is the same as DisassociateInstanceStorageConfig with the addition of
3915// the ability to pass a context and additional request options.
3916//
3917// See DisassociateInstanceStorageConfig for details on how to use this API operation.
3918//
3919// The context must be non-nil and will be used for request cancellation. If
3920// the context is nil a panic will occur. In the future the SDK may create
3921// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3922// for more information on using Contexts.
3923func (c *Connect) DisassociateInstanceStorageConfigWithContext(ctx aws.Context, input *DisassociateInstanceStorageConfigInput, opts ...request.Option) (*DisassociateInstanceStorageConfigOutput, error) {
3924	req, out := c.DisassociateInstanceStorageConfigRequest(input)
3925	req.SetContext(ctx)
3926	req.ApplyOptions(opts...)
3927	return out, req.Send()
3928}
3929
3930const opDisassociateLambdaFunction = "DisassociateLambdaFunction"
3931
3932// DisassociateLambdaFunctionRequest generates a "aws/request.Request" representing the
3933// client's request for the DisassociateLambdaFunction operation. The "output" return
3934// value will be populated with the request's response once the request completes
3935// successfully.
3936//
3937// Use "Send" method on the returned Request to send the API call to the service.
3938// the "output" return value is not valid until after Send returns without error.
3939//
3940// See DisassociateLambdaFunction for more information on using the DisassociateLambdaFunction
3941// API call, and error handling.
3942//
3943// This method is useful when you want to inject custom logic or configuration
3944// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3945//
3946//
3947//    // Example sending a request using the DisassociateLambdaFunctionRequest method.
3948//    req, resp := client.DisassociateLambdaFunctionRequest(params)
3949//
3950//    err := req.Send()
3951//    if err == nil { // resp is now filled
3952//        fmt.Println(resp)
3953//    }
3954//
3955// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLambdaFunction
3956func (c *Connect) DisassociateLambdaFunctionRequest(input *DisassociateLambdaFunctionInput) (req *request.Request, output *DisassociateLambdaFunctionOutput) {
3957	op := &request.Operation{
3958		Name:       opDisassociateLambdaFunction,
3959		HTTPMethod: "DELETE",
3960		HTTPPath:   "/instance/{InstanceId}/lambda-function",
3961	}
3962
3963	if input == nil {
3964		input = &DisassociateLambdaFunctionInput{}
3965	}
3966
3967	output = &DisassociateLambdaFunctionOutput{}
3968	req = c.newRequest(op, input, output)
3969	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3970	return
3971}
3972
3973// DisassociateLambdaFunction API operation for Amazon Connect Service.
3974//
3975// This API is in preview release for Amazon Connect and is subject to change.
3976//
3977// Remove the Lambda function from the dropdown options available in the relevant
3978// contact flow blocks.
3979//
3980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3981// with awserr.Error's Code and Message methods to get detailed information about
3982// the error.
3983//
3984// See the AWS API reference guide for Amazon Connect Service's
3985// API operation DisassociateLambdaFunction for usage and error information.
3986//
3987// Returned Error Types:
3988//   * ResourceNotFoundException
3989//   The specified resource was not found.
3990//
3991//   * InternalServiceException
3992//   Request processing failed because of an error or failure with the service.
3993//
3994//   * InvalidRequestException
3995//   The request is not valid.
3996//
3997//   * InvalidParameterException
3998//   One or more of the specified parameters are not valid.
3999//
4000//   * ThrottlingException
4001//   The throttling limit has been exceeded.
4002//
4003// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLambdaFunction
4004func (c *Connect) DisassociateLambdaFunction(input *DisassociateLambdaFunctionInput) (*DisassociateLambdaFunctionOutput, error) {
4005	req, out := c.DisassociateLambdaFunctionRequest(input)
4006	return out, req.Send()
4007}
4008
4009// DisassociateLambdaFunctionWithContext is the same as DisassociateLambdaFunction with the addition of
4010// the ability to pass a context and additional request options.
4011//
4012// See DisassociateLambdaFunction for details on how to use this API operation.
4013//
4014// The context must be non-nil and will be used for request cancellation. If
4015// the context is nil a panic will occur. In the future the SDK may create
4016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4017// for more information on using Contexts.
4018func (c *Connect) DisassociateLambdaFunctionWithContext(ctx aws.Context, input *DisassociateLambdaFunctionInput, opts ...request.Option) (*DisassociateLambdaFunctionOutput, error) {
4019	req, out := c.DisassociateLambdaFunctionRequest(input)
4020	req.SetContext(ctx)
4021	req.ApplyOptions(opts...)
4022	return out, req.Send()
4023}
4024
4025const opDisassociateLexBot = "DisassociateLexBot"
4026
4027// DisassociateLexBotRequest generates a "aws/request.Request" representing the
4028// client's request for the DisassociateLexBot operation. The "output" return
4029// value will be populated with the request's response once the request completes
4030// successfully.
4031//
4032// Use "Send" method on the returned Request to send the API call to the service.
4033// the "output" return value is not valid until after Send returns without error.
4034//
4035// See DisassociateLexBot for more information on using the DisassociateLexBot
4036// API call, and error handling.
4037//
4038// This method is useful when you want to inject custom logic or configuration
4039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4040//
4041//
4042//    // Example sending a request using the DisassociateLexBotRequest method.
4043//    req, resp := client.DisassociateLexBotRequest(params)
4044//
4045//    err := req.Send()
4046//    if err == nil { // resp is now filled
4047//        fmt.Println(resp)
4048//    }
4049//
4050// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLexBot
4051func (c *Connect) DisassociateLexBotRequest(input *DisassociateLexBotInput) (req *request.Request, output *DisassociateLexBotOutput) {
4052	op := &request.Operation{
4053		Name:       opDisassociateLexBot,
4054		HTTPMethod: "DELETE",
4055		HTTPPath:   "/instance/{InstanceId}/lex-bot",
4056	}
4057
4058	if input == nil {
4059		input = &DisassociateLexBotInput{}
4060	}
4061
4062	output = &DisassociateLexBotOutput{}
4063	req = c.newRequest(op, input, output)
4064	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4065	return
4066}
4067
4068// DisassociateLexBot API operation for Amazon Connect Service.
4069//
4070// This API is in preview release for Amazon Connect and is subject to change.
4071//
4072// Revokes authorization from the specified instance to access the specified
4073// Amazon Lex bot.
4074//
4075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4076// with awserr.Error's Code and Message methods to get detailed information about
4077// the error.
4078//
4079// See the AWS API reference guide for Amazon Connect Service's
4080// API operation DisassociateLexBot for usage and error information.
4081//
4082// Returned Error Types:
4083//   * ResourceNotFoundException
4084//   The specified resource was not found.
4085//
4086//   * InternalServiceException
4087//   Request processing failed because of an error or failure with the service.
4088//
4089//   * InvalidRequestException
4090//   The request is not valid.
4091//
4092//   * InvalidParameterException
4093//   One or more of the specified parameters are not valid.
4094//
4095//   * ThrottlingException
4096//   The throttling limit has been exceeded.
4097//
4098// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLexBot
4099func (c *Connect) DisassociateLexBot(input *DisassociateLexBotInput) (*DisassociateLexBotOutput, error) {
4100	req, out := c.DisassociateLexBotRequest(input)
4101	return out, req.Send()
4102}
4103
4104// DisassociateLexBotWithContext is the same as DisassociateLexBot with the addition of
4105// the ability to pass a context and additional request options.
4106//
4107// See DisassociateLexBot for details on how to use this API operation.
4108//
4109// The context must be non-nil and will be used for request cancellation. If
4110// the context is nil a panic will occur. In the future the SDK may create
4111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4112// for more information on using Contexts.
4113func (c *Connect) DisassociateLexBotWithContext(ctx aws.Context, input *DisassociateLexBotInput, opts ...request.Option) (*DisassociateLexBotOutput, error) {
4114	req, out := c.DisassociateLexBotRequest(input)
4115	req.SetContext(ctx)
4116	req.ApplyOptions(opts...)
4117	return out, req.Send()
4118}
4119
4120const opDisassociateQueueQuickConnects = "DisassociateQueueQuickConnects"
4121
4122// DisassociateQueueQuickConnectsRequest generates a "aws/request.Request" representing the
4123// client's request for the DisassociateQueueQuickConnects operation. The "output" return
4124// value will be populated with the request's response once the request completes
4125// successfully.
4126//
4127// Use "Send" method on the returned Request to send the API call to the service.
4128// the "output" return value is not valid until after Send returns without error.
4129//
4130// See DisassociateQueueQuickConnects for more information on using the DisassociateQueueQuickConnects
4131// API call, and error handling.
4132//
4133// This method is useful when you want to inject custom logic or configuration
4134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4135//
4136//
4137//    // Example sending a request using the DisassociateQueueQuickConnectsRequest method.
4138//    req, resp := client.DisassociateQueueQuickConnectsRequest(params)
4139//
4140//    err := req.Send()
4141//    if err == nil { // resp is now filled
4142//        fmt.Println(resp)
4143//    }
4144//
4145// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateQueueQuickConnects
4146func (c *Connect) DisassociateQueueQuickConnectsRequest(input *DisassociateQueueQuickConnectsInput) (req *request.Request, output *DisassociateQueueQuickConnectsOutput) {
4147	op := &request.Operation{
4148		Name:       opDisassociateQueueQuickConnects,
4149		HTTPMethod: "POST",
4150		HTTPPath:   "/queues/{InstanceId}/{QueueId}/disassociate-quick-connects",
4151	}
4152
4153	if input == nil {
4154		input = &DisassociateQueueQuickConnectsInput{}
4155	}
4156
4157	output = &DisassociateQueueQuickConnectsOutput{}
4158	req = c.newRequest(op, input, output)
4159	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4160	return
4161}
4162
4163// DisassociateQueueQuickConnects API operation for Amazon Connect Service.
4164//
4165// This API is in preview release for Amazon Connect and is subject to change.
4166//
4167// Disassociates a set of quick connects from a queue.
4168//
4169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4170// with awserr.Error's Code and Message methods to get detailed information about
4171// the error.
4172//
4173// See the AWS API reference guide for Amazon Connect Service's
4174// API operation DisassociateQueueQuickConnects for usage and error information.
4175//
4176// Returned Error Types:
4177//   * InvalidRequestException
4178//   The request is not valid.
4179//
4180//   * InvalidParameterException
4181//   One or more of the specified parameters are not valid.
4182//
4183//   * ResourceNotFoundException
4184//   The specified resource was not found.
4185//
4186//   * ThrottlingException
4187//   The throttling limit has been exceeded.
4188//
4189//   * InternalServiceException
4190//   Request processing failed because of an error or failure with the service.
4191//
4192// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateQueueQuickConnects
4193func (c *Connect) DisassociateQueueQuickConnects(input *DisassociateQueueQuickConnectsInput) (*DisassociateQueueQuickConnectsOutput, error) {
4194	req, out := c.DisassociateQueueQuickConnectsRequest(input)
4195	return out, req.Send()
4196}
4197
4198// DisassociateQueueQuickConnectsWithContext is the same as DisassociateQueueQuickConnects with the addition of
4199// the ability to pass a context and additional request options.
4200//
4201// See DisassociateQueueQuickConnects for details on how to use this API operation.
4202//
4203// The context must be non-nil and will be used for request cancellation. If
4204// the context is nil a panic will occur. In the future the SDK may create
4205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4206// for more information on using Contexts.
4207func (c *Connect) DisassociateQueueQuickConnectsWithContext(ctx aws.Context, input *DisassociateQueueQuickConnectsInput, opts ...request.Option) (*DisassociateQueueQuickConnectsOutput, error) {
4208	req, out := c.DisassociateQueueQuickConnectsRequest(input)
4209	req.SetContext(ctx)
4210	req.ApplyOptions(opts...)
4211	return out, req.Send()
4212}
4213
4214const opDisassociateRoutingProfileQueues = "DisassociateRoutingProfileQueues"
4215
4216// DisassociateRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
4217// client's request for the DisassociateRoutingProfileQueues operation. The "output" return
4218// value will be populated with the request's response once the request completes
4219// successfully.
4220//
4221// Use "Send" method on the returned Request to send the API call to the service.
4222// the "output" return value is not valid until after Send returns without error.
4223//
4224// See DisassociateRoutingProfileQueues for more information on using the DisassociateRoutingProfileQueues
4225// API call, and error handling.
4226//
4227// This method is useful when you want to inject custom logic or configuration
4228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4229//
4230//
4231//    // Example sending a request using the DisassociateRoutingProfileQueuesRequest method.
4232//    req, resp := client.DisassociateRoutingProfileQueuesRequest(params)
4233//
4234//    err := req.Send()
4235//    if err == nil { // resp is now filled
4236//        fmt.Println(resp)
4237//    }
4238//
4239// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateRoutingProfileQueues
4240func (c *Connect) DisassociateRoutingProfileQueuesRequest(input *DisassociateRoutingProfileQueuesInput) (req *request.Request, output *DisassociateRoutingProfileQueuesOutput) {
4241	op := &request.Operation{
4242		Name:       opDisassociateRoutingProfileQueues,
4243		HTTPMethod: "POST",
4244		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/disassociate-queues",
4245	}
4246
4247	if input == nil {
4248		input = &DisassociateRoutingProfileQueuesInput{}
4249	}
4250
4251	output = &DisassociateRoutingProfileQueuesOutput{}
4252	req = c.newRequest(op, input, output)
4253	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4254	return
4255}
4256
4257// DisassociateRoutingProfileQueues API operation for Amazon Connect Service.
4258//
4259// Disassociates a set of queues from a routing profile.
4260//
4261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4262// with awserr.Error's Code and Message methods to get detailed information about
4263// the error.
4264//
4265// See the AWS API reference guide for Amazon Connect Service's
4266// API operation DisassociateRoutingProfileQueues for usage and error information.
4267//
4268// Returned Error Types:
4269//   * InvalidRequestException
4270//   The request is not valid.
4271//
4272//   * InvalidParameterException
4273//   One or more of the specified parameters are not valid.
4274//
4275//   * ResourceNotFoundException
4276//   The specified resource was not found.
4277//
4278//   * ThrottlingException
4279//   The throttling limit has been exceeded.
4280//
4281//   * InternalServiceException
4282//   Request processing failed because of an error or failure with the service.
4283//
4284// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateRoutingProfileQueues
4285func (c *Connect) DisassociateRoutingProfileQueues(input *DisassociateRoutingProfileQueuesInput) (*DisassociateRoutingProfileQueuesOutput, error) {
4286	req, out := c.DisassociateRoutingProfileQueuesRequest(input)
4287	return out, req.Send()
4288}
4289
4290// DisassociateRoutingProfileQueuesWithContext is the same as DisassociateRoutingProfileQueues with the addition of
4291// the ability to pass a context and additional request options.
4292//
4293// See DisassociateRoutingProfileQueues for details on how to use this API operation.
4294//
4295// The context must be non-nil and will be used for request cancellation. If
4296// the context is nil a panic will occur. In the future the SDK may create
4297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4298// for more information on using Contexts.
4299func (c *Connect) DisassociateRoutingProfileQueuesWithContext(ctx aws.Context, input *DisassociateRoutingProfileQueuesInput, opts ...request.Option) (*DisassociateRoutingProfileQueuesOutput, error) {
4300	req, out := c.DisassociateRoutingProfileQueuesRequest(input)
4301	req.SetContext(ctx)
4302	req.ApplyOptions(opts...)
4303	return out, req.Send()
4304}
4305
4306const opDisassociateSecurityKey = "DisassociateSecurityKey"
4307
4308// DisassociateSecurityKeyRequest generates a "aws/request.Request" representing the
4309// client's request for the DisassociateSecurityKey operation. The "output" return
4310// value will be populated with the request's response once the request completes
4311// successfully.
4312//
4313// Use "Send" method on the returned Request to send the API call to the service.
4314// the "output" return value is not valid until after Send returns without error.
4315//
4316// See DisassociateSecurityKey for more information on using the DisassociateSecurityKey
4317// API call, and error handling.
4318//
4319// This method is useful when you want to inject custom logic or configuration
4320// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4321//
4322//
4323//    // Example sending a request using the DisassociateSecurityKeyRequest method.
4324//    req, resp := client.DisassociateSecurityKeyRequest(params)
4325//
4326//    err := req.Send()
4327//    if err == nil { // resp is now filled
4328//        fmt.Println(resp)
4329//    }
4330//
4331// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateSecurityKey
4332func (c *Connect) DisassociateSecurityKeyRequest(input *DisassociateSecurityKeyInput) (req *request.Request, output *DisassociateSecurityKeyOutput) {
4333	op := &request.Operation{
4334		Name:       opDisassociateSecurityKey,
4335		HTTPMethod: "DELETE",
4336		HTTPPath:   "/instance/{InstanceId}/security-key/{AssociationId}",
4337	}
4338
4339	if input == nil {
4340		input = &DisassociateSecurityKeyInput{}
4341	}
4342
4343	output = &DisassociateSecurityKeyOutput{}
4344	req = c.newRequest(op, input, output)
4345	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4346	return
4347}
4348
4349// DisassociateSecurityKey API operation for Amazon Connect Service.
4350//
4351// This API is in preview release for Amazon Connect and is subject to change.
4352//
4353// Deletes the specified security key.
4354//
4355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4356// with awserr.Error's Code and Message methods to get detailed information about
4357// the error.
4358//
4359// See the AWS API reference guide for Amazon Connect Service's
4360// API operation DisassociateSecurityKey for usage and error information.
4361//
4362// Returned Error Types:
4363//   * ResourceNotFoundException
4364//   The specified resource was not found.
4365//
4366//   * InternalServiceException
4367//   Request processing failed because of an error or failure with the service.
4368//
4369//   * InvalidRequestException
4370//   The request is not valid.
4371//
4372//   * InvalidParameterException
4373//   One or more of the specified parameters are not valid.
4374//
4375//   * ThrottlingException
4376//   The throttling limit has been exceeded.
4377//
4378// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateSecurityKey
4379func (c *Connect) DisassociateSecurityKey(input *DisassociateSecurityKeyInput) (*DisassociateSecurityKeyOutput, error) {
4380	req, out := c.DisassociateSecurityKeyRequest(input)
4381	return out, req.Send()
4382}
4383
4384// DisassociateSecurityKeyWithContext is the same as DisassociateSecurityKey with the addition of
4385// the ability to pass a context and additional request options.
4386//
4387// See DisassociateSecurityKey for details on how to use this API operation.
4388//
4389// The context must be non-nil and will be used for request cancellation. If
4390// the context is nil a panic will occur. In the future the SDK may create
4391// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4392// for more information on using Contexts.
4393func (c *Connect) DisassociateSecurityKeyWithContext(ctx aws.Context, input *DisassociateSecurityKeyInput, opts ...request.Option) (*DisassociateSecurityKeyOutput, error) {
4394	req, out := c.DisassociateSecurityKeyRequest(input)
4395	req.SetContext(ctx)
4396	req.ApplyOptions(opts...)
4397	return out, req.Send()
4398}
4399
4400const opGetContactAttributes = "GetContactAttributes"
4401
4402// GetContactAttributesRequest generates a "aws/request.Request" representing the
4403// client's request for the GetContactAttributes operation. The "output" return
4404// value will be populated with the request's response once the request completes
4405// successfully.
4406//
4407// Use "Send" method on the returned Request to send the API call to the service.
4408// the "output" return value is not valid until after Send returns without error.
4409//
4410// See GetContactAttributes for more information on using the GetContactAttributes
4411// API call, and error handling.
4412//
4413// This method is useful when you want to inject custom logic or configuration
4414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4415//
4416//
4417//    // Example sending a request using the GetContactAttributesRequest method.
4418//    req, resp := client.GetContactAttributesRequest(params)
4419//
4420//    err := req.Send()
4421//    if err == nil { // resp is now filled
4422//        fmt.Println(resp)
4423//    }
4424//
4425// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes
4426func (c *Connect) GetContactAttributesRequest(input *GetContactAttributesInput) (req *request.Request, output *GetContactAttributesOutput) {
4427	op := &request.Operation{
4428		Name:       opGetContactAttributes,
4429		HTTPMethod: "GET",
4430		HTTPPath:   "/contact/attributes/{InstanceId}/{InitialContactId}",
4431	}
4432
4433	if input == nil {
4434		input = &GetContactAttributesInput{}
4435	}
4436
4437	output = &GetContactAttributesOutput{}
4438	req = c.newRequest(op, input, output)
4439	return
4440}
4441
4442// GetContactAttributes API operation for Amazon Connect Service.
4443//
4444// Retrieves the contact attributes for the specified contact.
4445//
4446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4447// with awserr.Error's Code and Message methods to get detailed information about
4448// the error.
4449//
4450// See the AWS API reference guide for Amazon Connect Service's
4451// API operation GetContactAttributes for usage and error information.
4452//
4453// Returned Error Types:
4454//   * InvalidRequestException
4455//   The request is not valid.
4456//
4457//   * ResourceNotFoundException
4458//   The specified resource was not found.
4459//
4460//   * InternalServiceException
4461//   Request processing failed because of an error or failure with the service.
4462//
4463// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes
4464func (c *Connect) GetContactAttributes(input *GetContactAttributesInput) (*GetContactAttributesOutput, error) {
4465	req, out := c.GetContactAttributesRequest(input)
4466	return out, req.Send()
4467}
4468
4469// GetContactAttributesWithContext is the same as GetContactAttributes with the addition of
4470// the ability to pass a context and additional request options.
4471//
4472// See GetContactAttributes for details on how to use this API operation.
4473//
4474// The context must be non-nil and will be used for request cancellation. If
4475// the context is nil a panic will occur. In the future the SDK may create
4476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4477// for more information on using Contexts.
4478func (c *Connect) GetContactAttributesWithContext(ctx aws.Context, input *GetContactAttributesInput, opts ...request.Option) (*GetContactAttributesOutput, error) {
4479	req, out := c.GetContactAttributesRequest(input)
4480	req.SetContext(ctx)
4481	req.ApplyOptions(opts...)
4482	return out, req.Send()
4483}
4484
4485const opGetCurrentMetricData = "GetCurrentMetricData"
4486
4487// GetCurrentMetricDataRequest generates a "aws/request.Request" representing the
4488// client's request for the GetCurrentMetricData operation. The "output" return
4489// value will be populated with the request's response once the request completes
4490// successfully.
4491//
4492// Use "Send" method on the returned Request to send the API call to the service.
4493// the "output" return value is not valid until after Send returns without error.
4494//
4495// See GetCurrentMetricData for more information on using the GetCurrentMetricData
4496// API call, and error handling.
4497//
4498// This method is useful when you want to inject custom logic or configuration
4499// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4500//
4501//
4502//    // Example sending a request using the GetCurrentMetricDataRequest method.
4503//    req, resp := client.GetCurrentMetricDataRequest(params)
4504//
4505//    err := req.Send()
4506//    if err == nil { // resp is now filled
4507//        fmt.Println(resp)
4508//    }
4509//
4510// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData
4511func (c *Connect) GetCurrentMetricDataRequest(input *GetCurrentMetricDataInput) (req *request.Request, output *GetCurrentMetricDataOutput) {
4512	op := &request.Operation{
4513		Name:       opGetCurrentMetricData,
4514		HTTPMethod: "POST",
4515		HTTPPath:   "/metrics/current/{InstanceId}",
4516		Paginator: &request.Paginator{
4517			InputTokens:     []string{"NextToken"},
4518			OutputTokens:    []string{"NextToken"},
4519			LimitToken:      "MaxResults",
4520			TruncationToken: "",
4521		},
4522	}
4523
4524	if input == nil {
4525		input = &GetCurrentMetricDataInput{}
4526	}
4527
4528	output = &GetCurrentMetricDataOutput{}
4529	req = c.newRequest(op, input, output)
4530	return
4531}
4532
4533// GetCurrentMetricData API operation for Amazon Connect Service.
4534//
4535// Gets the real-time metric data from the specified Amazon Connect instance.
4536//
4537// For a description of each metric, see Real-time Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html)
4538// in the Amazon Connect Administrator Guide.
4539//
4540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4541// with awserr.Error's Code and Message methods to get detailed information about
4542// the error.
4543//
4544// See the AWS API reference guide for Amazon Connect Service's
4545// API operation GetCurrentMetricData for usage and error information.
4546//
4547// Returned Error Types:
4548//   * InvalidRequestException
4549//   The request is not valid.
4550//
4551//   * InvalidParameterException
4552//   One or more of the specified parameters are not valid.
4553//
4554//   * InternalServiceException
4555//   Request processing failed because of an error or failure with the service.
4556//
4557//   * ThrottlingException
4558//   The throttling limit has been exceeded.
4559//
4560//   * ResourceNotFoundException
4561//   The specified resource was not found.
4562//
4563// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData
4564func (c *Connect) GetCurrentMetricData(input *GetCurrentMetricDataInput) (*GetCurrentMetricDataOutput, error) {
4565	req, out := c.GetCurrentMetricDataRequest(input)
4566	return out, req.Send()
4567}
4568
4569// GetCurrentMetricDataWithContext is the same as GetCurrentMetricData with the addition of
4570// the ability to pass a context and additional request options.
4571//
4572// See GetCurrentMetricData for details on how to use this API operation.
4573//
4574// The context must be non-nil and will be used for request cancellation. If
4575// the context is nil a panic will occur. In the future the SDK may create
4576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4577// for more information on using Contexts.
4578func (c *Connect) GetCurrentMetricDataWithContext(ctx aws.Context, input *GetCurrentMetricDataInput, opts ...request.Option) (*GetCurrentMetricDataOutput, error) {
4579	req, out := c.GetCurrentMetricDataRequest(input)
4580	req.SetContext(ctx)
4581	req.ApplyOptions(opts...)
4582	return out, req.Send()
4583}
4584
4585// GetCurrentMetricDataPages iterates over the pages of a GetCurrentMetricData operation,
4586// calling the "fn" function with the response data for each page. To stop
4587// iterating, return false from the fn function.
4588//
4589// See GetCurrentMetricData method for more information on how to use this operation.
4590//
4591// Note: This operation can generate multiple requests to a service.
4592//
4593//    // Example iterating over at most 3 pages of a GetCurrentMetricData operation.
4594//    pageNum := 0
4595//    err := client.GetCurrentMetricDataPages(params,
4596//        func(page *connect.GetCurrentMetricDataOutput, lastPage bool) bool {
4597//            pageNum++
4598//            fmt.Println(page)
4599//            return pageNum <= 3
4600//        })
4601//
4602func (c *Connect) GetCurrentMetricDataPages(input *GetCurrentMetricDataInput, fn func(*GetCurrentMetricDataOutput, bool) bool) error {
4603	return c.GetCurrentMetricDataPagesWithContext(aws.BackgroundContext(), input, fn)
4604}
4605
4606// GetCurrentMetricDataPagesWithContext same as GetCurrentMetricDataPages except
4607// it takes a Context and allows setting request options on the pages.
4608//
4609// The context must be non-nil and will be used for request cancellation. If
4610// the context is nil a panic will occur. In the future the SDK may create
4611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4612// for more information on using Contexts.
4613func (c *Connect) GetCurrentMetricDataPagesWithContext(ctx aws.Context, input *GetCurrentMetricDataInput, fn func(*GetCurrentMetricDataOutput, bool) bool, opts ...request.Option) error {
4614	p := request.Pagination{
4615		NewRequest: func() (*request.Request, error) {
4616			var inCpy *GetCurrentMetricDataInput
4617			if input != nil {
4618				tmp := *input
4619				inCpy = &tmp
4620			}
4621			req, _ := c.GetCurrentMetricDataRequest(inCpy)
4622			req.SetContext(ctx)
4623			req.ApplyOptions(opts...)
4624			return req, nil
4625		},
4626	}
4627
4628	for p.Next() {
4629		if !fn(p.Page().(*GetCurrentMetricDataOutput), !p.HasNextPage()) {
4630			break
4631		}
4632	}
4633
4634	return p.Err()
4635}
4636
4637const opGetFederationToken = "GetFederationToken"
4638
4639// GetFederationTokenRequest generates a "aws/request.Request" representing the
4640// client's request for the GetFederationToken operation. The "output" return
4641// value will be populated with the request's response once the request completes
4642// successfully.
4643//
4644// Use "Send" method on the returned Request to send the API call to the service.
4645// the "output" return value is not valid until after Send returns without error.
4646//
4647// See GetFederationToken for more information on using the GetFederationToken
4648// API call, and error handling.
4649//
4650// This method is useful when you want to inject custom logic or configuration
4651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4652//
4653//
4654//    // Example sending a request using the GetFederationTokenRequest method.
4655//    req, resp := client.GetFederationTokenRequest(params)
4656//
4657//    err := req.Send()
4658//    if err == nil { // resp is now filled
4659//        fmt.Println(resp)
4660//    }
4661//
4662// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken
4663func (c *Connect) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) {
4664	op := &request.Operation{
4665		Name:       opGetFederationToken,
4666		HTTPMethod: "GET",
4667		HTTPPath:   "/user/federate/{InstanceId}",
4668	}
4669
4670	if input == nil {
4671		input = &GetFederationTokenInput{}
4672	}
4673
4674	output = &GetFederationTokenOutput{}
4675	req = c.newRequest(op, input, output)
4676	return
4677}
4678
4679// GetFederationToken API operation for Amazon Connect Service.
4680//
4681// Retrieves a token for federation.
4682//
4683// This API doesn't support root users. If you try to invoke GetFederationToken
4684// with root credentials, an error message similar to the following one appears:
4685//
4686// Provided identity: Principal: .... User: .... cannot be used for federation
4687// with Amazon Connect
4688//
4689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4690// with awserr.Error's Code and Message methods to get detailed information about
4691// the error.
4692//
4693// See the AWS API reference guide for Amazon Connect Service's
4694// API operation GetFederationToken for usage and error information.
4695//
4696// Returned Error Types:
4697//   * InvalidRequestException
4698//   The request is not valid.
4699//
4700//   * InvalidParameterException
4701//   One or more of the specified parameters are not valid.
4702//
4703//   * ResourceNotFoundException
4704//   The specified resource was not found.
4705//
4706//   * UserNotFoundException
4707//   No user with the specified credentials was found in the Amazon Connect instance.
4708//
4709//   * InternalServiceException
4710//   Request processing failed because of an error or failure with the service.
4711//
4712//   * DuplicateResourceException
4713//   A resource with the specified name already exists.
4714//
4715// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken
4716func (c *Connect) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) {
4717	req, out := c.GetFederationTokenRequest(input)
4718	return out, req.Send()
4719}
4720
4721// GetFederationTokenWithContext is the same as GetFederationToken with the addition of
4722// the ability to pass a context and additional request options.
4723//
4724// See GetFederationToken for details on how to use this API operation.
4725//
4726// The context must be non-nil and will be used for request cancellation. If
4727// the context is nil a panic will occur. In the future the SDK may create
4728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4729// for more information on using Contexts.
4730func (c *Connect) GetFederationTokenWithContext(ctx aws.Context, input *GetFederationTokenInput, opts ...request.Option) (*GetFederationTokenOutput, error) {
4731	req, out := c.GetFederationTokenRequest(input)
4732	req.SetContext(ctx)
4733	req.ApplyOptions(opts...)
4734	return out, req.Send()
4735}
4736
4737const opGetMetricData = "GetMetricData"
4738
4739// GetMetricDataRequest generates a "aws/request.Request" representing the
4740// client's request for the GetMetricData operation. The "output" return
4741// value will be populated with the request's response once the request completes
4742// successfully.
4743//
4744// Use "Send" method on the returned Request to send the API call to the service.
4745// the "output" return value is not valid until after Send returns without error.
4746//
4747// See GetMetricData for more information on using the GetMetricData
4748// API call, and error handling.
4749//
4750// This method is useful when you want to inject custom logic or configuration
4751// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4752//
4753//
4754//    // Example sending a request using the GetMetricDataRequest method.
4755//    req, resp := client.GetMetricDataRequest(params)
4756//
4757//    err := req.Send()
4758//    if err == nil { // resp is now filled
4759//        fmt.Println(resp)
4760//    }
4761//
4762// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData
4763func (c *Connect) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) {
4764	op := &request.Operation{
4765		Name:       opGetMetricData,
4766		HTTPMethod: "POST",
4767		HTTPPath:   "/metrics/historical/{InstanceId}",
4768		Paginator: &request.Paginator{
4769			InputTokens:     []string{"NextToken"},
4770			OutputTokens:    []string{"NextToken"},
4771			LimitToken:      "MaxResults",
4772			TruncationToken: "",
4773		},
4774	}
4775
4776	if input == nil {
4777		input = &GetMetricDataInput{}
4778	}
4779
4780	output = &GetMetricDataOutput{}
4781	req = c.newRequest(op, input, output)
4782	return
4783}
4784
4785// GetMetricData API operation for Amazon Connect Service.
4786//
4787// Gets historical metric data from the specified Amazon Connect instance.
4788//
4789// For a description of each historical metric, see Historical Metrics Definitions
4790// (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html)
4791// in the Amazon Connect Administrator Guide.
4792//
4793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4794// with awserr.Error's Code and Message methods to get detailed information about
4795// the error.
4796//
4797// See the AWS API reference guide for Amazon Connect Service's
4798// API operation GetMetricData for usage and error information.
4799//
4800// Returned Error Types:
4801//   * InvalidRequestException
4802//   The request is not valid.
4803//
4804//   * InvalidParameterException
4805//   One or more of the specified parameters are not valid.
4806//
4807//   * InternalServiceException
4808//   Request processing failed because of an error or failure with the service.
4809//
4810//   * ThrottlingException
4811//   The throttling limit has been exceeded.
4812//
4813//   * ResourceNotFoundException
4814//   The specified resource was not found.
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData
4817func (c *Connect) GetMetricData(input *GetMetricDataInput) (*GetMetricDataOutput, error) {
4818	req, out := c.GetMetricDataRequest(input)
4819	return out, req.Send()
4820}
4821
4822// GetMetricDataWithContext is the same as GetMetricData with the addition of
4823// the ability to pass a context and additional request options.
4824//
4825// See GetMetricData for details on how to use this API operation.
4826//
4827// The context must be non-nil and will be used for request cancellation. If
4828// the context is nil a panic will occur. In the future the SDK may create
4829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4830// for more information on using Contexts.
4831func (c *Connect) GetMetricDataWithContext(ctx aws.Context, input *GetMetricDataInput, opts ...request.Option) (*GetMetricDataOutput, error) {
4832	req, out := c.GetMetricDataRequest(input)
4833	req.SetContext(ctx)
4834	req.ApplyOptions(opts...)
4835	return out, req.Send()
4836}
4837
4838// GetMetricDataPages iterates over the pages of a GetMetricData operation,
4839// calling the "fn" function with the response data for each page. To stop
4840// iterating, return false from the fn function.
4841//
4842// See GetMetricData method for more information on how to use this operation.
4843//
4844// Note: This operation can generate multiple requests to a service.
4845//
4846//    // Example iterating over at most 3 pages of a GetMetricData operation.
4847//    pageNum := 0
4848//    err := client.GetMetricDataPages(params,
4849//        func(page *connect.GetMetricDataOutput, lastPage bool) bool {
4850//            pageNum++
4851//            fmt.Println(page)
4852//            return pageNum <= 3
4853//        })
4854//
4855func (c *Connect) GetMetricDataPages(input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool) error {
4856	return c.GetMetricDataPagesWithContext(aws.BackgroundContext(), input, fn)
4857}
4858
4859// GetMetricDataPagesWithContext same as GetMetricDataPages except
4860// it takes a Context and allows setting request options on the pages.
4861//
4862// The context must be non-nil and will be used for request cancellation. If
4863// the context is nil a panic will occur. In the future the SDK may create
4864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4865// for more information on using Contexts.
4866func (c *Connect) GetMetricDataPagesWithContext(ctx aws.Context, input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool, opts ...request.Option) error {
4867	p := request.Pagination{
4868		NewRequest: func() (*request.Request, error) {
4869			var inCpy *GetMetricDataInput
4870			if input != nil {
4871				tmp := *input
4872				inCpy = &tmp
4873			}
4874			req, _ := c.GetMetricDataRequest(inCpy)
4875			req.SetContext(ctx)
4876			req.ApplyOptions(opts...)
4877			return req, nil
4878		},
4879	}
4880
4881	for p.Next() {
4882		if !fn(p.Page().(*GetMetricDataOutput), !p.HasNextPage()) {
4883			break
4884		}
4885	}
4886
4887	return p.Err()
4888}
4889
4890const opListAgentStatuses = "ListAgentStatuses"
4891
4892// ListAgentStatusesRequest generates a "aws/request.Request" representing the
4893// client's request for the ListAgentStatuses operation. The "output" return
4894// value will be populated with the request's response once the request completes
4895// successfully.
4896//
4897// Use "Send" method on the returned Request to send the API call to the service.
4898// the "output" return value is not valid until after Send returns without error.
4899//
4900// See ListAgentStatuses for more information on using the ListAgentStatuses
4901// API call, and error handling.
4902//
4903// This method is useful when you want to inject custom logic or configuration
4904// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4905//
4906//
4907//    // Example sending a request using the ListAgentStatusesRequest method.
4908//    req, resp := client.ListAgentStatusesRequest(params)
4909//
4910//    err := req.Send()
4911//    if err == nil { // resp is now filled
4912//        fmt.Println(resp)
4913//    }
4914//
4915// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListAgentStatuses
4916func (c *Connect) ListAgentStatusesRequest(input *ListAgentStatusesInput) (req *request.Request, output *ListAgentStatusesOutput) {
4917	op := &request.Operation{
4918		Name:       opListAgentStatuses,
4919		HTTPMethod: "GET",
4920		HTTPPath:   "/agent-status/{InstanceId}",
4921		Paginator: &request.Paginator{
4922			InputTokens:     []string{"NextToken"},
4923			OutputTokens:    []string{"NextToken"},
4924			LimitToken:      "MaxResults",
4925			TruncationToken: "",
4926		},
4927	}
4928
4929	if input == nil {
4930		input = &ListAgentStatusesInput{}
4931	}
4932
4933	output = &ListAgentStatusesOutput{}
4934	req = c.newRequest(op, input, output)
4935	return
4936}
4937
4938// ListAgentStatuses API operation for Amazon Connect Service.
4939//
4940// This API is in preview release for Amazon Connect and is subject to change.
4941//
4942// Lists agent statuses.
4943//
4944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4945// with awserr.Error's Code and Message methods to get detailed information about
4946// the error.
4947//
4948// See the AWS API reference guide for Amazon Connect Service's
4949// API operation ListAgentStatuses for usage and error information.
4950//
4951// Returned Error Types:
4952//   * InvalidRequestException
4953//   The request is not valid.
4954//
4955//   * InvalidParameterException
4956//   One or more of the specified parameters are not valid.
4957//
4958//   * ResourceNotFoundException
4959//   The specified resource was not found.
4960//
4961//   * ThrottlingException
4962//   The throttling limit has been exceeded.
4963//
4964//   * InternalServiceException
4965//   Request processing failed because of an error or failure with the service.
4966//
4967// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListAgentStatuses
4968func (c *Connect) ListAgentStatuses(input *ListAgentStatusesInput) (*ListAgentStatusesOutput, error) {
4969	req, out := c.ListAgentStatusesRequest(input)
4970	return out, req.Send()
4971}
4972
4973// ListAgentStatusesWithContext is the same as ListAgentStatuses with the addition of
4974// the ability to pass a context and additional request options.
4975//
4976// See ListAgentStatuses for details on how to use this API operation.
4977//
4978// The context must be non-nil and will be used for request cancellation. If
4979// the context is nil a panic will occur. In the future the SDK may create
4980// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4981// for more information on using Contexts.
4982func (c *Connect) ListAgentStatusesWithContext(ctx aws.Context, input *ListAgentStatusesInput, opts ...request.Option) (*ListAgentStatusesOutput, error) {
4983	req, out := c.ListAgentStatusesRequest(input)
4984	req.SetContext(ctx)
4985	req.ApplyOptions(opts...)
4986	return out, req.Send()
4987}
4988
4989// ListAgentStatusesPages iterates over the pages of a ListAgentStatuses operation,
4990// calling the "fn" function with the response data for each page. To stop
4991// iterating, return false from the fn function.
4992//
4993// See ListAgentStatuses method for more information on how to use this operation.
4994//
4995// Note: This operation can generate multiple requests to a service.
4996//
4997//    // Example iterating over at most 3 pages of a ListAgentStatuses operation.
4998//    pageNum := 0
4999//    err := client.ListAgentStatusesPages(params,
5000//        func(page *connect.ListAgentStatusesOutput, lastPage bool) bool {
5001//            pageNum++
5002//            fmt.Println(page)
5003//            return pageNum <= 3
5004//        })
5005//
5006func (c *Connect) ListAgentStatusesPages(input *ListAgentStatusesInput, fn func(*ListAgentStatusesOutput, bool) bool) error {
5007	return c.ListAgentStatusesPagesWithContext(aws.BackgroundContext(), input, fn)
5008}
5009
5010// ListAgentStatusesPagesWithContext same as ListAgentStatusesPages except
5011// it takes a Context and allows setting request options on the pages.
5012//
5013// The context must be non-nil and will be used for request cancellation. If
5014// the context is nil a panic will occur. In the future the SDK may create
5015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5016// for more information on using Contexts.
5017func (c *Connect) ListAgentStatusesPagesWithContext(ctx aws.Context, input *ListAgentStatusesInput, fn func(*ListAgentStatusesOutput, bool) bool, opts ...request.Option) error {
5018	p := request.Pagination{
5019		NewRequest: func() (*request.Request, error) {
5020			var inCpy *ListAgentStatusesInput
5021			if input != nil {
5022				tmp := *input
5023				inCpy = &tmp
5024			}
5025			req, _ := c.ListAgentStatusesRequest(inCpy)
5026			req.SetContext(ctx)
5027			req.ApplyOptions(opts...)
5028			return req, nil
5029		},
5030	}
5031
5032	for p.Next() {
5033		if !fn(p.Page().(*ListAgentStatusesOutput), !p.HasNextPage()) {
5034			break
5035		}
5036	}
5037
5038	return p.Err()
5039}
5040
5041const opListApprovedOrigins = "ListApprovedOrigins"
5042
5043// ListApprovedOriginsRequest generates a "aws/request.Request" representing the
5044// client's request for the ListApprovedOrigins operation. The "output" return
5045// value will be populated with the request's response once the request completes
5046// successfully.
5047//
5048// Use "Send" method on the returned Request to send the API call to the service.
5049// the "output" return value is not valid until after Send returns without error.
5050//
5051// See ListApprovedOrigins for more information on using the ListApprovedOrigins
5052// API call, and error handling.
5053//
5054// This method is useful when you want to inject custom logic or configuration
5055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5056//
5057//
5058//    // Example sending a request using the ListApprovedOriginsRequest method.
5059//    req, resp := client.ListApprovedOriginsRequest(params)
5060//
5061//    err := req.Send()
5062//    if err == nil { // resp is now filled
5063//        fmt.Println(resp)
5064//    }
5065//
5066// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListApprovedOrigins
5067func (c *Connect) ListApprovedOriginsRequest(input *ListApprovedOriginsInput) (req *request.Request, output *ListApprovedOriginsOutput) {
5068	op := &request.Operation{
5069		Name:       opListApprovedOrigins,
5070		HTTPMethod: "GET",
5071		HTTPPath:   "/instance/{InstanceId}/approved-origins",
5072		Paginator: &request.Paginator{
5073			InputTokens:     []string{"NextToken"},
5074			OutputTokens:    []string{"NextToken"},
5075			LimitToken:      "MaxResults",
5076			TruncationToken: "",
5077		},
5078	}
5079
5080	if input == nil {
5081		input = &ListApprovedOriginsInput{}
5082	}
5083
5084	output = &ListApprovedOriginsOutput{}
5085	req = c.newRequest(op, input, output)
5086	return
5087}
5088
5089// ListApprovedOrigins API operation for Amazon Connect Service.
5090//
5091// This API is in preview release for Amazon Connect and is subject to change.
5092//
5093// Returns a paginated list of all approved origins associated with the instance.
5094//
5095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5096// with awserr.Error's Code and Message methods to get detailed information about
5097// the error.
5098//
5099// See the AWS API reference guide for Amazon Connect Service's
5100// API operation ListApprovedOrigins for usage and error information.
5101//
5102// Returned Error Types:
5103//   * ResourceNotFoundException
5104//   The specified resource was not found.
5105//
5106//   * InternalServiceException
5107//   Request processing failed because of an error or failure with the service.
5108//
5109//   * InvalidRequestException
5110//   The request is not valid.
5111//
5112//   * InvalidParameterException
5113//   One or more of the specified parameters are not valid.
5114//
5115//   * ThrottlingException
5116//   The throttling limit has been exceeded.
5117//
5118// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListApprovedOrigins
5119func (c *Connect) ListApprovedOrigins(input *ListApprovedOriginsInput) (*ListApprovedOriginsOutput, error) {
5120	req, out := c.ListApprovedOriginsRequest(input)
5121	return out, req.Send()
5122}
5123
5124// ListApprovedOriginsWithContext is the same as ListApprovedOrigins with the addition of
5125// the ability to pass a context and additional request options.
5126//
5127// See ListApprovedOrigins for details on how to use this API operation.
5128//
5129// The context must be non-nil and will be used for request cancellation. If
5130// the context is nil a panic will occur. In the future the SDK may create
5131// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5132// for more information on using Contexts.
5133func (c *Connect) ListApprovedOriginsWithContext(ctx aws.Context, input *ListApprovedOriginsInput, opts ...request.Option) (*ListApprovedOriginsOutput, error) {
5134	req, out := c.ListApprovedOriginsRequest(input)
5135	req.SetContext(ctx)
5136	req.ApplyOptions(opts...)
5137	return out, req.Send()
5138}
5139
5140// ListApprovedOriginsPages iterates over the pages of a ListApprovedOrigins operation,
5141// calling the "fn" function with the response data for each page. To stop
5142// iterating, return false from the fn function.
5143//
5144// See ListApprovedOrigins method for more information on how to use this operation.
5145//
5146// Note: This operation can generate multiple requests to a service.
5147//
5148//    // Example iterating over at most 3 pages of a ListApprovedOrigins operation.
5149//    pageNum := 0
5150//    err := client.ListApprovedOriginsPages(params,
5151//        func(page *connect.ListApprovedOriginsOutput, lastPage bool) bool {
5152//            pageNum++
5153//            fmt.Println(page)
5154//            return pageNum <= 3
5155//        })
5156//
5157func (c *Connect) ListApprovedOriginsPages(input *ListApprovedOriginsInput, fn func(*ListApprovedOriginsOutput, bool) bool) error {
5158	return c.ListApprovedOriginsPagesWithContext(aws.BackgroundContext(), input, fn)
5159}
5160
5161// ListApprovedOriginsPagesWithContext same as ListApprovedOriginsPages except
5162// it takes a Context and allows setting request options on the pages.
5163//
5164// The context must be non-nil and will be used for request cancellation. If
5165// the context is nil a panic will occur. In the future the SDK may create
5166// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5167// for more information on using Contexts.
5168func (c *Connect) ListApprovedOriginsPagesWithContext(ctx aws.Context, input *ListApprovedOriginsInput, fn func(*ListApprovedOriginsOutput, bool) bool, opts ...request.Option) error {
5169	p := request.Pagination{
5170		NewRequest: func() (*request.Request, error) {
5171			var inCpy *ListApprovedOriginsInput
5172			if input != nil {
5173				tmp := *input
5174				inCpy = &tmp
5175			}
5176			req, _ := c.ListApprovedOriginsRequest(inCpy)
5177			req.SetContext(ctx)
5178			req.ApplyOptions(opts...)
5179			return req, nil
5180		},
5181	}
5182
5183	for p.Next() {
5184		if !fn(p.Page().(*ListApprovedOriginsOutput), !p.HasNextPage()) {
5185			break
5186		}
5187	}
5188
5189	return p.Err()
5190}
5191
5192const opListBots = "ListBots"
5193
5194// ListBotsRequest generates a "aws/request.Request" representing the
5195// client's request for the ListBots operation. The "output" return
5196// value will be populated with the request's response once the request completes
5197// successfully.
5198//
5199// Use "Send" method on the returned Request to send the API call to the service.
5200// the "output" return value is not valid until after Send returns without error.
5201//
5202// See ListBots for more information on using the ListBots
5203// API call, and error handling.
5204//
5205// This method is useful when you want to inject custom logic or configuration
5206// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5207//
5208//
5209//    // Example sending a request using the ListBotsRequest method.
5210//    req, resp := client.ListBotsRequest(params)
5211//
5212//    err := req.Send()
5213//    if err == nil { // resp is now filled
5214//        fmt.Println(resp)
5215//    }
5216//
5217// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListBots
5218func (c *Connect) ListBotsRequest(input *ListBotsInput) (req *request.Request, output *ListBotsOutput) {
5219	op := &request.Operation{
5220		Name:       opListBots,
5221		HTTPMethod: "GET",
5222		HTTPPath:   "/instance/{InstanceId}/bots",
5223		Paginator: &request.Paginator{
5224			InputTokens:     []string{"NextToken"},
5225			OutputTokens:    []string{"NextToken"},
5226			LimitToken:      "MaxResults",
5227			TruncationToken: "",
5228		},
5229	}
5230
5231	if input == nil {
5232		input = &ListBotsInput{}
5233	}
5234
5235	output = &ListBotsOutput{}
5236	req = c.newRequest(op, input, output)
5237	return
5238}
5239
5240// ListBots API operation for Amazon Connect Service.
5241//
5242// This API is in preview release for Amazon Connect and is subject to change.
5243//
5244// For the specified version of Amazon Lex, returns a paginated list of all
5245// the Amazon Lex bots currently associated with the instance.
5246//
5247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5248// with awserr.Error's Code and Message methods to get detailed information about
5249// the error.
5250//
5251// See the AWS API reference guide for Amazon Connect Service's
5252// API operation ListBots for usage and error information.
5253//
5254// Returned Error Types:
5255//   * ResourceNotFoundException
5256//   The specified resource was not found.
5257//
5258//   * InternalServiceException
5259//   Request processing failed because of an error or failure with the service.
5260//
5261//   * InvalidRequestException
5262//   The request is not valid.
5263//
5264//   * ThrottlingException
5265//   The throttling limit has been exceeded.
5266//
5267// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListBots
5268func (c *Connect) ListBots(input *ListBotsInput) (*ListBotsOutput, error) {
5269	req, out := c.ListBotsRequest(input)
5270	return out, req.Send()
5271}
5272
5273// ListBotsWithContext is the same as ListBots with the addition of
5274// the ability to pass a context and additional request options.
5275//
5276// See ListBots for details on how to use this API operation.
5277//
5278// The context must be non-nil and will be used for request cancellation. If
5279// the context is nil a panic will occur. In the future the SDK may create
5280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5281// for more information on using Contexts.
5282func (c *Connect) ListBotsWithContext(ctx aws.Context, input *ListBotsInput, opts ...request.Option) (*ListBotsOutput, error) {
5283	req, out := c.ListBotsRequest(input)
5284	req.SetContext(ctx)
5285	req.ApplyOptions(opts...)
5286	return out, req.Send()
5287}
5288
5289// ListBotsPages iterates over the pages of a ListBots operation,
5290// calling the "fn" function with the response data for each page. To stop
5291// iterating, return false from the fn function.
5292//
5293// See ListBots method for more information on how to use this operation.
5294//
5295// Note: This operation can generate multiple requests to a service.
5296//
5297//    // Example iterating over at most 3 pages of a ListBots operation.
5298//    pageNum := 0
5299//    err := client.ListBotsPages(params,
5300//        func(page *connect.ListBotsOutput, lastPage bool) bool {
5301//            pageNum++
5302//            fmt.Println(page)
5303//            return pageNum <= 3
5304//        })
5305//
5306func (c *Connect) ListBotsPages(input *ListBotsInput, fn func(*ListBotsOutput, bool) bool) error {
5307	return c.ListBotsPagesWithContext(aws.BackgroundContext(), input, fn)
5308}
5309
5310// ListBotsPagesWithContext same as ListBotsPages except
5311// it takes a Context and allows setting request options on the pages.
5312//
5313// The context must be non-nil and will be used for request cancellation. If
5314// the context is nil a panic will occur. In the future the SDK may create
5315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5316// for more information on using Contexts.
5317func (c *Connect) ListBotsPagesWithContext(ctx aws.Context, input *ListBotsInput, fn func(*ListBotsOutput, bool) bool, opts ...request.Option) error {
5318	p := request.Pagination{
5319		NewRequest: func() (*request.Request, error) {
5320			var inCpy *ListBotsInput
5321			if input != nil {
5322				tmp := *input
5323				inCpy = &tmp
5324			}
5325			req, _ := c.ListBotsRequest(inCpy)
5326			req.SetContext(ctx)
5327			req.ApplyOptions(opts...)
5328			return req, nil
5329		},
5330	}
5331
5332	for p.Next() {
5333		if !fn(p.Page().(*ListBotsOutput), !p.HasNextPage()) {
5334			break
5335		}
5336	}
5337
5338	return p.Err()
5339}
5340
5341const opListContactFlows = "ListContactFlows"
5342
5343// ListContactFlowsRequest generates a "aws/request.Request" representing the
5344// client's request for the ListContactFlows operation. The "output" return
5345// value will be populated with the request's response once the request completes
5346// successfully.
5347//
5348// Use "Send" method on the returned Request to send the API call to the service.
5349// the "output" return value is not valid until after Send returns without error.
5350//
5351// See ListContactFlows for more information on using the ListContactFlows
5352// API call, and error handling.
5353//
5354// This method is useful when you want to inject custom logic or configuration
5355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5356//
5357//
5358//    // Example sending a request using the ListContactFlowsRequest method.
5359//    req, resp := client.ListContactFlowsRequest(params)
5360//
5361//    err := req.Send()
5362//    if err == nil { // resp is now filled
5363//        fmt.Println(resp)
5364//    }
5365//
5366// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows
5367func (c *Connect) ListContactFlowsRequest(input *ListContactFlowsInput) (req *request.Request, output *ListContactFlowsOutput) {
5368	op := &request.Operation{
5369		Name:       opListContactFlows,
5370		HTTPMethod: "GET",
5371		HTTPPath:   "/contact-flows-summary/{InstanceId}",
5372		Paginator: &request.Paginator{
5373			InputTokens:     []string{"NextToken"},
5374			OutputTokens:    []string{"NextToken"},
5375			LimitToken:      "MaxResults",
5376			TruncationToken: "",
5377		},
5378	}
5379
5380	if input == nil {
5381		input = &ListContactFlowsInput{}
5382	}
5383
5384	output = &ListContactFlowsOutput{}
5385	req = c.newRequest(op, input, output)
5386	return
5387}
5388
5389// ListContactFlows API operation for Amazon Connect Service.
5390//
5391// Provides information about the contact flows for the specified Amazon Connect
5392// instance.
5393//
5394// You can also create and update contact flows using the Amazon Connect Flow
5395// language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
5396//
5397// For more information about contact flows, see Contact Flows (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-contact-flows.html)
5398// in the Amazon Connect Administrator Guide.
5399//
5400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5401// with awserr.Error's Code and Message methods to get detailed information about
5402// the error.
5403//
5404// See the AWS API reference guide for Amazon Connect Service's
5405// API operation ListContactFlows for usage and error information.
5406//
5407// Returned Error Types:
5408//   * InvalidRequestException
5409//   The request is not valid.
5410//
5411//   * InvalidParameterException
5412//   One or more of the specified parameters are not valid.
5413//
5414//   * ResourceNotFoundException
5415//   The specified resource was not found.
5416//
5417//   * ThrottlingException
5418//   The throttling limit has been exceeded.
5419//
5420//   * InternalServiceException
5421//   Request processing failed because of an error or failure with the service.
5422//
5423// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows
5424func (c *Connect) ListContactFlows(input *ListContactFlowsInput) (*ListContactFlowsOutput, error) {
5425	req, out := c.ListContactFlowsRequest(input)
5426	return out, req.Send()
5427}
5428
5429// ListContactFlowsWithContext is the same as ListContactFlows with the addition of
5430// the ability to pass a context and additional request options.
5431//
5432// See ListContactFlows for details on how to use this API operation.
5433//
5434// The context must be non-nil and will be used for request cancellation. If
5435// the context is nil a panic will occur. In the future the SDK may create
5436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5437// for more information on using Contexts.
5438func (c *Connect) ListContactFlowsWithContext(ctx aws.Context, input *ListContactFlowsInput, opts ...request.Option) (*ListContactFlowsOutput, error) {
5439	req, out := c.ListContactFlowsRequest(input)
5440	req.SetContext(ctx)
5441	req.ApplyOptions(opts...)
5442	return out, req.Send()
5443}
5444
5445// ListContactFlowsPages iterates over the pages of a ListContactFlows operation,
5446// calling the "fn" function with the response data for each page. To stop
5447// iterating, return false from the fn function.
5448//
5449// See ListContactFlows method for more information on how to use this operation.
5450//
5451// Note: This operation can generate multiple requests to a service.
5452//
5453//    // Example iterating over at most 3 pages of a ListContactFlows operation.
5454//    pageNum := 0
5455//    err := client.ListContactFlowsPages(params,
5456//        func(page *connect.ListContactFlowsOutput, lastPage bool) bool {
5457//            pageNum++
5458//            fmt.Println(page)
5459//            return pageNum <= 3
5460//        })
5461//
5462func (c *Connect) ListContactFlowsPages(input *ListContactFlowsInput, fn func(*ListContactFlowsOutput, bool) bool) error {
5463	return c.ListContactFlowsPagesWithContext(aws.BackgroundContext(), input, fn)
5464}
5465
5466// ListContactFlowsPagesWithContext same as ListContactFlowsPages except
5467// it takes a Context and allows setting request options on the pages.
5468//
5469// The context must be non-nil and will be used for request cancellation. If
5470// the context is nil a panic will occur. In the future the SDK may create
5471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5472// for more information on using Contexts.
5473func (c *Connect) ListContactFlowsPagesWithContext(ctx aws.Context, input *ListContactFlowsInput, fn func(*ListContactFlowsOutput, bool) bool, opts ...request.Option) error {
5474	p := request.Pagination{
5475		NewRequest: func() (*request.Request, error) {
5476			var inCpy *ListContactFlowsInput
5477			if input != nil {
5478				tmp := *input
5479				inCpy = &tmp
5480			}
5481			req, _ := c.ListContactFlowsRequest(inCpy)
5482			req.SetContext(ctx)
5483			req.ApplyOptions(opts...)
5484			return req, nil
5485		},
5486	}
5487
5488	for p.Next() {
5489		if !fn(p.Page().(*ListContactFlowsOutput), !p.HasNextPage()) {
5490			break
5491		}
5492	}
5493
5494	return p.Err()
5495}
5496
5497const opListHoursOfOperations = "ListHoursOfOperations"
5498
5499// ListHoursOfOperationsRequest generates a "aws/request.Request" representing the
5500// client's request for the ListHoursOfOperations operation. The "output" return
5501// value will be populated with the request's response once the request completes
5502// successfully.
5503//
5504// Use "Send" method on the returned Request to send the API call to the service.
5505// the "output" return value is not valid until after Send returns without error.
5506//
5507// See ListHoursOfOperations for more information on using the ListHoursOfOperations
5508// API call, and error handling.
5509//
5510// This method is useful when you want to inject custom logic or configuration
5511// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5512//
5513//
5514//    // Example sending a request using the ListHoursOfOperationsRequest method.
5515//    req, resp := client.ListHoursOfOperationsRequest(params)
5516//
5517//    err := req.Send()
5518//    if err == nil { // resp is now filled
5519//        fmt.Println(resp)
5520//    }
5521//
5522// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations
5523func (c *Connect) ListHoursOfOperationsRequest(input *ListHoursOfOperationsInput) (req *request.Request, output *ListHoursOfOperationsOutput) {
5524	op := &request.Operation{
5525		Name:       opListHoursOfOperations,
5526		HTTPMethod: "GET",
5527		HTTPPath:   "/hours-of-operations-summary/{InstanceId}",
5528		Paginator: &request.Paginator{
5529			InputTokens:     []string{"NextToken"},
5530			OutputTokens:    []string{"NextToken"},
5531			LimitToken:      "MaxResults",
5532			TruncationToken: "",
5533		},
5534	}
5535
5536	if input == nil {
5537		input = &ListHoursOfOperationsInput{}
5538	}
5539
5540	output = &ListHoursOfOperationsOutput{}
5541	req = c.newRequest(op, input, output)
5542	return
5543}
5544
5545// ListHoursOfOperations API operation for Amazon Connect Service.
5546//
5547// Provides information about the hours of operation for the specified Amazon
5548// Connect instance.
5549//
5550// For more information about hours of operation, see Set the Hours of Operation
5551// for a Queue (https://docs.aws.amazon.com/connect/latest/adminguide/set-hours-operation.html)
5552// in the Amazon Connect Administrator Guide.
5553//
5554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5555// with awserr.Error's Code and Message methods to get detailed information about
5556// the error.
5557//
5558// See the AWS API reference guide for Amazon Connect Service's
5559// API operation ListHoursOfOperations for usage and error information.
5560//
5561// Returned Error Types:
5562//   * InvalidRequestException
5563//   The request is not valid.
5564//
5565//   * InvalidParameterException
5566//   One or more of the specified parameters are not valid.
5567//
5568//   * ResourceNotFoundException
5569//   The specified resource was not found.
5570//
5571//   * ThrottlingException
5572//   The throttling limit has been exceeded.
5573//
5574//   * InternalServiceException
5575//   Request processing failed because of an error or failure with the service.
5576//
5577// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations
5578func (c *Connect) ListHoursOfOperations(input *ListHoursOfOperationsInput) (*ListHoursOfOperationsOutput, error) {
5579	req, out := c.ListHoursOfOperationsRequest(input)
5580	return out, req.Send()
5581}
5582
5583// ListHoursOfOperationsWithContext is the same as ListHoursOfOperations with the addition of
5584// the ability to pass a context and additional request options.
5585//
5586// See ListHoursOfOperations for details on how to use this API operation.
5587//
5588// The context must be non-nil and will be used for request cancellation. If
5589// the context is nil a panic will occur. In the future the SDK may create
5590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5591// for more information on using Contexts.
5592func (c *Connect) ListHoursOfOperationsWithContext(ctx aws.Context, input *ListHoursOfOperationsInput, opts ...request.Option) (*ListHoursOfOperationsOutput, error) {
5593	req, out := c.ListHoursOfOperationsRequest(input)
5594	req.SetContext(ctx)
5595	req.ApplyOptions(opts...)
5596	return out, req.Send()
5597}
5598
5599// ListHoursOfOperationsPages iterates over the pages of a ListHoursOfOperations operation,
5600// calling the "fn" function with the response data for each page. To stop
5601// iterating, return false from the fn function.
5602//
5603// See ListHoursOfOperations method for more information on how to use this operation.
5604//
5605// Note: This operation can generate multiple requests to a service.
5606//
5607//    // Example iterating over at most 3 pages of a ListHoursOfOperations operation.
5608//    pageNum := 0
5609//    err := client.ListHoursOfOperationsPages(params,
5610//        func(page *connect.ListHoursOfOperationsOutput, lastPage bool) bool {
5611//            pageNum++
5612//            fmt.Println(page)
5613//            return pageNum <= 3
5614//        })
5615//
5616func (c *Connect) ListHoursOfOperationsPages(input *ListHoursOfOperationsInput, fn func(*ListHoursOfOperationsOutput, bool) bool) error {
5617	return c.ListHoursOfOperationsPagesWithContext(aws.BackgroundContext(), input, fn)
5618}
5619
5620// ListHoursOfOperationsPagesWithContext same as ListHoursOfOperationsPages except
5621// it takes a Context and allows setting request options on the pages.
5622//
5623// The context must be non-nil and will be used for request cancellation. If
5624// the context is nil a panic will occur. In the future the SDK may create
5625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5626// for more information on using Contexts.
5627func (c *Connect) ListHoursOfOperationsPagesWithContext(ctx aws.Context, input *ListHoursOfOperationsInput, fn func(*ListHoursOfOperationsOutput, bool) bool, opts ...request.Option) error {
5628	p := request.Pagination{
5629		NewRequest: func() (*request.Request, error) {
5630			var inCpy *ListHoursOfOperationsInput
5631			if input != nil {
5632				tmp := *input
5633				inCpy = &tmp
5634			}
5635			req, _ := c.ListHoursOfOperationsRequest(inCpy)
5636			req.SetContext(ctx)
5637			req.ApplyOptions(opts...)
5638			return req, nil
5639		},
5640	}
5641
5642	for p.Next() {
5643		if !fn(p.Page().(*ListHoursOfOperationsOutput), !p.HasNextPage()) {
5644			break
5645		}
5646	}
5647
5648	return p.Err()
5649}
5650
5651const opListInstanceAttributes = "ListInstanceAttributes"
5652
5653// ListInstanceAttributesRequest generates a "aws/request.Request" representing the
5654// client's request for the ListInstanceAttributes operation. The "output" return
5655// value will be populated with the request's response once the request completes
5656// successfully.
5657//
5658// Use "Send" method on the returned Request to send the API call to the service.
5659// the "output" return value is not valid until after Send returns without error.
5660//
5661// See ListInstanceAttributes for more information on using the ListInstanceAttributes
5662// API call, and error handling.
5663//
5664// This method is useful when you want to inject custom logic or configuration
5665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5666//
5667//
5668//    // Example sending a request using the ListInstanceAttributesRequest method.
5669//    req, resp := client.ListInstanceAttributesRequest(params)
5670//
5671//    err := req.Send()
5672//    if err == nil { // resp is now filled
5673//        fmt.Println(resp)
5674//    }
5675//
5676// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceAttributes
5677func (c *Connect) ListInstanceAttributesRequest(input *ListInstanceAttributesInput) (req *request.Request, output *ListInstanceAttributesOutput) {
5678	op := &request.Operation{
5679		Name:       opListInstanceAttributes,
5680		HTTPMethod: "GET",
5681		HTTPPath:   "/instance/{InstanceId}/attributes",
5682		Paginator: &request.Paginator{
5683			InputTokens:     []string{"NextToken"},
5684			OutputTokens:    []string{"NextToken"},
5685			LimitToken:      "MaxResults",
5686			TruncationToken: "",
5687		},
5688	}
5689
5690	if input == nil {
5691		input = &ListInstanceAttributesInput{}
5692	}
5693
5694	output = &ListInstanceAttributesOutput{}
5695	req = c.newRequest(op, input, output)
5696	return
5697}
5698
5699// ListInstanceAttributes API operation for Amazon Connect Service.
5700//
5701// This API is in preview release for Amazon Connect and is subject to change.
5702//
5703// Returns a paginated list of all attribute types for the given instance.
5704//
5705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5706// with awserr.Error's Code and Message methods to get detailed information about
5707// the error.
5708//
5709// See the AWS API reference guide for Amazon Connect Service's
5710// API operation ListInstanceAttributes for usage and error information.
5711//
5712// Returned Error Types:
5713//   * ResourceNotFoundException
5714//   The specified resource was not found.
5715//
5716//   * InternalServiceException
5717//   Request processing failed because of an error or failure with the service.
5718//
5719//   * InvalidRequestException
5720//   The request is not valid.
5721//
5722//   * InvalidParameterException
5723//   One or more of the specified parameters are not valid.
5724//
5725//   * ThrottlingException
5726//   The throttling limit has been exceeded.
5727//
5728// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceAttributes
5729func (c *Connect) ListInstanceAttributes(input *ListInstanceAttributesInput) (*ListInstanceAttributesOutput, error) {
5730	req, out := c.ListInstanceAttributesRequest(input)
5731	return out, req.Send()
5732}
5733
5734// ListInstanceAttributesWithContext is the same as ListInstanceAttributes with the addition of
5735// the ability to pass a context and additional request options.
5736//
5737// See ListInstanceAttributes for details on how to use this API operation.
5738//
5739// The context must be non-nil and will be used for request cancellation. If
5740// the context is nil a panic will occur. In the future the SDK may create
5741// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5742// for more information on using Contexts.
5743func (c *Connect) ListInstanceAttributesWithContext(ctx aws.Context, input *ListInstanceAttributesInput, opts ...request.Option) (*ListInstanceAttributesOutput, error) {
5744	req, out := c.ListInstanceAttributesRequest(input)
5745	req.SetContext(ctx)
5746	req.ApplyOptions(opts...)
5747	return out, req.Send()
5748}
5749
5750// ListInstanceAttributesPages iterates over the pages of a ListInstanceAttributes operation,
5751// calling the "fn" function with the response data for each page. To stop
5752// iterating, return false from the fn function.
5753//
5754// See ListInstanceAttributes method for more information on how to use this operation.
5755//
5756// Note: This operation can generate multiple requests to a service.
5757//
5758//    // Example iterating over at most 3 pages of a ListInstanceAttributes operation.
5759//    pageNum := 0
5760//    err := client.ListInstanceAttributesPages(params,
5761//        func(page *connect.ListInstanceAttributesOutput, lastPage bool) bool {
5762//            pageNum++
5763//            fmt.Println(page)
5764//            return pageNum <= 3
5765//        })
5766//
5767func (c *Connect) ListInstanceAttributesPages(input *ListInstanceAttributesInput, fn func(*ListInstanceAttributesOutput, bool) bool) error {
5768	return c.ListInstanceAttributesPagesWithContext(aws.BackgroundContext(), input, fn)
5769}
5770
5771// ListInstanceAttributesPagesWithContext same as ListInstanceAttributesPages except
5772// it takes a Context and allows setting request options on the pages.
5773//
5774// The context must be non-nil and will be used for request cancellation. If
5775// the context is nil a panic will occur. In the future the SDK may create
5776// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5777// for more information on using Contexts.
5778func (c *Connect) ListInstanceAttributesPagesWithContext(ctx aws.Context, input *ListInstanceAttributesInput, fn func(*ListInstanceAttributesOutput, bool) bool, opts ...request.Option) error {
5779	p := request.Pagination{
5780		NewRequest: func() (*request.Request, error) {
5781			var inCpy *ListInstanceAttributesInput
5782			if input != nil {
5783				tmp := *input
5784				inCpy = &tmp
5785			}
5786			req, _ := c.ListInstanceAttributesRequest(inCpy)
5787			req.SetContext(ctx)
5788			req.ApplyOptions(opts...)
5789			return req, nil
5790		},
5791	}
5792
5793	for p.Next() {
5794		if !fn(p.Page().(*ListInstanceAttributesOutput), !p.HasNextPage()) {
5795			break
5796		}
5797	}
5798
5799	return p.Err()
5800}
5801
5802const opListInstanceStorageConfigs = "ListInstanceStorageConfigs"
5803
5804// ListInstanceStorageConfigsRequest generates a "aws/request.Request" representing the
5805// client's request for the ListInstanceStorageConfigs operation. The "output" return
5806// value will be populated with the request's response once the request completes
5807// successfully.
5808//
5809// Use "Send" method on the returned Request to send the API call to the service.
5810// the "output" return value is not valid until after Send returns without error.
5811//
5812// See ListInstanceStorageConfigs for more information on using the ListInstanceStorageConfigs
5813// API call, and error handling.
5814//
5815// This method is useful when you want to inject custom logic or configuration
5816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5817//
5818//
5819//    // Example sending a request using the ListInstanceStorageConfigsRequest method.
5820//    req, resp := client.ListInstanceStorageConfigsRequest(params)
5821//
5822//    err := req.Send()
5823//    if err == nil { // resp is now filled
5824//        fmt.Println(resp)
5825//    }
5826//
5827// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceStorageConfigs
5828func (c *Connect) ListInstanceStorageConfigsRequest(input *ListInstanceStorageConfigsInput) (req *request.Request, output *ListInstanceStorageConfigsOutput) {
5829	op := &request.Operation{
5830		Name:       opListInstanceStorageConfigs,
5831		HTTPMethod: "GET",
5832		HTTPPath:   "/instance/{InstanceId}/storage-configs",
5833		Paginator: &request.Paginator{
5834			InputTokens:     []string{"NextToken"},
5835			OutputTokens:    []string{"NextToken"},
5836			LimitToken:      "MaxResults",
5837			TruncationToken: "",
5838		},
5839	}
5840
5841	if input == nil {
5842		input = &ListInstanceStorageConfigsInput{}
5843	}
5844
5845	output = &ListInstanceStorageConfigsOutput{}
5846	req = c.newRequest(op, input, output)
5847	return
5848}
5849
5850// ListInstanceStorageConfigs API operation for Amazon Connect Service.
5851//
5852// This API is in preview release for Amazon Connect and is subject to change.
5853//
5854// Returns a paginated list of storage configs for the identified instance and
5855// resource type.
5856//
5857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5858// with awserr.Error's Code and Message methods to get detailed information about
5859// the error.
5860//
5861// See the AWS API reference guide for Amazon Connect Service's
5862// API operation ListInstanceStorageConfigs for usage and error information.
5863//
5864// Returned Error Types:
5865//   * ResourceNotFoundException
5866//   The specified resource was not found.
5867//
5868//   * InternalServiceException
5869//   Request processing failed because of an error or failure with the service.
5870//
5871//   * InvalidRequestException
5872//   The request is not valid.
5873//
5874//   * InvalidParameterException
5875//   One or more of the specified parameters are not valid.
5876//
5877//   * ThrottlingException
5878//   The throttling limit has been exceeded.
5879//
5880// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceStorageConfigs
5881func (c *Connect) ListInstanceStorageConfigs(input *ListInstanceStorageConfigsInput) (*ListInstanceStorageConfigsOutput, error) {
5882	req, out := c.ListInstanceStorageConfigsRequest(input)
5883	return out, req.Send()
5884}
5885
5886// ListInstanceStorageConfigsWithContext is the same as ListInstanceStorageConfigs with the addition of
5887// the ability to pass a context and additional request options.
5888//
5889// See ListInstanceStorageConfigs for details on how to use this API operation.
5890//
5891// The context must be non-nil and will be used for request cancellation. If
5892// the context is nil a panic will occur. In the future the SDK may create
5893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5894// for more information on using Contexts.
5895func (c *Connect) ListInstanceStorageConfigsWithContext(ctx aws.Context, input *ListInstanceStorageConfigsInput, opts ...request.Option) (*ListInstanceStorageConfigsOutput, error) {
5896	req, out := c.ListInstanceStorageConfigsRequest(input)
5897	req.SetContext(ctx)
5898	req.ApplyOptions(opts...)
5899	return out, req.Send()
5900}
5901
5902// ListInstanceStorageConfigsPages iterates over the pages of a ListInstanceStorageConfigs operation,
5903// calling the "fn" function with the response data for each page. To stop
5904// iterating, return false from the fn function.
5905//
5906// See ListInstanceStorageConfigs method for more information on how to use this operation.
5907//
5908// Note: This operation can generate multiple requests to a service.
5909//
5910//    // Example iterating over at most 3 pages of a ListInstanceStorageConfigs operation.
5911//    pageNum := 0
5912//    err := client.ListInstanceStorageConfigsPages(params,
5913//        func(page *connect.ListInstanceStorageConfigsOutput, lastPage bool) bool {
5914//            pageNum++
5915//            fmt.Println(page)
5916//            return pageNum <= 3
5917//        })
5918//
5919func (c *Connect) ListInstanceStorageConfigsPages(input *ListInstanceStorageConfigsInput, fn func(*ListInstanceStorageConfigsOutput, bool) bool) error {
5920	return c.ListInstanceStorageConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
5921}
5922
5923// ListInstanceStorageConfigsPagesWithContext same as ListInstanceStorageConfigsPages except
5924// it takes a Context and allows setting request options on the pages.
5925//
5926// The context must be non-nil and will be used for request cancellation. If
5927// the context is nil a panic will occur. In the future the SDK may create
5928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5929// for more information on using Contexts.
5930func (c *Connect) ListInstanceStorageConfigsPagesWithContext(ctx aws.Context, input *ListInstanceStorageConfigsInput, fn func(*ListInstanceStorageConfigsOutput, bool) bool, opts ...request.Option) error {
5931	p := request.Pagination{
5932		NewRequest: func() (*request.Request, error) {
5933			var inCpy *ListInstanceStorageConfigsInput
5934			if input != nil {
5935				tmp := *input
5936				inCpy = &tmp
5937			}
5938			req, _ := c.ListInstanceStorageConfigsRequest(inCpy)
5939			req.SetContext(ctx)
5940			req.ApplyOptions(opts...)
5941			return req, nil
5942		},
5943	}
5944
5945	for p.Next() {
5946		if !fn(p.Page().(*ListInstanceStorageConfigsOutput), !p.HasNextPage()) {
5947			break
5948		}
5949	}
5950
5951	return p.Err()
5952}
5953
5954const opListInstances = "ListInstances"
5955
5956// ListInstancesRequest generates a "aws/request.Request" representing the
5957// client's request for the ListInstances operation. The "output" return
5958// value will be populated with the request's response once the request completes
5959// successfully.
5960//
5961// Use "Send" method on the returned Request to send the API call to the service.
5962// the "output" return value is not valid until after Send returns without error.
5963//
5964// See ListInstances for more information on using the ListInstances
5965// API call, and error handling.
5966//
5967// This method is useful when you want to inject custom logic or configuration
5968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5969//
5970//
5971//    // Example sending a request using the ListInstancesRequest method.
5972//    req, resp := client.ListInstancesRequest(params)
5973//
5974//    err := req.Send()
5975//    if err == nil { // resp is now filled
5976//        fmt.Println(resp)
5977//    }
5978//
5979// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstances
5980func (c *Connect) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) {
5981	op := &request.Operation{
5982		Name:       opListInstances,
5983		HTTPMethod: "GET",
5984		HTTPPath:   "/instance",
5985		Paginator: &request.Paginator{
5986			InputTokens:     []string{"NextToken"},
5987			OutputTokens:    []string{"NextToken"},
5988			LimitToken:      "MaxResults",
5989			TruncationToken: "",
5990		},
5991	}
5992
5993	if input == nil {
5994		input = &ListInstancesInput{}
5995	}
5996
5997	output = &ListInstancesOutput{}
5998	req = c.newRequest(op, input, output)
5999	return
6000}
6001
6002// ListInstances API operation for Amazon Connect Service.
6003//
6004// This API is in preview release for Amazon Connect and is subject to change.
6005//
6006// Return a list of instances which are in active state, creation-in-progress
6007// state, and failed state. Instances that aren't successfully created (they
6008// are in a failed state) are returned only for 24 hours after the CreateInstance
6009// API was invoked.
6010//
6011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6012// with awserr.Error's Code and Message methods to get detailed information about
6013// the error.
6014//
6015// See the AWS API reference guide for Amazon Connect Service's
6016// API operation ListInstances for usage and error information.
6017//
6018// Returned Error Types:
6019//   * InvalidRequestException
6020//   The request is not valid.
6021//
6022//   * InternalServiceException
6023//   Request processing failed because of an error or failure with the service.
6024//
6025// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstances
6026func (c *Connect) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) {
6027	req, out := c.ListInstancesRequest(input)
6028	return out, req.Send()
6029}
6030
6031// ListInstancesWithContext is the same as ListInstances with the addition of
6032// the ability to pass a context and additional request options.
6033//
6034// See ListInstances for details on how to use this API operation.
6035//
6036// The context must be non-nil and will be used for request cancellation. If
6037// the context is nil a panic will occur. In the future the SDK may create
6038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6039// for more information on using Contexts.
6040func (c *Connect) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) {
6041	req, out := c.ListInstancesRequest(input)
6042	req.SetContext(ctx)
6043	req.ApplyOptions(opts...)
6044	return out, req.Send()
6045}
6046
6047// ListInstancesPages iterates over the pages of a ListInstances operation,
6048// calling the "fn" function with the response data for each page. To stop
6049// iterating, return false from the fn function.
6050//
6051// See ListInstances method for more information on how to use this operation.
6052//
6053// Note: This operation can generate multiple requests to a service.
6054//
6055//    // Example iterating over at most 3 pages of a ListInstances operation.
6056//    pageNum := 0
6057//    err := client.ListInstancesPages(params,
6058//        func(page *connect.ListInstancesOutput, lastPage bool) bool {
6059//            pageNum++
6060//            fmt.Println(page)
6061//            return pageNum <= 3
6062//        })
6063//
6064func (c *Connect) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error {
6065	return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
6066}
6067
6068// ListInstancesPagesWithContext same as ListInstancesPages except
6069// it takes a Context and allows setting request options on the pages.
6070//
6071// The context must be non-nil and will be used for request cancellation. If
6072// the context is nil a panic will occur. In the future the SDK may create
6073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6074// for more information on using Contexts.
6075func (c *Connect) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error {
6076	p := request.Pagination{
6077		NewRequest: func() (*request.Request, error) {
6078			var inCpy *ListInstancesInput
6079			if input != nil {
6080				tmp := *input
6081				inCpy = &tmp
6082			}
6083			req, _ := c.ListInstancesRequest(inCpy)
6084			req.SetContext(ctx)
6085			req.ApplyOptions(opts...)
6086			return req, nil
6087		},
6088	}
6089
6090	for p.Next() {
6091		if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) {
6092			break
6093		}
6094	}
6095
6096	return p.Err()
6097}
6098
6099const opListIntegrationAssociations = "ListIntegrationAssociations"
6100
6101// ListIntegrationAssociationsRequest generates a "aws/request.Request" representing the
6102// client's request for the ListIntegrationAssociations operation. The "output" return
6103// value will be populated with the request's response once the request completes
6104// successfully.
6105//
6106// Use "Send" method on the returned Request to send the API call to the service.
6107// the "output" return value is not valid until after Send returns without error.
6108//
6109// See ListIntegrationAssociations for more information on using the ListIntegrationAssociations
6110// API call, and error handling.
6111//
6112// This method is useful when you want to inject custom logic or configuration
6113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6114//
6115//
6116//    // Example sending a request using the ListIntegrationAssociationsRequest method.
6117//    req, resp := client.ListIntegrationAssociationsRequest(params)
6118//
6119//    err := req.Send()
6120//    if err == nil { // resp is now filled
6121//        fmt.Println(resp)
6122//    }
6123//
6124// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListIntegrationAssociations
6125func (c *Connect) ListIntegrationAssociationsRequest(input *ListIntegrationAssociationsInput) (req *request.Request, output *ListIntegrationAssociationsOutput) {
6126	op := &request.Operation{
6127		Name:       opListIntegrationAssociations,
6128		HTTPMethod: "GET",
6129		HTTPPath:   "/instance/{InstanceId}/integration-associations",
6130		Paginator: &request.Paginator{
6131			InputTokens:     []string{"NextToken"},
6132			OutputTokens:    []string{"NextToken"},
6133			LimitToken:      "MaxResults",
6134			TruncationToken: "",
6135		},
6136	}
6137
6138	if input == nil {
6139		input = &ListIntegrationAssociationsInput{}
6140	}
6141
6142	output = &ListIntegrationAssociationsOutput{}
6143	req = c.newRequest(op, input, output)
6144	return
6145}
6146
6147// ListIntegrationAssociations API operation for Amazon Connect Service.
6148//
6149// Provides summary information about the AppIntegration associations for the
6150// specified Amazon Connect instance.
6151//
6152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6153// with awserr.Error's Code and Message methods to get detailed information about
6154// the error.
6155//
6156// See the AWS API reference guide for Amazon Connect Service's
6157// API operation ListIntegrationAssociations for usage and error information.
6158//
6159// Returned Error Types:
6160//   * ResourceNotFoundException
6161//   The specified resource was not found.
6162//
6163//   * InternalServiceException
6164//   Request processing failed because of an error or failure with the service.
6165//
6166//   * InvalidRequestException
6167//   The request is not valid.
6168//
6169//   * ThrottlingException
6170//   The throttling limit has been exceeded.
6171//
6172// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListIntegrationAssociations
6173func (c *Connect) ListIntegrationAssociations(input *ListIntegrationAssociationsInput) (*ListIntegrationAssociationsOutput, error) {
6174	req, out := c.ListIntegrationAssociationsRequest(input)
6175	return out, req.Send()
6176}
6177
6178// ListIntegrationAssociationsWithContext is the same as ListIntegrationAssociations with the addition of
6179// the ability to pass a context and additional request options.
6180//
6181// See ListIntegrationAssociations for details on how to use this API operation.
6182//
6183// The context must be non-nil and will be used for request cancellation. If
6184// the context is nil a panic will occur. In the future the SDK may create
6185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6186// for more information on using Contexts.
6187func (c *Connect) ListIntegrationAssociationsWithContext(ctx aws.Context, input *ListIntegrationAssociationsInput, opts ...request.Option) (*ListIntegrationAssociationsOutput, error) {
6188	req, out := c.ListIntegrationAssociationsRequest(input)
6189	req.SetContext(ctx)
6190	req.ApplyOptions(opts...)
6191	return out, req.Send()
6192}
6193
6194// ListIntegrationAssociationsPages iterates over the pages of a ListIntegrationAssociations operation,
6195// calling the "fn" function with the response data for each page. To stop
6196// iterating, return false from the fn function.
6197//
6198// See ListIntegrationAssociations method for more information on how to use this operation.
6199//
6200// Note: This operation can generate multiple requests to a service.
6201//
6202//    // Example iterating over at most 3 pages of a ListIntegrationAssociations operation.
6203//    pageNum := 0
6204//    err := client.ListIntegrationAssociationsPages(params,
6205//        func(page *connect.ListIntegrationAssociationsOutput, lastPage bool) bool {
6206//            pageNum++
6207//            fmt.Println(page)
6208//            return pageNum <= 3
6209//        })
6210//
6211func (c *Connect) ListIntegrationAssociationsPages(input *ListIntegrationAssociationsInput, fn func(*ListIntegrationAssociationsOutput, bool) bool) error {
6212	return c.ListIntegrationAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
6213}
6214
6215// ListIntegrationAssociationsPagesWithContext same as ListIntegrationAssociationsPages except
6216// it takes a Context and allows setting request options on the pages.
6217//
6218// The context must be non-nil and will be used for request cancellation. If
6219// the context is nil a panic will occur. In the future the SDK may create
6220// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6221// for more information on using Contexts.
6222func (c *Connect) ListIntegrationAssociationsPagesWithContext(ctx aws.Context, input *ListIntegrationAssociationsInput, fn func(*ListIntegrationAssociationsOutput, bool) bool, opts ...request.Option) error {
6223	p := request.Pagination{
6224		NewRequest: func() (*request.Request, error) {
6225			var inCpy *ListIntegrationAssociationsInput
6226			if input != nil {
6227				tmp := *input
6228				inCpy = &tmp
6229			}
6230			req, _ := c.ListIntegrationAssociationsRequest(inCpy)
6231			req.SetContext(ctx)
6232			req.ApplyOptions(opts...)
6233			return req, nil
6234		},
6235	}
6236
6237	for p.Next() {
6238		if !fn(p.Page().(*ListIntegrationAssociationsOutput), !p.HasNextPage()) {
6239			break
6240		}
6241	}
6242
6243	return p.Err()
6244}
6245
6246const opListLambdaFunctions = "ListLambdaFunctions"
6247
6248// ListLambdaFunctionsRequest generates a "aws/request.Request" representing the
6249// client's request for the ListLambdaFunctions operation. The "output" return
6250// value will be populated with the request's response once the request completes
6251// successfully.
6252//
6253// Use "Send" method on the returned Request to send the API call to the service.
6254// the "output" return value is not valid until after Send returns without error.
6255//
6256// See ListLambdaFunctions for more information on using the ListLambdaFunctions
6257// API call, and error handling.
6258//
6259// This method is useful when you want to inject custom logic or configuration
6260// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6261//
6262//
6263//    // Example sending a request using the ListLambdaFunctionsRequest method.
6264//    req, resp := client.ListLambdaFunctionsRequest(params)
6265//
6266//    err := req.Send()
6267//    if err == nil { // resp is now filled
6268//        fmt.Println(resp)
6269//    }
6270//
6271// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLambdaFunctions
6272func (c *Connect) ListLambdaFunctionsRequest(input *ListLambdaFunctionsInput) (req *request.Request, output *ListLambdaFunctionsOutput) {
6273	op := &request.Operation{
6274		Name:       opListLambdaFunctions,
6275		HTTPMethod: "GET",
6276		HTTPPath:   "/instance/{InstanceId}/lambda-functions",
6277		Paginator: &request.Paginator{
6278			InputTokens:     []string{"NextToken"},
6279			OutputTokens:    []string{"NextToken"},
6280			LimitToken:      "MaxResults",
6281			TruncationToken: "",
6282		},
6283	}
6284
6285	if input == nil {
6286		input = &ListLambdaFunctionsInput{}
6287	}
6288
6289	output = &ListLambdaFunctionsOutput{}
6290	req = c.newRequest(op, input, output)
6291	return
6292}
6293
6294// ListLambdaFunctions API operation for Amazon Connect Service.
6295//
6296// This API is in preview release for Amazon Connect and is subject to change.
6297//
6298// Returns a paginated list of all Lambda functions that display in the dropdown
6299// options in the relevant contact flow blocks.
6300//
6301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6302// with awserr.Error's Code and Message methods to get detailed information about
6303// the error.
6304//
6305// See the AWS API reference guide for Amazon Connect Service's
6306// API operation ListLambdaFunctions for usage and error information.
6307//
6308// Returned Error Types:
6309//   * ResourceNotFoundException
6310//   The specified resource was not found.
6311//
6312//   * InternalServiceException
6313//   Request processing failed because of an error or failure with the service.
6314//
6315//   * InvalidRequestException
6316//   The request is not valid.
6317//
6318//   * InvalidParameterException
6319//   One or more of the specified parameters are not valid.
6320//
6321//   * ThrottlingException
6322//   The throttling limit has been exceeded.
6323//
6324// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLambdaFunctions
6325func (c *Connect) ListLambdaFunctions(input *ListLambdaFunctionsInput) (*ListLambdaFunctionsOutput, error) {
6326	req, out := c.ListLambdaFunctionsRequest(input)
6327	return out, req.Send()
6328}
6329
6330// ListLambdaFunctionsWithContext is the same as ListLambdaFunctions with the addition of
6331// the ability to pass a context and additional request options.
6332//
6333// See ListLambdaFunctions for details on how to use this API operation.
6334//
6335// The context must be non-nil and will be used for request cancellation. If
6336// the context is nil a panic will occur. In the future the SDK may create
6337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6338// for more information on using Contexts.
6339func (c *Connect) ListLambdaFunctionsWithContext(ctx aws.Context, input *ListLambdaFunctionsInput, opts ...request.Option) (*ListLambdaFunctionsOutput, error) {
6340	req, out := c.ListLambdaFunctionsRequest(input)
6341	req.SetContext(ctx)
6342	req.ApplyOptions(opts...)
6343	return out, req.Send()
6344}
6345
6346// ListLambdaFunctionsPages iterates over the pages of a ListLambdaFunctions operation,
6347// calling the "fn" function with the response data for each page. To stop
6348// iterating, return false from the fn function.
6349//
6350// See ListLambdaFunctions method for more information on how to use this operation.
6351//
6352// Note: This operation can generate multiple requests to a service.
6353//
6354//    // Example iterating over at most 3 pages of a ListLambdaFunctions operation.
6355//    pageNum := 0
6356//    err := client.ListLambdaFunctionsPages(params,
6357//        func(page *connect.ListLambdaFunctionsOutput, lastPage bool) bool {
6358//            pageNum++
6359//            fmt.Println(page)
6360//            return pageNum <= 3
6361//        })
6362//
6363func (c *Connect) ListLambdaFunctionsPages(input *ListLambdaFunctionsInput, fn func(*ListLambdaFunctionsOutput, bool) bool) error {
6364	return c.ListLambdaFunctionsPagesWithContext(aws.BackgroundContext(), input, fn)
6365}
6366
6367// ListLambdaFunctionsPagesWithContext same as ListLambdaFunctionsPages except
6368// it takes a Context and allows setting request options on the pages.
6369//
6370// The context must be non-nil and will be used for request cancellation. If
6371// the context is nil a panic will occur. In the future the SDK may create
6372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6373// for more information on using Contexts.
6374func (c *Connect) ListLambdaFunctionsPagesWithContext(ctx aws.Context, input *ListLambdaFunctionsInput, fn func(*ListLambdaFunctionsOutput, bool) bool, opts ...request.Option) error {
6375	p := request.Pagination{
6376		NewRequest: func() (*request.Request, error) {
6377			var inCpy *ListLambdaFunctionsInput
6378			if input != nil {
6379				tmp := *input
6380				inCpy = &tmp
6381			}
6382			req, _ := c.ListLambdaFunctionsRequest(inCpy)
6383			req.SetContext(ctx)
6384			req.ApplyOptions(opts...)
6385			return req, nil
6386		},
6387	}
6388
6389	for p.Next() {
6390		if !fn(p.Page().(*ListLambdaFunctionsOutput), !p.HasNextPage()) {
6391			break
6392		}
6393	}
6394
6395	return p.Err()
6396}
6397
6398const opListLexBots = "ListLexBots"
6399
6400// ListLexBotsRequest generates a "aws/request.Request" representing the
6401// client's request for the ListLexBots operation. The "output" return
6402// value will be populated with the request's response once the request completes
6403// successfully.
6404//
6405// Use "Send" method on the returned Request to send the API call to the service.
6406// the "output" return value is not valid until after Send returns without error.
6407//
6408// See ListLexBots for more information on using the ListLexBots
6409// API call, and error handling.
6410//
6411// This method is useful when you want to inject custom logic or configuration
6412// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6413//
6414//
6415//    // Example sending a request using the ListLexBotsRequest method.
6416//    req, resp := client.ListLexBotsRequest(params)
6417//
6418//    err := req.Send()
6419//    if err == nil { // resp is now filled
6420//        fmt.Println(resp)
6421//    }
6422//
6423// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLexBots
6424func (c *Connect) ListLexBotsRequest(input *ListLexBotsInput) (req *request.Request, output *ListLexBotsOutput) {
6425	op := &request.Operation{
6426		Name:       opListLexBots,
6427		HTTPMethod: "GET",
6428		HTTPPath:   "/instance/{InstanceId}/lex-bots",
6429		Paginator: &request.Paginator{
6430			InputTokens:     []string{"NextToken"},
6431			OutputTokens:    []string{"NextToken"},
6432			LimitToken:      "MaxResults",
6433			TruncationToken: "",
6434		},
6435	}
6436
6437	if input == nil {
6438		input = &ListLexBotsInput{}
6439	}
6440
6441	output = &ListLexBotsOutput{}
6442	req = c.newRequest(op, input, output)
6443	return
6444}
6445
6446// ListLexBots API operation for Amazon Connect Service.
6447//
6448// This API is in preview release for Amazon Connect and is subject to change.
6449//
6450// Returns a paginated list of all the Amazon Lex bots currently associated
6451// with the instance.
6452//
6453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6454// with awserr.Error's Code and Message methods to get detailed information about
6455// the error.
6456//
6457// See the AWS API reference guide for Amazon Connect Service's
6458// API operation ListLexBots for usage and error information.
6459//
6460// Returned Error Types:
6461//   * ResourceNotFoundException
6462//   The specified resource was not found.
6463//
6464//   * InternalServiceException
6465//   Request processing failed because of an error or failure with the service.
6466//
6467//   * InvalidRequestException
6468//   The request is not valid.
6469//
6470//   * InvalidParameterException
6471//   One or more of the specified parameters are not valid.
6472//
6473//   * ThrottlingException
6474//   The throttling limit has been exceeded.
6475//
6476// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLexBots
6477func (c *Connect) ListLexBots(input *ListLexBotsInput) (*ListLexBotsOutput, error) {
6478	req, out := c.ListLexBotsRequest(input)
6479	return out, req.Send()
6480}
6481
6482// ListLexBotsWithContext is the same as ListLexBots with the addition of
6483// the ability to pass a context and additional request options.
6484//
6485// See ListLexBots for details on how to use this API operation.
6486//
6487// The context must be non-nil and will be used for request cancellation. If
6488// the context is nil a panic will occur. In the future the SDK may create
6489// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6490// for more information on using Contexts.
6491func (c *Connect) ListLexBotsWithContext(ctx aws.Context, input *ListLexBotsInput, opts ...request.Option) (*ListLexBotsOutput, error) {
6492	req, out := c.ListLexBotsRequest(input)
6493	req.SetContext(ctx)
6494	req.ApplyOptions(opts...)
6495	return out, req.Send()
6496}
6497
6498// ListLexBotsPages iterates over the pages of a ListLexBots operation,
6499// calling the "fn" function with the response data for each page. To stop
6500// iterating, return false from the fn function.
6501//
6502// See ListLexBots method for more information on how to use this operation.
6503//
6504// Note: This operation can generate multiple requests to a service.
6505//
6506//    // Example iterating over at most 3 pages of a ListLexBots operation.
6507//    pageNum := 0
6508//    err := client.ListLexBotsPages(params,
6509//        func(page *connect.ListLexBotsOutput, lastPage bool) bool {
6510//            pageNum++
6511//            fmt.Println(page)
6512//            return pageNum <= 3
6513//        })
6514//
6515func (c *Connect) ListLexBotsPages(input *ListLexBotsInput, fn func(*ListLexBotsOutput, bool) bool) error {
6516	return c.ListLexBotsPagesWithContext(aws.BackgroundContext(), input, fn)
6517}
6518
6519// ListLexBotsPagesWithContext same as ListLexBotsPages except
6520// it takes a Context and allows setting request options on the pages.
6521//
6522// The context must be non-nil and will be used for request cancellation. If
6523// the context is nil a panic will occur. In the future the SDK may create
6524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6525// for more information on using Contexts.
6526func (c *Connect) ListLexBotsPagesWithContext(ctx aws.Context, input *ListLexBotsInput, fn func(*ListLexBotsOutput, bool) bool, opts ...request.Option) error {
6527	p := request.Pagination{
6528		NewRequest: func() (*request.Request, error) {
6529			var inCpy *ListLexBotsInput
6530			if input != nil {
6531				tmp := *input
6532				inCpy = &tmp
6533			}
6534			req, _ := c.ListLexBotsRequest(inCpy)
6535			req.SetContext(ctx)
6536			req.ApplyOptions(opts...)
6537			return req, nil
6538		},
6539	}
6540
6541	for p.Next() {
6542		if !fn(p.Page().(*ListLexBotsOutput), !p.HasNextPage()) {
6543			break
6544		}
6545	}
6546
6547	return p.Err()
6548}
6549
6550const opListPhoneNumbers = "ListPhoneNumbers"
6551
6552// ListPhoneNumbersRequest generates a "aws/request.Request" representing the
6553// client's request for the ListPhoneNumbers operation. The "output" return
6554// value will be populated with the request's response once the request completes
6555// successfully.
6556//
6557// Use "Send" method on the returned Request to send the API call to the service.
6558// the "output" return value is not valid until after Send returns without error.
6559//
6560// See ListPhoneNumbers for more information on using the ListPhoneNumbers
6561// API call, and error handling.
6562//
6563// This method is useful when you want to inject custom logic or configuration
6564// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6565//
6566//
6567//    // Example sending a request using the ListPhoneNumbersRequest method.
6568//    req, resp := client.ListPhoneNumbersRequest(params)
6569//
6570//    err := req.Send()
6571//    if err == nil { // resp is now filled
6572//        fmt.Println(resp)
6573//    }
6574//
6575// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers
6576func (c *Connect) ListPhoneNumbersRequest(input *ListPhoneNumbersInput) (req *request.Request, output *ListPhoneNumbersOutput) {
6577	op := &request.Operation{
6578		Name:       opListPhoneNumbers,
6579		HTTPMethod: "GET",
6580		HTTPPath:   "/phone-numbers-summary/{InstanceId}",
6581		Paginator: &request.Paginator{
6582			InputTokens:     []string{"NextToken"},
6583			OutputTokens:    []string{"NextToken"},
6584			LimitToken:      "MaxResults",
6585			TruncationToken: "",
6586		},
6587	}
6588
6589	if input == nil {
6590		input = &ListPhoneNumbersInput{}
6591	}
6592
6593	output = &ListPhoneNumbersOutput{}
6594	req = c.newRequest(op, input, output)
6595	return
6596}
6597
6598// ListPhoneNumbers API operation for Amazon Connect Service.
6599//
6600// Provides information about the phone numbers for the specified Amazon Connect
6601// instance.
6602//
6603// For more information about phone numbers, see Set Up Phone Numbers for Your
6604// Contact Center (https://docs.aws.amazon.com/connect/latest/adminguide/contact-center-phone-number.html)
6605// in the Amazon Connect Administrator Guide.
6606//
6607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6608// with awserr.Error's Code and Message methods to get detailed information about
6609// the error.
6610//
6611// See the AWS API reference guide for Amazon Connect Service's
6612// API operation ListPhoneNumbers for usage and error information.
6613//
6614// Returned Error Types:
6615//   * InvalidRequestException
6616//   The request is not valid.
6617//
6618//   * InvalidParameterException
6619//   One or more of the specified parameters are not valid.
6620//
6621//   * ResourceNotFoundException
6622//   The specified resource was not found.
6623//
6624//   * ThrottlingException
6625//   The throttling limit has been exceeded.
6626//
6627//   * InternalServiceException
6628//   Request processing failed because of an error or failure with the service.
6629//
6630// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers
6631func (c *Connect) ListPhoneNumbers(input *ListPhoneNumbersInput) (*ListPhoneNumbersOutput, error) {
6632	req, out := c.ListPhoneNumbersRequest(input)
6633	return out, req.Send()
6634}
6635
6636// ListPhoneNumbersWithContext is the same as ListPhoneNumbers with the addition of
6637// the ability to pass a context and additional request options.
6638//
6639// See ListPhoneNumbers for details on how to use this API operation.
6640//
6641// The context must be non-nil and will be used for request cancellation. If
6642// the context is nil a panic will occur. In the future the SDK may create
6643// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6644// for more information on using Contexts.
6645func (c *Connect) ListPhoneNumbersWithContext(ctx aws.Context, input *ListPhoneNumbersInput, opts ...request.Option) (*ListPhoneNumbersOutput, error) {
6646	req, out := c.ListPhoneNumbersRequest(input)
6647	req.SetContext(ctx)
6648	req.ApplyOptions(opts...)
6649	return out, req.Send()
6650}
6651
6652// ListPhoneNumbersPages iterates over the pages of a ListPhoneNumbers operation,
6653// calling the "fn" function with the response data for each page. To stop
6654// iterating, return false from the fn function.
6655//
6656// See ListPhoneNumbers method for more information on how to use this operation.
6657//
6658// Note: This operation can generate multiple requests to a service.
6659//
6660//    // Example iterating over at most 3 pages of a ListPhoneNumbers operation.
6661//    pageNum := 0
6662//    err := client.ListPhoneNumbersPages(params,
6663//        func(page *connect.ListPhoneNumbersOutput, lastPage bool) bool {
6664//            pageNum++
6665//            fmt.Println(page)
6666//            return pageNum <= 3
6667//        })
6668//
6669func (c *Connect) ListPhoneNumbersPages(input *ListPhoneNumbersInput, fn func(*ListPhoneNumbersOutput, bool) bool) error {
6670	return c.ListPhoneNumbersPagesWithContext(aws.BackgroundContext(), input, fn)
6671}
6672
6673// ListPhoneNumbersPagesWithContext same as ListPhoneNumbersPages except
6674// it takes a Context and allows setting request options on the pages.
6675//
6676// The context must be non-nil and will be used for request cancellation. If
6677// the context is nil a panic will occur. In the future the SDK may create
6678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6679// for more information on using Contexts.
6680func (c *Connect) ListPhoneNumbersPagesWithContext(ctx aws.Context, input *ListPhoneNumbersInput, fn func(*ListPhoneNumbersOutput, bool) bool, opts ...request.Option) error {
6681	p := request.Pagination{
6682		NewRequest: func() (*request.Request, error) {
6683			var inCpy *ListPhoneNumbersInput
6684			if input != nil {
6685				tmp := *input
6686				inCpy = &tmp
6687			}
6688			req, _ := c.ListPhoneNumbersRequest(inCpy)
6689			req.SetContext(ctx)
6690			req.ApplyOptions(opts...)
6691			return req, nil
6692		},
6693	}
6694
6695	for p.Next() {
6696		if !fn(p.Page().(*ListPhoneNumbersOutput), !p.HasNextPage()) {
6697			break
6698		}
6699	}
6700
6701	return p.Err()
6702}
6703
6704const opListPrompts = "ListPrompts"
6705
6706// ListPromptsRequest generates a "aws/request.Request" representing the
6707// client's request for the ListPrompts operation. The "output" return
6708// value will be populated with the request's response once the request completes
6709// successfully.
6710//
6711// Use "Send" method on the returned Request to send the API call to the service.
6712// the "output" return value is not valid until after Send returns without error.
6713//
6714// See ListPrompts for more information on using the ListPrompts
6715// API call, and error handling.
6716//
6717// This method is useful when you want to inject custom logic or configuration
6718// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6719//
6720//
6721//    // Example sending a request using the ListPromptsRequest method.
6722//    req, resp := client.ListPromptsRequest(params)
6723//
6724//    err := req.Send()
6725//    if err == nil { // resp is now filled
6726//        fmt.Println(resp)
6727//    }
6728//
6729// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPrompts
6730func (c *Connect) ListPromptsRequest(input *ListPromptsInput) (req *request.Request, output *ListPromptsOutput) {
6731	op := &request.Operation{
6732		Name:       opListPrompts,
6733		HTTPMethod: "GET",
6734		HTTPPath:   "/prompts-summary/{InstanceId}",
6735		Paginator: &request.Paginator{
6736			InputTokens:     []string{"NextToken"},
6737			OutputTokens:    []string{"NextToken"},
6738			LimitToken:      "MaxResults",
6739			TruncationToken: "",
6740		},
6741	}
6742
6743	if input == nil {
6744		input = &ListPromptsInput{}
6745	}
6746
6747	output = &ListPromptsOutput{}
6748	req = c.newRequest(op, input, output)
6749	return
6750}
6751
6752// ListPrompts API operation for Amazon Connect Service.
6753//
6754// Provides information about the prompts for the specified Amazon Connect instance.
6755//
6756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6757// with awserr.Error's Code and Message methods to get detailed information about
6758// the error.
6759//
6760// See the AWS API reference guide for Amazon Connect Service's
6761// API operation ListPrompts for usage and error information.
6762//
6763// Returned Error Types:
6764//   * InvalidRequestException
6765//   The request is not valid.
6766//
6767//   * InvalidParameterException
6768//   One or more of the specified parameters are not valid.
6769//
6770//   * ResourceNotFoundException
6771//   The specified resource was not found.
6772//
6773//   * ThrottlingException
6774//   The throttling limit has been exceeded.
6775//
6776//   * InternalServiceException
6777//   Request processing failed because of an error or failure with the service.
6778//
6779// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPrompts
6780func (c *Connect) ListPrompts(input *ListPromptsInput) (*ListPromptsOutput, error) {
6781	req, out := c.ListPromptsRequest(input)
6782	return out, req.Send()
6783}
6784
6785// ListPromptsWithContext is the same as ListPrompts with the addition of
6786// the ability to pass a context and additional request options.
6787//
6788// See ListPrompts for details on how to use this API operation.
6789//
6790// The context must be non-nil and will be used for request cancellation. If
6791// the context is nil a panic will occur. In the future the SDK may create
6792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6793// for more information on using Contexts.
6794func (c *Connect) ListPromptsWithContext(ctx aws.Context, input *ListPromptsInput, opts ...request.Option) (*ListPromptsOutput, error) {
6795	req, out := c.ListPromptsRequest(input)
6796	req.SetContext(ctx)
6797	req.ApplyOptions(opts...)
6798	return out, req.Send()
6799}
6800
6801// ListPromptsPages iterates over the pages of a ListPrompts operation,
6802// calling the "fn" function with the response data for each page. To stop
6803// iterating, return false from the fn function.
6804//
6805// See ListPrompts method for more information on how to use this operation.
6806//
6807// Note: This operation can generate multiple requests to a service.
6808//
6809//    // Example iterating over at most 3 pages of a ListPrompts operation.
6810//    pageNum := 0
6811//    err := client.ListPromptsPages(params,
6812//        func(page *connect.ListPromptsOutput, lastPage bool) bool {
6813//            pageNum++
6814//            fmt.Println(page)
6815//            return pageNum <= 3
6816//        })
6817//
6818func (c *Connect) ListPromptsPages(input *ListPromptsInput, fn func(*ListPromptsOutput, bool) bool) error {
6819	return c.ListPromptsPagesWithContext(aws.BackgroundContext(), input, fn)
6820}
6821
6822// ListPromptsPagesWithContext same as ListPromptsPages except
6823// it takes a Context and allows setting request options on the pages.
6824//
6825// The context must be non-nil and will be used for request cancellation. If
6826// the context is nil a panic will occur. In the future the SDK may create
6827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6828// for more information on using Contexts.
6829func (c *Connect) ListPromptsPagesWithContext(ctx aws.Context, input *ListPromptsInput, fn func(*ListPromptsOutput, bool) bool, opts ...request.Option) error {
6830	p := request.Pagination{
6831		NewRequest: func() (*request.Request, error) {
6832			var inCpy *ListPromptsInput
6833			if input != nil {
6834				tmp := *input
6835				inCpy = &tmp
6836			}
6837			req, _ := c.ListPromptsRequest(inCpy)
6838			req.SetContext(ctx)
6839			req.ApplyOptions(opts...)
6840			return req, nil
6841		},
6842	}
6843
6844	for p.Next() {
6845		if !fn(p.Page().(*ListPromptsOutput), !p.HasNextPage()) {
6846			break
6847		}
6848	}
6849
6850	return p.Err()
6851}
6852
6853const opListQueueQuickConnects = "ListQueueQuickConnects"
6854
6855// ListQueueQuickConnectsRequest generates a "aws/request.Request" representing the
6856// client's request for the ListQueueQuickConnects operation. The "output" return
6857// value will be populated with the request's response once the request completes
6858// successfully.
6859//
6860// Use "Send" method on the returned Request to send the API call to the service.
6861// the "output" return value is not valid until after Send returns without error.
6862//
6863// See ListQueueQuickConnects for more information on using the ListQueueQuickConnects
6864// API call, and error handling.
6865//
6866// This method is useful when you want to inject custom logic or configuration
6867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6868//
6869//
6870//    // Example sending a request using the ListQueueQuickConnectsRequest method.
6871//    req, resp := client.ListQueueQuickConnectsRequest(params)
6872//
6873//    err := req.Send()
6874//    if err == nil { // resp is now filled
6875//        fmt.Println(resp)
6876//    }
6877//
6878// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueueQuickConnects
6879func (c *Connect) ListQueueQuickConnectsRequest(input *ListQueueQuickConnectsInput) (req *request.Request, output *ListQueueQuickConnectsOutput) {
6880	op := &request.Operation{
6881		Name:       opListQueueQuickConnects,
6882		HTTPMethod: "GET",
6883		HTTPPath:   "/queues/{InstanceId}/{QueueId}/quick-connects",
6884		Paginator: &request.Paginator{
6885			InputTokens:     []string{"NextToken"},
6886			OutputTokens:    []string{"NextToken"},
6887			LimitToken:      "MaxResults",
6888			TruncationToken: "",
6889		},
6890	}
6891
6892	if input == nil {
6893		input = &ListQueueQuickConnectsInput{}
6894	}
6895
6896	output = &ListQueueQuickConnectsOutput{}
6897	req = c.newRequest(op, input, output)
6898	return
6899}
6900
6901// ListQueueQuickConnects API operation for Amazon Connect Service.
6902//
6903// This API is in preview release for Amazon Connect and is subject to change.
6904//
6905// Lists the quick connects associated with a queue.
6906//
6907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6908// with awserr.Error's Code and Message methods to get detailed information about
6909// the error.
6910//
6911// See the AWS API reference guide for Amazon Connect Service's
6912// API operation ListQueueQuickConnects for usage and error information.
6913//
6914// Returned Error Types:
6915//   * InvalidRequestException
6916//   The request is not valid.
6917//
6918//   * InvalidParameterException
6919//   One or more of the specified parameters are not valid.
6920//
6921//   * ResourceNotFoundException
6922//   The specified resource was not found.
6923//
6924//   * ThrottlingException
6925//   The throttling limit has been exceeded.
6926//
6927//   * InternalServiceException
6928//   Request processing failed because of an error or failure with the service.
6929//
6930// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueueQuickConnects
6931func (c *Connect) ListQueueQuickConnects(input *ListQueueQuickConnectsInput) (*ListQueueQuickConnectsOutput, error) {
6932	req, out := c.ListQueueQuickConnectsRequest(input)
6933	return out, req.Send()
6934}
6935
6936// ListQueueQuickConnectsWithContext is the same as ListQueueQuickConnects with the addition of
6937// the ability to pass a context and additional request options.
6938//
6939// See ListQueueQuickConnects for details on how to use this API operation.
6940//
6941// The context must be non-nil and will be used for request cancellation. If
6942// the context is nil a panic will occur. In the future the SDK may create
6943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6944// for more information on using Contexts.
6945func (c *Connect) ListQueueQuickConnectsWithContext(ctx aws.Context, input *ListQueueQuickConnectsInput, opts ...request.Option) (*ListQueueQuickConnectsOutput, error) {
6946	req, out := c.ListQueueQuickConnectsRequest(input)
6947	req.SetContext(ctx)
6948	req.ApplyOptions(opts...)
6949	return out, req.Send()
6950}
6951
6952// ListQueueQuickConnectsPages iterates over the pages of a ListQueueQuickConnects operation,
6953// calling the "fn" function with the response data for each page. To stop
6954// iterating, return false from the fn function.
6955//
6956// See ListQueueQuickConnects method for more information on how to use this operation.
6957//
6958// Note: This operation can generate multiple requests to a service.
6959//
6960//    // Example iterating over at most 3 pages of a ListQueueQuickConnects operation.
6961//    pageNum := 0
6962//    err := client.ListQueueQuickConnectsPages(params,
6963//        func(page *connect.ListQueueQuickConnectsOutput, lastPage bool) bool {
6964//            pageNum++
6965//            fmt.Println(page)
6966//            return pageNum <= 3
6967//        })
6968//
6969func (c *Connect) ListQueueQuickConnectsPages(input *ListQueueQuickConnectsInput, fn func(*ListQueueQuickConnectsOutput, bool) bool) error {
6970	return c.ListQueueQuickConnectsPagesWithContext(aws.BackgroundContext(), input, fn)
6971}
6972
6973// ListQueueQuickConnectsPagesWithContext same as ListQueueQuickConnectsPages except
6974// it takes a Context and allows setting request options on the pages.
6975//
6976// The context must be non-nil and will be used for request cancellation. If
6977// the context is nil a panic will occur. In the future the SDK may create
6978// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6979// for more information on using Contexts.
6980func (c *Connect) ListQueueQuickConnectsPagesWithContext(ctx aws.Context, input *ListQueueQuickConnectsInput, fn func(*ListQueueQuickConnectsOutput, bool) bool, opts ...request.Option) error {
6981	p := request.Pagination{
6982		NewRequest: func() (*request.Request, error) {
6983			var inCpy *ListQueueQuickConnectsInput
6984			if input != nil {
6985				tmp := *input
6986				inCpy = &tmp
6987			}
6988			req, _ := c.ListQueueQuickConnectsRequest(inCpy)
6989			req.SetContext(ctx)
6990			req.ApplyOptions(opts...)
6991			return req, nil
6992		},
6993	}
6994
6995	for p.Next() {
6996		if !fn(p.Page().(*ListQueueQuickConnectsOutput), !p.HasNextPage()) {
6997			break
6998		}
6999	}
7000
7001	return p.Err()
7002}
7003
7004const opListQueues = "ListQueues"
7005
7006// ListQueuesRequest generates a "aws/request.Request" representing the
7007// client's request for the ListQueues operation. The "output" return
7008// value will be populated with the request's response once the request completes
7009// successfully.
7010//
7011// Use "Send" method on the returned Request to send the API call to the service.
7012// the "output" return value is not valid until after Send returns without error.
7013//
7014// See ListQueues for more information on using the ListQueues
7015// API call, and error handling.
7016//
7017// This method is useful when you want to inject custom logic or configuration
7018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7019//
7020//
7021//    // Example sending a request using the ListQueuesRequest method.
7022//    req, resp := client.ListQueuesRequest(params)
7023//
7024//    err := req.Send()
7025//    if err == nil { // resp is now filled
7026//        fmt.Println(resp)
7027//    }
7028//
7029// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues
7030func (c *Connect) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, output *ListQueuesOutput) {
7031	op := &request.Operation{
7032		Name:       opListQueues,
7033		HTTPMethod: "GET",
7034		HTTPPath:   "/queues-summary/{InstanceId}",
7035		Paginator: &request.Paginator{
7036			InputTokens:     []string{"NextToken"},
7037			OutputTokens:    []string{"NextToken"},
7038			LimitToken:      "MaxResults",
7039			TruncationToken: "",
7040		},
7041	}
7042
7043	if input == nil {
7044		input = &ListQueuesInput{}
7045	}
7046
7047	output = &ListQueuesOutput{}
7048	req = c.newRequest(op, input, output)
7049	return
7050}
7051
7052// ListQueues API operation for Amazon Connect Service.
7053//
7054// Provides information about the queues for the specified Amazon Connect instance.
7055//
7056// If you do not specify a QueueTypes parameter, both standard and agent queues
7057// are returned. This might cause an unexpected truncation of results if you
7058// have more than 1000 agents and you limit the number of results of the API
7059// call in code.
7060//
7061// For more information about queues, see Queues: Standard and Agent (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-queues-standard-and-agent.html)
7062// in the Amazon Connect Administrator Guide.
7063//
7064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7065// with awserr.Error's Code and Message methods to get detailed information about
7066// the error.
7067//
7068// See the AWS API reference guide for Amazon Connect Service's
7069// API operation ListQueues for usage and error information.
7070//
7071// Returned Error Types:
7072//   * InvalidRequestException
7073//   The request is not valid.
7074//
7075//   * InvalidParameterException
7076//   One or more of the specified parameters are not valid.
7077//
7078//   * ResourceNotFoundException
7079//   The specified resource was not found.
7080//
7081//   * ThrottlingException
7082//   The throttling limit has been exceeded.
7083//
7084//   * InternalServiceException
7085//   Request processing failed because of an error or failure with the service.
7086//
7087// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues
7088func (c *Connect) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) {
7089	req, out := c.ListQueuesRequest(input)
7090	return out, req.Send()
7091}
7092
7093// ListQueuesWithContext is the same as ListQueues with the addition of
7094// the ability to pass a context and additional request options.
7095//
7096// See ListQueues for details on how to use this API operation.
7097//
7098// The context must be non-nil and will be used for request cancellation. If
7099// the context is nil a panic will occur. In the future the SDK may create
7100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7101// for more information on using Contexts.
7102func (c *Connect) ListQueuesWithContext(ctx aws.Context, input *ListQueuesInput, opts ...request.Option) (*ListQueuesOutput, error) {
7103	req, out := c.ListQueuesRequest(input)
7104	req.SetContext(ctx)
7105	req.ApplyOptions(opts...)
7106	return out, req.Send()
7107}
7108
7109// ListQueuesPages iterates over the pages of a ListQueues operation,
7110// calling the "fn" function with the response data for each page. To stop
7111// iterating, return false from the fn function.
7112//
7113// See ListQueues method for more information on how to use this operation.
7114//
7115// Note: This operation can generate multiple requests to a service.
7116//
7117//    // Example iterating over at most 3 pages of a ListQueues operation.
7118//    pageNum := 0
7119//    err := client.ListQueuesPages(params,
7120//        func(page *connect.ListQueuesOutput, lastPage bool) bool {
7121//            pageNum++
7122//            fmt.Println(page)
7123//            return pageNum <= 3
7124//        })
7125//
7126func (c *Connect) ListQueuesPages(input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool) error {
7127	return c.ListQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
7128}
7129
7130// ListQueuesPagesWithContext same as ListQueuesPages except
7131// it takes a Context and allows setting request options on the pages.
7132//
7133// The context must be non-nil and will be used for request cancellation. If
7134// the context is nil a panic will occur. In the future the SDK may create
7135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7136// for more information on using Contexts.
7137func (c *Connect) ListQueuesPagesWithContext(ctx aws.Context, input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool, opts ...request.Option) error {
7138	p := request.Pagination{
7139		NewRequest: func() (*request.Request, error) {
7140			var inCpy *ListQueuesInput
7141			if input != nil {
7142				tmp := *input
7143				inCpy = &tmp
7144			}
7145			req, _ := c.ListQueuesRequest(inCpy)
7146			req.SetContext(ctx)
7147			req.ApplyOptions(opts...)
7148			return req, nil
7149		},
7150	}
7151
7152	for p.Next() {
7153		if !fn(p.Page().(*ListQueuesOutput), !p.HasNextPage()) {
7154			break
7155		}
7156	}
7157
7158	return p.Err()
7159}
7160
7161const opListQuickConnects = "ListQuickConnects"
7162
7163// ListQuickConnectsRequest generates a "aws/request.Request" representing the
7164// client's request for the ListQuickConnects operation. The "output" return
7165// value will be populated with the request's response once the request completes
7166// successfully.
7167//
7168// Use "Send" method on the returned Request to send the API call to the service.
7169// the "output" return value is not valid until after Send returns without error.
7170//
7171// See ListQuickConnects for more information on using the ListQuickConnects
7172// API call, and error handling.
7173//
7174// This method is useful when you want to inject custom logic or configuration
7175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7176//
7177//
7178//    // Example sending a request using the ListQuickConnectsRequest method.
7179//    req, resp := client.ListQuickConnectsRequest(params)
7180//
7181//    err := req.Send()
7182//    if err == nil { // resp is now filled
7183//        fmt.Println(resp)
7184//    }
7185//
7186// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQuickConnects
7187func (c *Connect) ListQuickConnectsRequest(input *ListQuickConnectsInput) (req *request.Request, output *ListQuickConnectsOutput) {
7188	op := &request.Operation{
7189		Name:       opListQuickConnects,
7190		HTTPMethod: "GET",
7191		HTTPPath:   "/quick-connects/{InstanceId}",
7192		Paginator: &request.Paginator{
7193			InputTokens:     []string{"NextToken"},
7194			OutputTokens:    []string{"NextToken"},
7195			LimitToken:      "MaxResults",
7196			TruncationToken: "",
7197		},
7198	}
7199
7200	if input == nil {
7201		input = &ListQuickConnectsInput{}
7202	}
7203
7204	output = &ListQuickConnectsOutput{}
7205	req = c.newRequest(op, input, output)
7206	return
7207}
7208
7209// ListQuickConnects API operation for Amazon Connect Service.
7210//
7211// Provides information about the quick connects for the specified Amazon Connect
7212// instance.
7213//
7214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7215// with awserr.Error's Code and Message methods to get detailed information about
7216// the error.
7217//
7218// See the AWS API reference guide for Amazon Connect Service's
7219// API operation ListQuickConnects for usage and error information.
7220//
7221// Returned Error Types:
7222//   * InvalidRequestException
7223//   The request is not valid.
7224//
7225//   * InvalidParameterException
7226//   One or more of the specified parameters are not valid.
7227//
7228//   * ResourceNotFoundException
7229//   The specified resource was not found.
7230//
7231//   * ThrottlingException
7232//   The throttling limit has been exceeded.
7233//
7234//   * InternalServiceException
7235//   Request processing failed because of an error or failure with the service.
7236//
7237// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQuickConnects
7238func (c *Connect) ListQuickConnects(input *ListQuickConnectsInput) (*ListQuickConnectsOutput, error) {
7239	req, out := c.ListQuickConnectsRequest(input)
7240	return out, req.Send()
7241}
7242
7243// ListQuickConnectsWithContext is the same as ListQuickConnects with the addition of
7244// the ability to pass a context and additional request options.
7245//
7246// See ListQuickConnects for details on how to use this API operation.
7247//
7248// The context must be non-nil and will be used for request cancellation. If
7249// the context is nil a panic will occur. In the future the SDK may create
7250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7251// for more information on using Contexts.
7252func (c *Connect) ListQuickConnectsWithContext(ctx aws.Context, input *ListQuickConnectsInput, opts ...request.Option) (*ListQuickConnectsOutput, error) {
7253	req, out := c.ListQuickConnectsRequest(input)
7254	req.SetContext(ctx)
7255	req.ApplyOptions(opts...)
7256	return out, req.Send()
7257}
7258
7259// ListQuickConnectsPages iterates over the pages of a ListQuickConnects operation,
7260// calling the "fn" function with the response data for each page. To stop
7261// iterating, return false from the fn function.
7262//
7263// See ListQuickConnects method for more information on how to use this operation.
7264//
7265// Note: This operation can generate multiple requests to a service.
7266//
7267//    // Example iterating over at most 3 pages of a ListQuickConnects operation.
7268//    pageNum := 0
7269//    err := client.ListQuickConnectsPages(params,
7270//        func(page *connect.ListQuickConnectsOutput, lastPage bool) bool {
7271//            pageNum++
7272//            fmt.Println(page)
7273//            return pageNum <= 3
7274//        })
7275//
7276func (c *Connect) ListQuickConnectsPages(input *ListQuickConnectsInput, fn func(*ListQuickConnectsOutput, bool) bool) error {
7277	return c.ListQuickConnectsPagesWithContext(aws.BackgroundContext(), input, fn)
7278}
7279
7280// ListQuickConnectsPagesWithContext same as ListQuickConnectsPages except
7281// it takes a Context and allows setting request options on the pages.
7282//
7283// The context must be non-nil and will be used for request cancellation. If
7284// the context is nil a panic will occur. In the future the SDK may create
7285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7286// for more information on using Contexts.
7287func (c *Connect) ListQuickConnectsPagesWithContext(ctx aws.Context, input *ListQuickConnectsInput, fn func(*ListQuickConnectsOutput, bool) bool, opts ...request.Option) error {
7288	p := request.Pagination{
7289		NewRequest: func() (*request.Request, error) {
7290			var inCpy *ListQuickConnectsInput
7291			if input != nil {
7292				tmp := *input
7293				inCpy = &tmp
7294			}
7295			req, _ := c.ListQuickConnectsRequest(inCpy)
7296			req.SetContext(ctx)
7297			req.ApplyOptions(opts...)
7298			return req, nil
7299		},
7300	}
7301
7302	for p.Next() {
7303		if !fn(p.Page().(*ListQuickConnectsOutput), !p.HasNextPage()) {
7304			break
7305		}
7306	}
7307
7308	return p.Err()
7309}
7310
7311const opListRoutingProfileQueues = "ListRoutingProfileQueues"
7312
7313// ListRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
7314// client's request for the ListRoutingProfileQueues operation. The "output" return
7315// value will be populated with the request's response once the request completes
7316// successfully.
7317//
7318// Use "Send" method on the returned Request to send the API call to the service.
7319// the "output" return value is not valid until after Send returns without error.
7320//
7321// See ListRoutingProfileQueues for more information on using the ListRoutingProfileQueues
7322// API call, and error handling.
7323//
7324// This method is useful when you want to inject custom logic or configuration
7325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7326//
7327//
7328//    // Example sending a request using the ListRoutingProfileQueuesRequest method.
7329//    req, resp := client.ListRoutingProfileQueuesRequest(params)
7330//
7331//    err := req.Send()
7332//    if err == nil { // resp is now filled
7333//        fmt.Println(resp)
7334//    }
7335//
7336// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfileQueues
7337func (c *Connect) ListRoutingProfileQueuesRequest(input *ListRoutingProfileQueuesInput) (req *request.Request, output *ListRoutingProfileQueuesOutput) {
7338	op := &request.Operation{
7339		Name:       opListRoutingProfileQueues,
7340		HTTPMethod: "GET",
7341		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues",
7342		Paginator: &request.Paginator{
7343			InputTokens:     []string{"NextToken"},
7344			OutputTokens:    []string{"NextToken"},
7345			LimitToken:      "MaxResults",
7346			TruncationToken: "",
7347		},
7348	}
7349
7350	if input == nil {
7351		input = &ListRoutingProfileQueuesInput{}
7352	}
7353
7354	output = &ListRoutingProfileQueuesOutput{}
7355	req = c.newRequest(op, input, output)
7356	return
7357}
7358
7359// ListRoutingProfileQueues API operation for Amazon Connect Service.
7360//
7361// Lists the queues associated with a routing profile.
7362//
7363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7364// with awserr.Error's Code and Message methods to get detailed information about
7365// the error.
7366//
7367// See the AWS API reference guide for Amazon Connect Service's
7368// API operation ListRoutingProfileQueues for usage and error information.
7369//
7370// Returned Error Types:
7371//   * InvalidRequestException
7372//   The request is not valid.
7373//
7374//   * InvalidParameterException
7375//   One or more of the specified parameters are not valid.
7376//
7377//   * ResourceNotFoundException
7378//   The specified resource was not found.
7379//
7380//   * ThrottlingException
7381//   The throttling limit has been exceeded.
7382//
7383//   * InternalServiceException
7384//   Request processing failed because of an error or failure with the service.
7385//
7386// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfileQueues
7387func (c *Connect) ListRoutingProfileQueues(input *ListRoutingProfileQueuesInput) (*ListRoutingProfileQueuesOutput, error) {
7388	req, out := c.ListRoutingProfileQueuesRequest(input)
7389	return out, req.Send()
7390}
7391
7392// ListRoutingProfileQueuesWithContext is the same as ListRoutingProfileQueues with the addition of
7393// the ability to pass a context and additional request options.
7394//
7395// See ListRoutingProfileQueues for details on how to use this API operation.
7396//
7397// The context must be non-nil and will be used for request cancellation. If
7398// the context is nil a panic will occur. In the future the SDK may create
7399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7400// for more information on using Contexts.
7401func (c *Connect) ListRoutingProfileQueuesWithContext(ctx aws.Context, input *ListRoutingProfileQueuesInput, opts ...request.Option) (*ListRoutingProfileQueuesOutput, error) {
7402	req, out := c.ListRoutingProfileQueuesRequest(input)
7403	req.SetContext(ctx)
7404	req.ApplyOptions(opts...)
7405	return out, req.Send()
7406}
7407
7408// ListRoutingProfileQueuesPages iterates over the pages of a ListRoutingProfileQueues operation,
7409// calling the "fn" function with the response data for each page. To stop
7410// iterating, return false from the fn function.
7411//
7412// See ListRoutingProfileQueues method for more information on how to use this operation.
7413//
7414// Note: This operation can generate multiple requests to a service.
7415//
7416//    // Example iterating over at most 3 pages of a ListRoutingProfileQueues operation.
7417//    pageNum := 0
7418//    err := client.ListRoutingProfileQueuesPages(params,
7419//        func(page *connect.ListRoutingProfileQueuesOutput, lastPage bool) bool {
7420//            pageNum++
7421//            fmt.Println(page)
7422//            return pageNum <= 3
7423//        })
7424//
7425func (c *Connect) ListRoutingProfileQueuesPages(input *ListRoutingProfileQueuesInput, fn func(*ListRoutingProfileQueuesOutput, bool) bool) error {
7426	return c.ListRoutingProfileQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
7427}
7428
7429// ListRoutingProfileQueuesPagesWithContext same as ListRoutingProfileQueuesPages except
7430// it takes a Context and allows setting request options on the pages.
7431//
7432// The context must be non-nil and will be used for request cancellation. If
7433// the context is nil a panic will occur. In the future the SDK may create
7434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7435// for more information on using Contexts.
7436func (c *Connect) ListRoutingProfileQueuesPagesWithContext(ctx aws.Context, input *ListRoutingProfileQueuesInput, fn func(*ListRoutingProfileQueuesOutput, bool) bool, opts ...request.Option) error {
7437	p := request.Pagination{
7438		NewRequest: func() (*request.Request, error) {
7439			var inCpy *ListRoutingProfileQueuesInput
7440			if input != nil {
7441				tmp := *input
7442				inCpy = &tmp
7443			}
7444			req, _ := c.ListRoutingProfileQueuesRequest(inCpy)
7445			req.SetContext(ctx)
7446			req.ApplyOptions(opts...)
7447			return req, nil
7448		},
7449	}
7450
7451	for p.Next() {
7452		if !fn(p.Page().(*ListRoutingProfileQueuesOutput), !p.HasNextPage()) {
7453			break
7454		}
7455	}
7456
7457	return p.Err()
7458}
7459
7460const opListRoutingProfiles = "ListRoutingProfiles"
7461
7462// ListRoutingProfilesRequest generates a "aws/request.Request" representing the
7463// client's request for the ListRoutingProfiles operation. The "output" return
7464// value will be populated with the request's response once the request completes
7465// successfully.
7466//
7467// Use "Send" method on the returned Request to send the API call to the service.
7468// the "output" return value is not valid until after Send returns without error.
7469//
7470// See ListRoutingProfiles for more information on using the ListRoutingProfiles
7471// API call, and error handling.
7472//
7473// This method is useful when you want to inject custom logic or configuration
7474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7475//
7476//
7477//    // Example sending a request using the ListRoutingProfilesRequest method.
7478//    req, resp := client.ListRoutingProfilesRequest(params)
7479//
7480//    err := req.Send()
7481//    if err == nil { // resp is now filled
7482//        fmt.Println(resp)
7483//    }
7484//
7485// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles
7486func (c *Connect) ListRoutingProfilesRequest(input *ListRoutingProfilesInput) (req *request.Request, output *ListRoutingProfilesOutput) {
7487	op := &request.Operation{
7488		Name:       opListRoutingProfiles,
7489		HTTPMethod: "GET",
7490		HTTPPath:   "/routing-profiles-summary/{InstanceId}",
7491		Paginator: &request.Paginator{
7492			InputTokens:     []string{"NextToken"},
7493			OutputTokens:    []string{"NextToken"},
7494			LimitToken:      "MaxResults",
7495			TruncationToken: "",
7496		},
7497	}
7498
7499	if input == nil {
7500		input = &ListRoutingProfilesInput{}
7501	}
7502
7503	output = &ListRoutingProfilesOutput{}
7504	req = c.newRequest(op, input, output)
7505	return
7506}
7507
7508// ListRoutingProfiles API operation for Amazon Connect Service.
7509//
7510// Provides summary information about the routing profiles for the specified
7511// Amazon Connect instance.
7512//
7513// For more information about routing profiles, see Routing Profiles (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing.html)
7514// and Create a Routing Profile (https://docs.aws.amazon.com/connect/latest/adminguide/routing-profiles.html)
7515// in the Amazon Connect Administrator Guide.
7516//
7517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7518// with awserr.Error's Code and Message methods to get detailed information about
7519// the error.
7520//
7521// See the AWS API reference guide for Amazon Connect Service's
7522// API operation ListRoutingProfiles for usage and error information.
7523//
7524// Returned Error Types:
7525//   * InvalidRequestException
7526//   The request is not valid.
7527//
7528//   * InvalidParameterException
7529//   One or more of the specified parameters are not valid.
7530//
7531//   * ResourceNotFoundException
7532//   The specified resource was not found.
7533//
7534//   * ThrottlingException
7535//   The throttling limit has been exceeded.
7536//
7537//   * InternalServiceException
7538//   Request processing failed because of an error or failure with the service.
7539//
7540// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles
7541func (c *Connect) ListRoutingProfiles(input *ListRoutingProfilesInput) (*ListRoutingProfilesOutput, error) {
7542	req, out := c.ListRoutingProfilesRequest(input)
7543	return out, req.Send()
7544}
7545
7546// ListRoutingProfilesWithContext is the same as ListRoutingProfiles with the addition of
7547// the ability to pass a context and additional request options.
7548//
7549// See ListRoutingProfiles for details on how to use this API operation.
7550//
7551// The context must be non-nil and will be used for request cancellation. If
7552// the context is nil a panic will occur. In the future the SDK may create
7553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7554// for more information on using Contexts.
7555func (c *Connect) ListRoutingProfilesWithContext(ctx aws.Context, input *ListRoutingProfilesInput, opts ...request.Option) (*ListRoutingProfilesOutput, error) {
7556	req, out := c.ListRoutingProfilesRequest(input)
7557	req.SetContext(ctx)
7558	req.ApplyOptions(opts...)
7559	return out, req.Send()
7560}
7561
7562// ListRoutingProfilesPages iterates over the pages of a ListRoutingProfiles operation,
7563// calling the "fn" function with the response data for each page. To stop
7564// iterating, return false from the fn function.
7565//
7566// See ListRoutingProfiles method for more information on how to use this operation.
7567//
7568// Note: This operation can generate multiple requests to a service.
7569//
7570//    // Example iterating over at most 3 pages of a ListRoutingProfiles operation.
7571//    pageNum := 0
7572//    err := client.ListRoutingProfilesPages(params,
7573//        func(page *connect.ListRoutingProfilesOutput, lastPage bool) bool {
7574//            pageNum++
7575//            fmt.Println(page)
7576//            return pageNum <= 3
7577//        })
7578//
7579func (c *Connect) ListRoutingProfilesPages(input *ListRoutingProfilesInput, fn func(*ListRoutingProfilesOutput, bool) bool) error {
7580	return c.ListRoutingProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
7581}
7582
7583// ListRoutingProfilesPagesWithContext same as ListRoutingProfilesPages except
7584// it takes a Context and allows setting request options on the pages.
7585//
7586// The context must be non-nil and will be used for request cancellation. If
7587// the context is nil a panic will occur. In the future the SDK may create
7588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7589// for more information on using Contexts.
7590func (c *Connect) ListRoutingProfilesPagesWithContext(ctx aws.Context, input *ListRoutingProfilesInput, fn func(*ListRoutingProfilesOutput, bool) bool, opts ...request.Option) error {
7591	p := request.Pagination{
7592		NewRequest: func() (*request.Request, error) {
7593			var inCpy *ListRoutingProfilesInput
7594			if input != nil {
7595				tmp := *input
7596				inCpy = &tmp
7597			}
7598			req, _ := c.ListRoutingProfilesRequest(inCpy)
7599			req.SetContext(ctx)
7600			req.ApplyOptions(opts...)
7601			return req, nil
7602		},
7603	}
7604
7605	for p.Next() {
7606		if !fn(p.Page().(*ListRoutingProfilesOutput), !p.HasNextPage()) {
7607			break
7608		}
7609	}
7610
7611	return p.Err()
7612}
7613
7614const opListSecurityKeys = "ListSecurityKeys"
7615
7616// ListSecurityKeysRequest generates a "aws/request.Request" representing the
7617// client's request for the ListSecurityKeys operation. The "output" return
7618// value will be populated with the request's response once the request completes
7619// successfully.
7620//
7621// Use "Send" method on the returned Request to send the API call to the service.
7622// the "output" return value is not valid until after Send returns without error.
7623//
7624// See ListSecurityKeys for more information on using the ListSecurityKeys
7625// API call, and error handling.
7626//
7627// This method is useful when you want to inject custom logic or configuration
7628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7629//
7630//
7631//    // Example sending a request using the ListSecurityKeysRequest method.
7632//    req, resp := client.ListSecurityKeysRequest(params)
7633//
7634//    err := req.Send()
7635//    if err == nil { // resp is now filled
7636//        fmt.Println(resp)
7637//    }
7638//
7639// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityKeys
7640func (c *Connect) ListSecurityKeysRequest(input *ListSecurityKeysInput) (req *request.Request, output *ListSecurityKeysOutput) {
7641	op := &request.Operation{
7642		Name:       opListSecurityKeys,
7643		HTTPMethod: "GET",
7644		HTTPPath:   "/instance/{InstanceId}/security-keys",
7645		Paginator: &request.Paginator{
7646			InputTokens:     []string{"NextToken"},
7647			OutputTokens:    []string{"NextToken"},
7648			LimitToken:      "MaxResults",
7649			TruncationToken: "",
7650		},
7651	}
7652
7653	if input == nil {
7654		input = &ListSecurityKeysInput{}
7655	}
7656
7657	output = &ListSecurityKeysOutput{}
7658	req = c.newRequest(op, input, output)
7659	return
7660}
7661
7662// ListSecurityKeys API operation for Amazon Connect Service.
7663//
7664// This API is in preview release for Amazon Connect and is subject to change.
7665//
7666// Returns a paginated list of all security keys associated with the instance.
7667//
7668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7669// with awserr.Error's Code and Message methods to get detailed information about
7670// the error.
7671//
7672// See the AWS API reference guide for Amazon Connect Service's
7673// API operation ListSecurityKeys for usage and error information.
7674//
7675// Returned Error Types:
7676//   * ResourceNotFoundException
7677//   The specified resource was not found.
7678//
7679//   * InternalServiceException
7680//   Request processing failed because of an error or failure with the service.
7681//
7682//   * InvalidRequestException
7683//   The request is not valid.
7684//
7685//   * InvalidParameterException
7686//   One or more of the specified parameters are not valid.
7687//
7688//   * ThrottlingException
7689//   The throttling limit has been exceeded.
7690//
7691// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityKeys
7692func (c *Connect) ListSecurityKeys(input *ListSecurityKeysInput) (*ListSecurityKeysOutput, error) {
7693	req, out := c.ListSecurityKeysRequest(input)
7694	return out, req.Send()
7695}
7696
7697// ListSecurityKeysWithContext is the same as ListSecurityKeys with the addition of
7698// the ability to pass a context and additional request options.
7699//
7700// See ListSecurityKeys for details on how to use this API operation.
7701//
7702// The context must be non-nil and will be used for request cancellation. If
7703// the context is nil a panic will occur. In the future the SDK may create
7704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7705// for more information on using Contexts.
7706func (c *Connect) ListSecurityKeysWithContext(ctx aws.Context, input *ListSecurityKeysInput, opts ...request.Option) (*ListSecurityKeysOutput, error) {
7707	req, out := c.ListSecurityKeysRequest(input)
7708	req.SetContext(ctx)
7709	req.ApplyOptions(opts...)
7710	return out, req.Send()
7711}
7712
7713// ListSecurityKeysPages iterates over the pages of a ListSecurityKeys operation,
7714// calling the "fn" function with the response data for each page. To stop
7715// iterating, return false from the fn function.
7716//
7717// See ListSecurityKeys method for more information on how to use this operation.
7718//
7719// Note: This operation can generate multiple requests to a service.
7720//
7721//    // Example iterating over at most 3 pages of a ListSecurityKeys operation.
7722//    pageNum := 0
7723//    err := client.ListSecurityKeysPages(params,
7724//        func(page *connect.ListSecurityKeysOutput, lastPage bool) bool {
7725//            pageNum++
7726//            fmt.Println(page)
7727//            return pageNum <= 3
7728//        })
7729//
7730func (c *Connect) ListSecurityKeysPages(input *ListSecurityKeysInput, fn func(*ListSecurityKeysOutput, bool) bool) error {
7731	return c.ListSecurityKeysPagesWithContext(aws.BackgroundContext(), input, fn)
7732}
7733
7734// ListSecurityKeysPagesWithContext same as ListSecurityKeysPages except
7735// it takes a Context and allows setting request options on the pages.
7736//
7737// The context must be non-nil and will be used for request cancellation. If
7738// the context is nil a panic will occur. In the future the SDK may create
7739// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7740// for more information on using Contexts.
7741func (c *Connect) ListSecurityKeysPagesWithContext(ctx aws.Context, input *ListSecurityKeysInput, fn func(*ListSecurityKeysOutput, bool) bool, opts ...request.Option) error {
7742	p := request.Pagination{
7743		NewRequest: func() (*request.Request, error) {
7744			var inCpy *ListSecurityKeysInput
7745			if input != nil {
7746				tmp := *input
7747				inCpy = &tmp
7748			}
7749			req, _ := c.ListSecurityKeysRequest(inCpy)
7750			req.SetContext(ctx)
7751			req.ApplyOptions(opts...)
7752			return req, nil
7753		},
7754	}
7755
7756	for p.Next() {
7757		if !fn(p.Page().(*ListSecurityKeysOutput), !p.HasNextPage()) {
7758			break
7759		}
7760	}
7761
7762	return p.Err()
7763}
7764
7765const opListSecurityProfiles = "ListSecurityProfiles"
7766
7767// ListSecurityProfilesRequest generates a "aws/request.Request" representing the
7768// client's request for the ListSecurityProfiles operation. The "output" return
7769// value will be populated with the request's response once the request completes
7770// successfully.
7771//
7772// Use "Send" method on the returned Request to send the API call to the service.
7773// the "output" return value is not valid until after Send returns without error.
7774//
7775// See ListSecurityProfiles for more information on using the ListSecurityProfiles
7776// API call, and error handling.
7777//
7778// This method is useful when you want to inject custom logic or configuration
7779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7780//
7781//
7782//    // Example sending a request using the ListSecurityProfilesRequest method.
7783//    req, resp := client.ListSecurityProfilesRequest(params)
7784//
7785//    err := req.Send()
7786//    if err == nil { // resp is now filled
7787//        fmt.Println(resp)
7788//    }
7789//
7790// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles
7791func (c *Connect) ListSecurityProfilesRequest(input *ListSecurityProfilesInput) (req *request.Request, output *ListSecurityProfilesOutput) {
7792	op := &request.Operation{
7793		Name:       opListSecurityProfiles,
7794		HTTPMethod: "GET",
7795		HTTPPath:   "/security-profiles-summary/{InstanceId}",
7796		Paginator: &request.Paginator{
7797			InputTokens:     []string{"NextToken"},
7798			OutputTokens:    []string{"NextToken"},
7799			LimitToken:      "MaxResults",
7800			TruncationToken: "",
7801		},
7802	}
7803
7804	if input == nil {
7805		input = &ListSecurityProfilesInput{}
7806	}
7807
7808	output = &ListSecurityProfilesOutput{}
7809	req = c.newRequest(op, input, output)
7810	return
7811}
7812
7813// ListSecurityProfiles API operation for Amazon Connect Service.
7814//
7815// Provides summary information about the security profiles for the specified
7816// Amazon Connect instance.
7817//
7818// For more information about security profiles, see Security Profiles (https://docs.aws.amazon.com/connect/latest/adminguide/connect-security-profiles.html)
7819// in the Amazon Connect Administrator Guide.
7820//
7821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7822// with awserr.Error's Code and Message methods to get detailed information about
7823// the error.
7824//
7825// See the AWS API reference guide for Amazon Connect Service's
7826// API operation ListSecurityProfiles for usage and error information.
7827//
7828// Returned Error Types:
7829//   * InvalidRequestException
7830//   The request is not valid.
7831//
7832//   * InvalidParameterException
7833//   One or more of the specified parameters are not valid.
7834//
7835//   * ResourceNotFoundException
7836//   The specified resource was not found.
7837//
7838//   * ThrottlingException
7839//   The throttling limit has been exceeded.
7840//
7841//   * InternalServiceException
7842//   Request processing failed because of an error or failure with the service.
7843//
7844// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles
7845func (c *Connect) ListSecurityProfiles(input *ListSecurityProfilesInput) (*ListSecurityProfilesOutput, error) {
7846	req, out := c.ListSecurityProfilesRequest(input)
7847	return out, req.Send()
7848}
7849
7850// ListSecurityProfilesWithContext is the same as ListSecurityProfiles with the addition of
7851// the ability to pass a context and additional request options.
7852//
7853// See ListSecurityProfiles for details on how to use this API operation.
7854//
7855// The context must be non-nil and will be used for request cancellation. If
7856// the context is nil a panic will occur. In the future the SDK may create
7857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7858// for more information on using Contexts.
7859func (c *Connect) ListSecurityProfilesWithContext(ctx aws.Context, input *ListSecurityProfilesInput, opts ...request.Option) (*ListSecurityProfilesOutput, error) {
7860	req, out := c.ListSecurityProfilesRequest(input)
7861	req.SetContext(ctx)
7862	req.ApplyOptions(opts...)
7863	return out, req.Send()
7864}
7865
7866// ListSecurityProfilesPages iterates over the pages of a ListSecurityProfiles operation,
7867// calling the "fn" function with the response data for each page. To stop
7868// iterating, return false from the fn function.
7869//
7870// See ListSecurityProfiles method for more information on how to use this operation.
7871//
7872// Note: This operation can generate multiple requests to a service.
7873//
7874//    // Example iterating over at most 3 pages of a ListSecurityProfiles operation.
7875//    pageNum := 0
7876//    err := client.ListSecurityProfilesPages(params,
7877//        func(page *connect.ListSecurityProfilesOutput, lastPage bool) bool {
7878//            pageNum++
7879//            fmt.Println(page)
7880//            return pageNum <= 3
7881//        })
7882//
7883func (c *Connect) ListSecurityProfilesPages(input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool) error {
7884	return c.ListSecurityProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
7885}
7886
7887// ListSecurityProfilesPagesWithContext same as ListSecurityProfilesPages except
7888// it takes a Context and allows setting request options on the pages.
7889//
7890// The context must be non-nil and will be used for request cancellation. If
7891// the context is nil a panic will occur. In the future the SDK may create
7892// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7893// for more information on using Contexts.
7894func (c *Connect) ListSecurityProfilesPagesWithContext(ctx aws.Context, input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool, opts ...request.Option) error {
7895	p := request.Pagination{
7896		NewRequest: func() (*request.Request, error) {
7897			var inCpy *ListSecurityProfilesInput
7898			if input != nil {
7899				tmp := *input
7900				inCpy = &tmp
7901			}
7902			req, _ := c.ListSecurityProfilesRequest(inCpy)
7903			req.SetContext(ctx)
7904			req.ApplyOptions(opts...)
7905			return req, nil
7906		},
7907	}
7908
7909	for p.Next() {
7910		if !fn(p.Page().(*ListSecurityProfilesOutput), !p.HasNextPage()) {
7911			break
7912		}
7913	}
7914
7915	return p.Err()
7916}
7917
7918const opListTagsForResource = "ListTagsForResource"
7919
7920// ListTagsForResourceRequest generates a "aws/request.Request" representing the
7921// client's request for the ListTagsForResource operation. The "output" return
7922// value will be populated with the request's response once the request completes
7923// successfully.
7924//
7925// Use "Send" method on the returned Request to send the API call to the service.
7926// the "output" return value is not valid until after Send returns without error.
7927//
7928// See ListTagsForResource for more information on using the ListTagsForResource
7929// API call, and error handling.
7930//
7931// This method is useful when you want to inject custom logic or configuration
7932// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7933//
7934//
7935//    // Example sending a request using the ListTagsForResourceRequest method.
7936//    req, resp := client.ListTagsForResourceRequest(params)
7937//
7938//    err := req.Send()
7939//    if err == nil { // resp is now filled
7940//        fmt.Println(resp)
7941//    }
7942//
7943// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource
7944func (c *Connect) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
7945	op := &request.Operation{
7946		Name:       opListTagsForResource,
7947		HTTPMethod: "GET",
7948		HTTPPath:   "/tags/{resourceArn}",
7949	}
7950
7951	if input == nil {
7952		input = &ListTagsForResourceInput{}
7953	}
7954
7955	output = &ListTagsForResourceOutput{}
7956	req = c.newRequest(op, input, output)
7957	return
7958}
7959
7960// ListTagsForResource API operation for Amazon Connect Service.
7961//
7962// Lists the tags for the specified resource.
7963//
7964// For sample policies that use tags, see Amazon Connect Identity-Based Policy
7965// Examples (https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html)
7966// in the Amazon Connect Administrator Guide.
7967//
7968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7969// with awserr.Error's Code and Message methods to get detailed information about
7970// the error.
7971//
7972// See the AWS API reference guide for Amazon Connect Service's
7973// API operation ListTagsForResource for usage and error information.
7974//
7975// Returned Error Types:
7976//   * InvalidRequestException
7977//   The request is not valid.
7978//
7979//   * InvalidParameterException
7980//   One or more of the specified parameters are not valid.
7981//
7982//   * InternalServiceException
7983//   Request processing failed because of an error or failure with the service.
7984//
7985//   * ResourceNotFoundException
7986//   The specified resource was not found.
7987//
7988//   * ThrottlingException
7989//   The throttling limit has been exceeded.
7990//
7991// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource
7992func (c *Connect) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
7993	req, out := c.ListTagsForResourceRequest(input)
7994	return out, req.Send()
7995}
7996
7997// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
7998// the ability to pass a context and additional request options.
7999//
8000// See ListTagsForResource for details on how to use this API operation.
8001//
8002// The context must be non-nil and will be used for request cancellation. If
8003// the context is nil a panic will occur. In the future the SDK may create
8004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8005// for more information on using Contexts.
8006func (c *Connect) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
8007	req, out := c.ListTagsForResourceRequest(input)
8008	req.SetContext(ctx)
8009	req.ApplyOptions(opts...)
8010	return out, req.Send()
8011}
8012
8013const opListUseCases = "ListUseCases"
8014
8015// ListUseCasesRequest generates a "aws/request.Request" representing the
8016// client's request for the ListUseCases operation. The "output" return
8017// value will be populated with the request's response once the request completes
8018// successfully.
8019//
8020// Use "Send" method on the returned Request to send the API call to the service.
8021// the "output" return value is not valid until after Send returns without error.
8022//
8023// See ListUseCases for more information on using the ListUseCases
8024// API call, and error handling.
8025//
8026// This method is useful when you want to inject custom logic or configuration
8027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8028//
8029//
8030//    // Example sending a request using the ListUseCasesRequest method.
8031//    req, resp := client.ListUseCasesRequest(params)
8032//
8033//    err := req.Send()
8034//    if err == nil { // resp is now filled
8035//        fmt.Println(resp)
8036//    }
8037//
8038// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUseCases
8039func (c *Connect) ListUseCasesRequest(input *ListUseCasesInput) (req *request.Request, output *ListUseCasesOutput) {
8040	op := &request.Operation{
8041		Name:       opListUseCases,
8042		HTTPMethod: "GET",
8043		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}/use-cases",
8044		Paginator: &request.Paginator{
8045			InputTokens:     []string{"NextToken"},
8046			OutputTokens:    []string{"NextToken"},
8047			LimitToken:      "MaxResults",
8048			TruncationToken: "",
8049		},
8050	}
8051
8052	if input == nil {
8053		input = &ListUseCasesInput{}
8054	}
8055
8056	output = &ListUseCasesOutput{}
8057	req = c.newRequest(op, input, output)
8058	return
8059}
8060
8061// ListUseCases API operation for Amazon Connect Service.
8062//
8063// Lists the use cases.
8064//
8065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8066// with awserr.Error's Code and Message methods to get detailed information about
8067// the error.
8068//
8069// See the AWS API reference guide for Amazon Connect Service's
8070// API operation ListUseCases for usage and error information.
8071//
8072// Returned Error Types:
8073//   * ResourceNotFoundException
8074//   The specified resource was not found.
8075//
8076//   * InternalServiceException
8077//   Request processing failed because of an error or failure with the service.
8078//
8079//   * InvalidRequestException
8080//   The request is not valid.
8081//
8082//   * ThrottlingException
8083//   The throttling limit has been exceeded.
8084//
8085// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUseCases
8086func (c *Connect) ListUseCases(input *ListUseCasesInput) (*ListUseCasesOutput, error) {
8087	req, out := c.ListUseCasesRequest(input)
8088	return out, req.Send()
8089}
8090
8091// ListUseCasesWithContext is the same as ListUseCases with the addition of
8092// the ability to pass a context and additional request options.
8093//
8094// See ListUseCases for details on how to use this API operation.
8095//
8096// The context must be non-nil and will be used for request cancellation. If
8097// the context is nil a panic will occur. In the future the SDK may create
8098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8099// for more information on using Contexts.
8100func (c *Connect) ListUseCasesWithContext(ctx aws.Context, input *ListUseCasesInput, opts ...request.Option) (*ListUseCasesOutput, error) {
8101	req, out := c.ListUseCasesRequest(input)
8102	req.SetContext(ctx)
8103	req.ApplyOptions(opts...)
8104	return out, req.Send()
8105}
8106
8107// ListUseCasesPages iterates over the pages of a ListUseCases operation,
8108// calling the "fn" function with the response data for each page. To stop
8109// iterating, return false from the fn function.
8110//
8111// See ListUseCases method for more information on how to use this operation.
8112//
8113// Note: This operation can generate multiple requests to a service.
8114//
8115//    // Example iterating over at most 3 pages of a ListUseCases operation.
8116//    pageNum := 0
8117//    err := client.ListUseCasesPages(params,
8118//        func(page *connect.ListUseCasesOutput, lastPage bool) bool {
8119//            pageNum++
8120//            fmt.Println(page)
8121//            return pageNum <= 3
8122//        })
8123//
8124func (c *Connect) ListUseCasesPages(input *ListUseCasesInput, fn func(*ListUseCasesOutput, bool) bool) error {
8125	return c.ListUseCasesPagesWithContext(aws.BackgroundContext(), input, fn)
8126}
8127
8128// ListUseCasesPagesWithContext same as ListUseCasesPages except
8129// it takes a Context and allows setting request options on the pages.
8130//
8131// The context must be non-nil and will be used for request cancellation. If
8132// the context is nil a panic will occur. In the future the SDK may create
8133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8134// for more information on using Contexts.
8135func (c *Connect) ListUseCasesPagesWithContext(ctx aws.Context, input *ListUseCasesInput, fn func(*ListUseCasesOutput, bool) bool, opts ...request.Option) error {
8136	p := request.Pagination{
8137		NewRequest: func() (*request.Request, error) {
8138			var inCpy *ListUseCasesInput
8139			if input != nil {
8140				tmp := *input
8141				inCpy = &tmp
8142			}
8143			req, _ := c.ListUseCasesRequest(inCpy)
8144			req.SetContext(ctx)
8145			req.ApplyOptions(opts...)
8146			return req, nil
8147		},
8148	}
8149
8150	for p.Next() {
8151		if !fn(p.Page().(*ListUseCasesOutput), !p.HasNextPage()) {
8152			break
8153		}
8154	}
8155
8156	return p.Err()
8157}
8158
8159const opListUserHierarchyGroups = "ListUserHierarchyGroups"
8160
8161// ListUserHierarchyGroupsRequest generates a "aws/request.Request" representing the
8162// client's request for the ListUserHierarchyGroups operation. The "output" return
8163// value will be populated with the request's response once the request completes
8164// successfully.
8165//
8166// Use "Send" method on the returned Request to send the API call to the service.
8167// the "output" return value is not valid until after Send returns without error.
8168//
8169// See ListUserHierarchyGroups for more information on using the ListUserHierarchyGroups
8170// API call, and error handling.
8171//
8172// This method is useful when you want to inject custom logic or configuration
8173// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8174//
8175//
8176//    // Example sending a request using the ListUserHierarchyGroupsRequest method.
8177//    req, resp := client.ListUserHierarchyGroupsRequest(params)
8178//
8179//    err := req.Send()
8180//    if err == nil { // resp is now filled
8181//        fmt.Println(resp)
8182//    }
8183//
8184// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups
8185func (c *Connect) ListUserHierarchyGroupsRequest(input *ListUserHierarchyGroupsInput) (req *request.Request, output *ListUserHierarchyGroupsOutput) {
8186	op := &request.Operation{
8187		Name:       opListUserHierarchyGroups,
8188		HTTPMethod: "GET",
8189		HTTPPath:   "/user-hierarchy-groups-summary/{InstanceId}",
8190		Paginator: &request.Paginator{
8191			InputTokens:     []string{"NextToken"},
8192			OutputTokens:    []string{"NextToken"},
8193			LimitToken:      "MaxResults",
8194			TruncationToken: "",
8195		},
8196	}
8197
8198	if input == nil {
8199		input = &ListUserHierarchyGroupsInput{}
8200	}
8201
8202	output = &ListUserHierarchyGroupsOutput{}
8203	req = c.newRequest(op, input, output)
8204	return
8205}
8206
8207// ListUserHierarchyGroups API operation for Amazon Connect Service.
8208//
8209// Provides summary information about the hierarchy groups for the specified
8210// Amazon Connect instance.
8211//
8212// For more information about agent hierarchies, see Set Up Agent Hierarchies
8213// (https://docs.aws.amazon.com/connect/latest/adminguide/agent-hierarchy.html)
8214// in the Amazon Connect Administrator Guide.
8215//
8216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8217// with awserr.Error's Code and Message methods to get detailed information about
8218// the error.
8219//
8220// See the AWS API reference guide for Amazon Connect Service's
8221// API operation ListUserHierarchyGroups for usage and error information.
8222//
8223// Returned Error Types:
8224//   * InvalidRequestException
8225//   The request is not valid.
8226//
8227//   * InvalidParameterException
8228//   One or more of the specified parameters are not valid.
8229//
8230//   * ResourceNotFoundException
8231//   The specified resource was not found.
8232//
8233//   * ThrottlingException
8234//   The throttling limit has been exceeded.
8235//
8236//   * InternalServiceException
8237//   Request processing failed because of an error or failure with the service.
8238//
8239// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups
8240func (c *Connect) ListUserHierarchyGroups(input *ListUserHierarchyGroupsInput) (*ListUserHierarchyGroupsOutput, error) {
8241	req, out := c.ListUserHierarchyGroupsRequest(input)
8242	return out, req.Send()
8243}
8244
8245// ListUserHierarchyGroupsWithContext is the same as ListUserHierarchyGroups with the addition of
8246// the ability to pass a context and additional request options.
8247//
8248// See ListUserHierarchyGroups for details on how to use this API operation.
8249//
8250// The context must be non-nil and will be used for request cancellation. If
8251// the context is nil a panic will occur. In the future the SDK may create
8252// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8253// for more information on using Contexts.
8254func (c *Connect) ListUserHierarchyGroupsWithContext(ctx aws.Context, input *ListUserHierarchyGroupsInput, opts ...request.Option) (*ListUserHierarchyGroupsOutput, error) {
8255	req, out := c.ListUserHierarchyGroupsRequest(input)
8256	req.SetContext(ctx)
8257	req.ApplyOptions(opts...)
8258	return out, req.Send()
8259}
8260
8261// ListUserHierarchyGroupsPages iterates over the pages of a ListUserHierarchyGroups operation,
8262// calling the "fn" function with the response data for each page. To stop
8263// iterating, return false from the fn function.
8264//
8265// See ListUserHierarchyGroups method for more information on how to use this operation.
8266//
8267// Note: This operation can generate multiple requests to a service.
8268//
8269//    // Example iterating over at most 3 pages of a ListUserHierarchyGroups operation.
8270//    pageNum := 0
8271//    err := client.ListUserHierarchyGroupsPages(params,
8272//        func(page *connect.ListUserHierarchyGroupsOutput, lastPage bool) bool {
8273//            pageNum++
8274//            fmt.Println(page)
8275//            return pageNum <= 3
8276//        })
8277//
8278func (c *Connect) ListUserHierarchyGroupsPages(input *ListUserHierarchyGroupsInput, fn func(*ListUserHierarchyGroupsOutput, bool) bool) error {
8279	return c.ListUserHierarchyGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
8280}
8281
8282// ListUserHierarchyGroupsPagesWithContext same as ListUserHierarchyGroupsPages except
8283// it takes a Context and allows setting request options on the pages.
8284//
8285// The context must be non-nil and will be used for request cancellation. If
8286// the context is nil a panic will occur. In the future the SDK may create
8287// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8288// for more information on using Contexts.
8289func (c *Connect) ListUserHierarchyGroupsPagesWithContext(ctx aws.Context, input *ListUserHierarchyGroupsInput, fn func(*ListUserHierarchyGroupsOutput, bool) bool, opts ...request.Option) error {
8290	p := request.Pagination{
8291		NewRequest: func() (*request.Request, error) {
8292			var inCpy *ListUserHierarchyGroupsInput
8293			if input != nil {
8294				tmp := *input
8295				inCpy = &tmp
8296			}
8297			req, _ := c.ListUserHierarchyGroupsRequest(inCpy)
8298			req.SetContext(ctx)
8299			req.ApplyOptions(opts...)
8300			return req, nil
8301		},
8302	}
8303
8304	for p.Next() {
8305		if !fn(p.Page().(*ListUserHierarchyGroupsOutput), !p.HasNextPage()) {
8306			break
8307		}
8308	}
8309
8310	return p.Err()
8311}
8312
8313const opListUsers = "ListUsers"
8314
8315// ListUsersRequest generates a "aws/request.Request" representing the
8316// client's request for the ListUsers operation. The "output" return
8317// value will be populated with the request's response once the request completes
8318// successfully.
8319//
8320// Use "Send" method on the returned Request to send the API call to the service.
8321// the "output" return value is not valid until after Send returns without error.
8322//
8323// See ListUsers for more information on using the ListUsers
8324// API call, and error handling.
8325//
8326// This method is useful when you want to inject custom logic or configuration
8327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8328//
8329//
8330//    // Example sending a request using the ListUsersRequest method.
8331//    req, resp := client.ListUsersRequest(params)
8332//
8333//    err := req.Send()
8334//    if err == nil { // resp is now filled
8335//        fmt.Println(resp)
8336//    }
8337//
8338// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers
8339func (c *Connect) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
8340	op := &request.Operation{
8341		Name:       opListUsers,
8342		HTTPMethod: "GET",
8343		HTTPPath:   "/users-summary/{InstanceId}",
8344		Paginator: &request.Paginator{
8345			InputTokens:     []string{"NextToken"},
8346			OutputTokens:    []string{"NextToken"},
8347			LimitToken:      "MaxResults",
8348			TruncationToken: "",
8349		},
8350	}
8351
8352	if input == nil {
8353		input = &ListUsersInput{}
8354	}
8355
8356	output = &ListUsersOutput{}
8357	req = c.newRequest(op, input, output)
8358	return
8359}
8360
8361// ListUsers API operation for Amazon Connect Service.
8362//
8363// Provides summary information about the users for the specified Amazon Connect
8364// instance.
8365//
8366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8367// with awserr.Error's Code and Message methods to get detailed information about
8368// the error.
8369//
8370// See the AWS API reference guide for Amazon Connect Service's
8371// API operation ListUsers for usage and error information.
8372//
8373// Returned Error Types:
8374//   * InvalidRequestException
8375//   The request is not valid.
8376//
8377//   * InvalidParameterException
8378//   One or more of the specified parameters are not valid.
8379//
8380//   * ResourceNotFoundException
8381//   The specified resource was not found.
8382//
8383//   * ThrottlingException
8384//   The throttling limit has been exceeded.
8385//
8386//   * InternalServiceException
8387//   Request processing failed because of an error or failure with the service.
8388//
8389// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers
8390func (c *Connect) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
8391	req, out := c.ListUsersRequest(input)
8392	return out, req.Send()
8393}
8394
8395// ListUsersWithContext is the same as ListUsers with the addition of
8396// the ability to pass a context and additional request options.
8397//
8398// See ListUsers for details on how to use this API operation.
8399//
8400// The context must be non-nil and will be used for request cancellation. If
8401// the context is nil a panic will occur. In the future the SDK may create
8402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8403// for more information on using Contexts.
8404func (c *Connect) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) {
8405	req, out := c.ListUsersRequest(input)
8406	req.SetContext(ctx)
8407	req.ApplyOptions(opts...)
8408	return out, req.Send()
8409}
8410
8411// ListUsersPages iterates over the pages of a ListUsers operation,
8412// calling the "fn" function with the response data for each page. To stop
8413// iterating, return false from the fn function.
8414//
8415// See ListUsers method for more information on how to use this operation.
8416//
8417// Note: This operation can generate multiple requests to a service.
8418//
8419//    // Example iterating over at most 3 pages of a ListUsers operation.
8420//    pageNum := 0
8421//    err := client.ListUsersPages(params,
8422//        func(page *connect.ListUsersOutput, lastPage bool) bool {
8423//            pageNum++
8424//            fmt.Println(page)
8425//            return pageNum <= 3
8426//        })
8427//
8428func (c *Connect) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error {
8429	return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn)
8430}
8431
8432// ListUsersPagesWithContext same as ListUsersPages except
8433// it takes a Context and allows setting request options on the pages.
8434//
8435// The context must be non-nil and will be used for request cancellation. If
8436// the context is nil a panic will occur. In the future the SDK may create
8437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8438// for more information on using Contexts.
8439func (c *Connect) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error {
8440	p := request.Pagination{
8441		NewRequest: func() (*request.Request, error) {
8442			var inCpy *ListUsersInput
8443			if input != nil {
8444				tmp := *input
8445				inCpy = &tmp
8446			}
8447			req, _ := c.ListUsersRequest(inCpy)
8448			req.SetContext(ctx)
8449			req.ApplyOptions(opts...)
8450			return req, nil
8451		},
8452	}
8453
8454	for p.Next() {
8455		if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) {
8456			break
8457		}
8458	}
8459
8460	return p.Err()
8461}
8462
8463const opResumeContactRecording = "ResumeContactRecording"
8464
8465// ResumeContactRecordingRequest generates a "aws/request.Request" representing the
8466// client's request for the ResumeContactRecording operation. The "output" return
8467// value will be populated with the request's response once the request completes
8468// successfully.
8469//
8470// Use "Send" method on the returned Request to send the API call to the service.
8471// the "output" return value is not valid until after Send returns without error.
8472//
8473// See ResumeContactRecording for more information on using the ResumeContactRecording
8474// API call, and error handling.
8475//
8476// This method is useful when you want to inject custom logic or configuration
8477// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8478//
8479//
8480//    // Example sending a request using the ResumeContactRecordingRequest method.
8481//    req, resp := client.ResumeContactRecordingRequest(params)
8482//
8483//    err := req.Send()
8484//    if err == nil { // resp is now filled
8485//        fmt.Println(resp)
8486//    }
8487//
8488// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ResumeContactRecording
8489func (c *Connect) ResumeContactRecordingRequest(input *ResumeContactRecordingInput) (req *request.Request, output *ResumeContactRecordingOutput) {
8490	op := &request.Operation{
8491		Name:       opResumeContactRecording,
8492		HTTPMethod: "POST",
8493		HTTPPath:   "/contact/resume-recording",
8494	}
8495
8496	if input == nil {
8497		input = &ResumeContactRecordingInput{}
8498	}
8499
8500	output = &ResumeContactRecordingOutput{}
8501	req = c.newRequest(op, input, output)
8502	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8503	return
8504}
8505
8506// ResumeContactRecording API operation for Amazon Connect Service.
8507//
8508// When a contact is being recorded, and the recording has been suspended using
8509// SuspendContactRecording, this API resumes recording the call.
8510//
8511// Only voice recordings are supported at this time.
8512//
8513// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8514// with awserr.Error's Code and Message methods to get detailed information about
8515// the error.
8516//
8517// See the AWS API reference guide for Amazon Connect Service's
8518// API operation ResumeContactRecording for usage and error information.
8519//
8520// Returned Error Types:
8521//   * InvalidRequestException
8522//   The request is not valid.
8523//
8524//   * ResourceNotFoundException
8525//   The specified resource was not found.
8526//
8527//   * InternalServiceException
8528//   Request processing failed because of an error or failure with the service.
8529//
8530// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ResumeContactRecording
8531func (c *Connect) ResumeContactRecording(input *ResumeContactRecordingInput) (*ResumeContactRecordingOutput, error) {
8532	req, out := c.ResumeContactRecordingRequest(input)
8533	return out, req.Send()
8534}
8535
8536// ResumeContactRecordingWithContext is the same as ResumeContactRecording with the addition of
8537// the ability to pass a context and additional request options.
8538//
8539// See ResumeContactRecording for details on how to use this API operation.
8540//
8541// The context must be non-nil and will be used for request cancellation. If
8542// the context is nil a panic will occur. In the future the SDK may create
8543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8544// for more information on using Contexts.
8545func (c *Connect) ResumeContactRecordingWithContext(ctx aws.Context, input *ResumeContactRecordingInput, opts ...request.Option) (*ResumeContactRecordingOutput, error) {
8546	req, out := c.ResumeContactRecordingRequest(input)
8547	req.SetContext(ctx)
8548	req.ApplyOptions(opts...)
8549	return out, req.Send()
8550}
8551
8552const opStartChatContact = "StartChatContact"
8553
8554// StartChatContactRequest generates a "aws/request.Request" representing the
8555// client's request for the StartChatContact operation. The "output" return
8556// value will be populated with the request's response once the request completes
8557// successfully.
8558//
8559// Use "Send" method on the returned Request to send the API call to the service.
8560// the "output" return value is not valid until after Send returns without error.
8561//
8562// See StartChatContact for more information on using the StartChatContact
8563// API call, and error handling.
8564//
8565// This method is useful when you want to inject custom logic or configuration
8566// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8567//
8568//
8569//    // Example sending a request using the StartChatContactRequest method.
8570//    req, resp := client.StartChatContactRequest(params)
8571//
8572//    err := req.Send()
8573//    if err == nil { // resp is now filled
8574//        fmt.Println(resp)
8575//    }
8576//
8577// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact
8578func (c *Connect) StartChatContactRequest(input *StartChatContactInput) (req *request.Request, output *StartChatContactOutput) {
8579	op := &request.Operation{
8580		Name:       opStartChatContact,
8581		HTTPMethod: "PUT",
8582		HTTPPath:   "/contact/chat",
8583	}
8584
8585	if input == nil {
8586		input = &StartChatContactInput{}
8587	}
8588
8589	output = &StartChatContactOutput{}
8590	req = c.newRequest(op, input, output)
8591	return
8592}
8593
8594// StartChatContact API operation for Amazon Connect Service.
8595//
8596// Initiates a contact flow to start a new chat for the customer. Response of
8597// this API provides a token required to obtain credentials from the CreateParticipantConnection
8598// (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)
8599// API in the Amazon Connect Participant Service.
8600//
8601// When a new chat contact is successfully created, clients must subscribe to
8602// the participant’s connection for the created chat within 5 minutes. This
8603// is achieved by invoking CreateParticipantConnection (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)
8604// with WEBSOCKET and CONNECTION_CREDENTIALS.
8605//
8606// A 429 error occurs in two situations:
8607//
8608//    * API rate limit is exceeded. API TPS throttling returns a TooManyRequests
8609//    exception.
8610//
8611//    * The quota for concurrent active chats (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html)
8612//    is exceeded. Active chat throttling returns a LimitExceededException.
8613//
8614// For more information about chat, see Chat (https://docs.aws.amazon.com/connect/latest/adminguide/chat.html)
8615// in the Amazon Connect Administrator Guide.
8616//
8617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8618// with awserr.Error's Code and Message methods to get detailed information about
8619// the error.
8620//
8621// See the AWS API reference guide for Amazon Connect Service's
8622// API operation StartChatContact for usage and error information.
8623//
8624// Returned Error Types:
8625//   * InvalidRequestException
8626//   The request is not valid.
8627//
8628//   * InvalidParameterException
8629//   One or more of the specified parameters are not valid.
8630//
8631//   * ResourceNotFoundException
8632//   The specified resource was not found.
8633//
8634//   * InternalServiceException
8635//   Request processing failed because of an error or failure with the service.
8636//
8637//   * LimitExceededException
8638//   The allowed limit for the resource has been exceeded.
8639//
8640// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact
8641func (c *Connect) StartChatContact(input *StartChatContactInput) (*StartChatContactOutput, error) {
8642	req, out := c.StartChatContactRequest(input)
8643	return out, req.Send()
8644}
8645
8646// StartChatContactWithContext is the same as StartChatContact with the addition of
8647// the ability to pass a context and additional request options.
8648//
8649// See StartChatContact for details on how to use this API operation.
8650//
8651// The context must be non-nil and will be used for request cancellation. If
8652// the context is nil a panic will occur. In the future the SDK may create
8653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8654// for more information on using Contexts.
8655func (c *Connect) StartChatContactWithContext(ctx aws.Context, input *StartChatContactInput, opts ...request.Option) (*StartChatContactOutput, error) {
8656	req, out := c.StartChatContactRequest(input)
8657	req.SetContext(ctx)
8658	req.ApplyOptions(opts...)
8659	return out, req.Send()
8660}
8661
8662const opStartContactRecording = "StartContactRecording"
8663
8664// StartContactRecordingRequest generates a "aws/request.Request" representing the
8665// client's request for the StartContactRecording operation. The "output" return
8666// value will be populated with the request's response once the request completes
8667// successfully.
8668//
8669// Use "Send" method on the returned Request to send the API call to the service.
8670// the "output" return value is not valid until after Send returns without error.
8671//
8672// See StartContactRecording for more information on using the StartContactRecording
8673// API call, and error handling.
8674//
8675// This method is useful when you want to inject custom logic or configuration
8676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8677//
8678//
8679//    // Example sending a request using the StartContactRecordingRequest method.
8680//    req, resp := client.StartContactRecordingRequest(params)
8681//
8682//    err := req.Send()
8683//    if err == nil { // resp is now filled
8684//        fmt.Println(resp)
8685//    }
8686//
8687// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactRecording
8688func (c *Connect) StartContactRecordingRequest(input *StartContactRecordingInput) (req *request.Request, output *StartContactRecordingOutput) {
8689	op := &request.Operation{
8690		Name:       opStartContactRecording,
8691		HTTPMethod: "POST",
8692		HTTPPath:   "/contact/start-recording",
8693	}
8694
8695	if input == nil {
8696		input = &StartContactRecordingInput{}
8697	}
8698
8699	output = &StartContactRecordingOutput{}
8700	req = c.newRequest(op, input, output)
8701	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8702	return
8703}
8704
8705// StartContactRecording API operation for Amazon Connect Service.
8706//
8707// Starts recording the contact when the agent joins the call. StartContactRecording
8708// is a one-time action. For example, if you use StopContactRecording to stop
8709// recording an ongoing call, you can't use StartContactRecording to restart
8710// it. For scenarios where the recording has started and you want to suspend
8711// and resume it, such as when collecting sensitive information (for example,
8712// a credit card number), use SuspendContactRecording and ResumeContactRecording.
8713//
8714// You can use this API to override the recording behavior configured in the
8715// Set recording behavior (https://docs.aws.amazon.com/connect/latest/adminguide/set-recording-behavior.html)
8716// block.
8717//
8718// Only voice recordings are supported at this time.
8719//
8720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8721// with awserr.Error's Code and Message methods to get detailed information about
8722// the error.
8723//
8724// See the AWS API reference guide for Amazon Connect Service's
8725// API operation StartContactRecording for usage and error information.
8726//
8727// Returned Error Types:
8728//   * InvalidRequestException
8729//   The request is not valid.
8730//
8731//   * InvalidParameterException
8732//   One or more of the specified parameters are not valid.
8733//
8734//   * ResourceNotFoundException
8735//   The specified resource was not found.
8736//
8737//   * InternalServiceException
8738//   Request processing failed because of an error or failure with the service.
8739//
8740// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactRecording
8741func (c *Connect) StartContactRecording(input *StartContactRecordingInput) (*StartContactRecordingOutput, error) {
8742	req, out := c.StartContactRecordingRequest(input)
8743	return out, req.Send()
8744}
8745
8746// StartContactRecordingWithContext is the same as StartContactRecording with the addition of
8747// the ability to pass a context and additional request options.
8748//
8749// See StartContactRecording for details on how to use this API operation.
8750//
8751// The context must be non-nil and will be used for request cancellation. If
8752// the context is nil a panic will occur. In the future the SDK may create
8753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8754// for more information on using Contexts.
8755func (c *Connect) StartContactRecordingWithContext(ctx aws.Context, input *StartContactRecordingInput, opts ...request.Option) (*StartContactRecordingOutput, error) {
8756	req, out := c.StartContactRecordingRequest(input)
8757	req.SetContext(ctx)
8758	req.ApplyOptions(opts...)
8759	return out, req.Send()
8760}
8761
8762const opStartOutboundVoiceContact = "StartOutboundVoiceContact"
8763
8764// StartOutboundVoiceContactRequest generates a "aws/request.Request" representing the
8765// client's request for the StartOutboundVoiceContact operation. The "output" return
8766// value will be populated with the request's response once the request completes
8767// successfully.
8768//
8769// Use "Send" method on the returned Request to send the API call to the service.
8770// the "output" return value is not valid until after Send returns without error.
8771//
8772// See StartOutboundVoiceContact for more information on using the StartOutboundVoiceContact
8773// API call, and error handling.
8774//
8775// This method is useful when you want to inject custom logic or configuration
8776// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8777//
8778//
8779//    // Example sending a request using the StartOutboundVoiceContactRequest method.
8780//    req, resp := client.StartOutboundVoiceContactRequest(params)
8781//
8782//    err := req.Send()
8783//    if err == nil { // resp is now filled
8784//        fmt.Println(resp)
8785//    }
8786//
8787// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact
8788func (c *Connect) StartOutboundVoiceContactRequest(input *StartOutboundVoiceContactInput) (req *request.Request, output *StartOutboundVoiceContactOutput) {
8789	op := &request.Operation{
8790		Name:       opStartOutboundVoiceContact,
8791		HTTPMethod: "PUT",
8792		HTTPPath:   "/contact/outbound-voice",
8793	}
8794
8795	if input == nil {
8796		input = &StartOutboundVoiceContactInput{}
8797	}
8798
8799	output = &StartOutboundVoiceContactOutput{}
8800	req = c.newRequest(op, input, output)
8801	return
8802}
8803
8804// StartOutboundVoiceContact API operation for Amazon Connect Service.
8805//
8806// Places an outbound call to a contact, and then initiates the contact flow.
8807// It performs the actions in the contact flow that's specified (in ContactFlowId).
8808//
8809// Agents do not initiate the outbound API, which means that they do not dial
8810// the contact. If the contact flow places an outbound call to a contact, and
8811// then puts the contact in queue, the call is then routed to the agent, like
8812// any other inbound case.
8813//
8814// There is a 60-second dialing timeout for this operation. If the call is not
8815// connected after 60 seconds, it fails.
8816//
8817// UK numbers with a 447 prefix are not allowed by default. Before you can dial
8818// these UK mobile numbers, you must submit a service quota increase request.
8819// For more information, see Amazon Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html)
8820// in the Amazon Connect Administrator Guide.
8821//
8822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8823// with awserr.Error's Code and Message methods to get detailed information about
8824// the error.
8825//
8826// See the AWS API reference guide for Amazon Connect Service's
8827// API operation StartOutboundVoiceContact for usage and error information.
8828//
8829// Returned Error Types:
8830//   * InvalidRequestException
8831//   The request is not valid.
8832//
8833//   * InvalidParameterException
8834//   One or more of the specified parameters are not valid.
8835//
8836//   * ResourceNotFoundException
8837//   The specified resource was not found.
8838//
8839//   * InternalServiceException
8840//   Request processing failed because of an error or failure with the service.
8841//
8842//   * LimitExceededException
8843//   The allowed limit for the resource has been exceeded.
8844//
8845//   * DestinationNotAllowedException
8846//   Outbound calls to the destination number are not allowed.
8847//
8848//   * OutboundContactNotPermittedException
8849//   The contact is not permitted.
8850//
8851// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact
8852func (c *Connect) StartOutboundVoiceContact(input *StartOutboundVoiceContactInput) (*StartOutboundVoiceContactOutput, error) {
8853	req, out := c.StartOutboundVoiceContactRequest(input)
8854	return out, req.Send()
8855}
8856
8857// StartOutboundVoiceContactWithContext is the same as StartOutboundVoiceContact with the addition of
8858// the ability to pass a context and additional request options.
8859//
8860// See StartOutboundVoiceContact for details on how to use this API operation.
8861//
8862// The context must be non-nil and will be used for request cancellation. If
8863// the context is nil a panic will occur. In the future the SDK may create
8864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8865// for more information on using Contexts.
8866func (c *Connect) StartOutboundVoiceContactWithContext(ctx aws.Context, input *StartOutboundVoiceContactInput, opts ...request.Option) (*StartOutboundVoiceContactOutput, error) {
8867	req, out := c.StartOutboundVoiceContactRequest(input)
8868	req.SetContext(ctx)
8869	req.ApplyOptions(opts...)
8870	return out, req.Send()
8871}
8872
8873const opStartTaskContact = "StartTaskContact"
8874
8875// StartTaskContactRequest generates a "aws/request.Request" representing the
8876// client's request for the StartTaskContact operation. The "output" return
8877// value will be populated with the request's response once the request completes
8878// successfully.
8879//
8880// Use "Send" method on the returned Request to send the API call to the service.
8881// the "output" return value is not valid until after Send returns without error.
8882//
8883// See StartTaskContact for more information on using the StartTaskContact
8884// API call, and error handling.
8885//
8886// This method is useful when you want to inject custom logic or configuration
8887// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8888//
8889//
8890//    // Example sending a request using the StartTaskContactRequest method.
8891//    req, resp := client.StartTaskContactRequest(params)
8892//
8893//    err := req.Send()
8894//    if err == nil { // resp is now filled
8895//        fmt.Println(resp)
8896//    }
8897//
8898// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartTaskContact
8899func (c *Connect) StartTaskContactRequest(input *StartTaskContactInput) (req *request.Request, output *StartTaskContactOutput) {
8900	op := &request.Operation{
8901		Name:       opStartTaskContact,
8902		HTTPMethod: "PUT",
8903		HTTPPath:   "/contact/task",
8904	}
8905
8906	if input == nil {
8907		input = &StartTaskContactInput{}
8908	}
8909
8910	output = &StartTaskContactOutput{}
8911	req = c.newRequest(op, input, output)
8912	return
8913}
8914
8915// StartTaskContact API operation for Amazon Connect Service.
8916//
8917// Initiates a contact flow to start a new task.
8918//
8919// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8920// with awserr.Error's Code and Message methods to get detailed information about
8921// the error.
8922//
8923// See the AWS API reference guide for Amazon Connect Service's
8924// API operation StartTaskContact for usage and error information.
8925//
8926// Returned Error Types:
8927//   * InvalidRequestException
8928//   The request is not valid.
8929//
8930//   * InvalidParameterException
8931//   One or more of the specified parameters are not valid.
8932//
8933//   * ResourceNotFoundException
8934//   The specified resource was not found.
8935//
8936//   * ThrottlingException
8937//   The throttling limit has been exceeded.
8938//
8939//   * ServiceQuotaExceededException
8940//   The service quota has been exceeded.
8941//
8942//   * InternalServiceException
8943//   Request processing failed because of an error or failure with the service.
8944//
8945// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartTaskContact
8946func (c *Connect) StartTaskContact(input *StartTaskContactInput) (*StartTaskContactOutput, error) {
8947	req, out := c.StartTaskContactRequest(input)
8948	return out, req.Send()
8949}
8950
8951// StartTaskContactWithContext is the same as StartTaskContact with the addition of
8952// the ability to pass a context and additional request options.
8953//
8954// See StartTaskContact for details on how to use this API operation.
8955//
8956// The context must be non-nil and will be used for request cancellation. If
8957// the context is nil a panic will occur. In the future the SDK may create
8958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8959// for more information on using Contexts.
8960func (c *Connect) StartTaskContactWithContext(ctx aws.Context, input *StartTaskContactInput, opts ...request.Option) (*StartTaskContactOutput, error) {
8961	req, out := c.StartTaskContactRequest(input)
8962	req.SetContext(ctx)
8963	req.ApplyOptions(opts...)
8964	return out, req.Send()
8965}
8966
8967const opStopContact = "StopContact"
8968
8969// StopContactRequest generates a "aws/request.Request" representing the
8970// client's request for the StopContact operation. The "output" return
8971// value will be populated with the request's response once the request completes
8972// successfully.
8973//
8974// Use "Send" method on the returned Request to send the API call to the service.
8975// the "output" return value is not valid until after Send returns without error.
8976//
8977// See StopContact for more information on using the StopContact
8978// API call, and error handling.
8979//
8980// This method is useful when you want to inject custom logic or configuration
8981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8982//
8983//
8984//    // Example sending a request using the StopContactRequest method.
8985//    req, resp := client.StopContactRequest(params)
8986//
8987//    err := req.Send()
8988//    if err == nil { // resp is now filled
8989//        fmt.Println(resp)
8990//    }
8991//
8992// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact
8993func (c *Connect) StopContactRequest(input *StopContactInput) (req *request.Request, output *StopContactOutput) {
8994	op := &request.Operation{
8995		Name:       opStopContact,
8996		HTTPMethod: "POST",
8997		HTTPPath:   "/contact/stop",
8998	}
8999
9000	if input == nil {
9001		input = &StopContactInput{}
9002	}
9003
9004	output = &StopContactOutput{}
9005	req = c.newRequest(op, input, output)
9006	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9007	return
9008}
9009
9010// StopContact API operation for Amazon Connect Service.
9011//
9012// Ends the specified contact.
9013//
9014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9015// with awserr.Error's Code and Message methods to get detailed information about
9016// the error.
9017//
9018// See the AWS API reference guide for Amazon Connect Service's
9019// API operation StopContact for usage and error information.
9020//
9021// Returned Error Types:
9022//   * InvalidRequestException
9023//   The request is not valid.
9024//
9025//   * ContactNotFoundException
9026//   The contact with the specified ID is not active or does not exist.
9027//
9028//   * InvalidParameterException
9029//   One or more of the specified parameters are not valid.
9030//
9031//   * ResourceNotFoundException
9032//   The specified resource was not found.
9033//
9034//   * InternalServiceException
9035//   Request processing failed because of an error or failure with the service.
9036//
9037// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact
9038func (c *Connect) StopContact(input *StopContactInput) (*StopContactOutput, error) {
9039	req, out := c.StopContactRequest(input)
9040	return out, req.Send()
9041}
9042
9043// StopContactWithContext is the same as StopContact with the addition of
9044// the ability to pass a context and additional request options.
9045//
9046// See StopContact for details on how to use this API operation.
9047//
9048// The context must be non-nil and will be used for request cancellation. If
9049// the context is nil a panic will occur. In the future the SDK may create
9050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9051// for more information on using Contexts.
9052func (c *Connect) StopContactWithContext(ctx aws.Context, input *StopContactInput, opts ...request.Option) (*StopContactOutput, error) {
9053	req, out := c.StopContactRequest(input)
9054	req.SetContext(ctx)
9055	req.ApplyOptions(opts...)
9056	return out, req.Send()
9057}
9058
9059const opStopContactRecording = "StopContactRecording"
9060
9061// StopContactRecordingRequest generates a "aws/request.Request" representing the
9062// client's request for the StopContactRecording operation. The "output" return
9063// value will be populated with the request's response once the request completes
9064// successfully.
9065//
9066// Use "Send" method on the returned Request to send the API call to the service.
9067// the "output" return value is not valid until after Send returns without error.
9068//
9069// See StopContactRecording for more information on using the StopContactRecording
9070// API call, and error handling.
9071//
9072// This method is useful when you want to inject custom logic or configuration
9073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9074//
9075//
9076//    // Example sending a request using the StopContactRecordingRequest method.
9077//    req, resp := client.StopContactRecordingRequest(params)
9078//
9079//    err := req.Send()
9080//    if err == nil { // resp is now filled
9081//        fmt.Println(resp)
9082//    }
9083//
9084// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContactRecording
9085func (c *Connect) StopContactRecordingRequest(input *StopContactRecordingInput) (req *request.Request, output *StopContactRecordingOutput) {
9086	op := &request.Operation{
9087		Name:       opStopContactRecording,
9088		HTTPMethod: "POST",
9089		HTTPPath:   "/contact/stop-recording",
9090	}
9091
9092	if input == nil {
9093		input = &StopContactRecordingInput{}
9094	}
9095
9096	output = &StopContactRecordingOutput{}
9097	req = c.newRequest(op, input, output)
9098	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9099	return
9100}
9101
9102// StopContactRecording API operation for Amazon Connect Service.
9103//
9104// Stops recording a call when a contact is being recorded. StopContactRecording
9105// is a one-time action. If you use StopContactRecording to stop recording an
9106// ongoing call, you can't use StartContactRecording to restart it. For scenarios
9107// where the recording has started and you want to suspend it for sensitive
9108// information (for example, to collect a credit card number), and then restart
9109// it, use SuspendContactRecording and ResumeContactRecording.
9110//
9111// Only voice recordings are supported at this time.
9112//
9113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9114// with awserr.Error's Code and Message methods to get detailed information about
9115// the error.
9116//
9117// See the AWS API reference guide for Amazon Connect Service's
9118// API operation StopContactRecording for usage and error information.
9119//
9120// Returned Error Types:
9121//   * InvalidRequestException
9122//   The request is not valid.
9123//
9124//   * ResourceNotFoundException
9125//   The specified resource was not found.
9126//
9127//   * InternalServiceException
9128//   Request processing failed because of an error or failure with the service.
9129//
9130// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContactRecording
9131func (c *Connect) StopContactRecording(input *StopContactRecordingInput) (*StopContactRecordingOutput, error) {
9132	req, out := c.StopContactRecordingRequest(input)
9133	return out, req.Send()
9134}
9135
9136// StopContactRecordingWithContext is the same as StopContactRecording with the addition of
9137// the ability to pass a context and additional request options.
9138//
9139// See StopContactRecording for details on how to use this API operation.
9140//
9141// The context must be non-nil and will be used for request cancellation. If
9142// the context is nil a panic will occur. In the future the SDK may create
9143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9144// for more information on using Contexts.
9145func (c *Connect) StopContactRecordingWithContext(ctx aws.Context, input *StopContactRecordingInput, opts ...request.Option) (*StopContactRecordingOutput, error) {
9146	req, out := c.StopContactRecordingRequest(input)
9147	req.SetContext(ctx)
9148	req.ApplyOptions(opts...)
9149	return out, req.Send()
9150}
9151
9152const opSuspendContactRecording = "SuspendContactRecording"
9153
9154// SuspendContactRecordingRequest generates a "aws/request.Request" representing the
9155// client's request for the SuspendContactRecording operation. The "output" return
9156// value will be populated with the request's response once the request completes
9157// successfully.
9158//
9159// Use "Send" method on the returned Request to send the API call to the service.
9160// the "output" return value is not valid until after Send returns without error.
9161//
9162// See SuspendContactRecording for more information on using the SuspendContactRecording
9163// API call, and error handling.
9164//
9165// This method is useful when you want to inject custom logic or configuration
9166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9167//
9168//
9169//    // Example sending a request using the SuspendContactRecordingRequest method.
9170//    req, resp := client.SuspendContactRecordingRequest(params)
9171//
9172//    err := req.Send()
9173//    if err == nil { // resp is now filled
9174//        fmt.Println(resp)
9175//    }
9176//
9177// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SuspendContactRecording
9178func (c *Connect) SuspendContactRecordingRequest(input *SuspendContactRecordingInput) (req *request.Request, output *SuspendContactRecordingOutput) {
9179	op := &request.Operation{
9180		Name:       opSuspendContactRecording,
9181		HTTPMethod: "POST",
9182		HTTPPath:   "/contact/suspend-recording",
9183	}
9184
9185	if input == nil {
9186		input = &SuspendContactRecordingInput{}
9187	}
9188
9189	output = &SuspendContactRecordingOutput{}
9190	req = c.newRequest(op, input, output)
9191	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9192	return
9193}
9194
9195// SuspendContactRecording API operation for Amazon Connect Service.
9196//
9197// When a contact is being recorded, this API suspends recording the call. For
9198// example, you might suspend the call recording while collecting sensitive
9199// information, such as a credit card number. Then use ResumeContactRecording
9200// to restart recording.
9201//
9202// The period of time that the recording is suspended is filled with silence
9203// in the final recording.
9204//
9205// Only voice recordings are supported at this time.
9206//
9207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9208// with awserr.Error's Code and Message methods to get detailed information about
9209// the error.
9210//
9211// See the AWS API reference guide for Amazon Connect Service's
9212// API operation SuspendContactRecording for usage and error information.
9213//
9214// Returned Error Types:
9215//   * InvalidRequestException
9216//   The request is not valid.
9217//
9218//   * ResourceNotFoundException
9219//   The specified resource was not found.
9220//
9221//   * InternalServiceException
9222//   Request processing failed because of an error or failure with the service.
9223//
9224// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SuspendContactRecording
9225func (c *Connect) SuspendContactRecording(input *SuspendContactRecordingInput) (*SuspendContactRecordingOutput, error) {
9226	req, out := c.SuspendContactRecordingRequest(input)
9227	return out, req.Send()
9228}
9229
9230// SuspendContactRecordingWithContext is the same as SuspendContactRecording with the addition of
9231// the ability to pass a context and additional request options.
9232//
9233// See SuspendContactRecording for details on how to use this API operation.
9234//
9235// The context must be non-nil and will be used for request cancellation. If
9236// the context is nil a panic will occur. In the future the SDK may create
9237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9238// for more information on using Contexts.
9239func (c *Connect) SuspendContactRecordingWithContext(ctx aws.Context, input *SuspendContactRecordingInput, opts ...request.Option) (*SuspendContactRecordingOutput, error) {
9240	req, out := c.SuspendContactRecordingRequest(input)
9241	req.SetContext(ctx)
9242	req.ApplyOptions(opts...)
9243	return out, req.Send()
9244}
9245
9246const opTagResource = "TagResource"
9247
9248// TagResourceRequest generates a "aws/request.Request" representing the
9249// client's request for the TagResource operation. The "output" return
9250// value will be populated with the request's response once the request completes
9251// successfully.
9252//
9253// Use "Send" method on the returned Request to send the API call to the service.
9254// the "output" return value is not valid until after Send returns without error.
9255//
9256// See TagResource for more information on using the TagResource
9257// API call, and error handling.
9258//
9259// This method is useful when you want to inject custom logic or configuration
9260// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9261//
9262//
9263//    // Example sending a request using the TagResourceRequest method.
9264//    req, resp := client.TagResourceRequest(params)
9265//
9266//    err := req.Send()
9267//    if err == nil { // resp is now filled
9268//        fmt.Println(resp)
9269//    }
9270//
9271// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource
9272func (c *Connect) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
9273	op := &request.Operation{
9274		Name:       opTagResource,
9275		HTTPMethod: "POST",
9276		HTTPPath:   "/tags/{resourceArn}",
9277	}
9278
9279	if input == nil {
9280		input = &TagResourceInput{}
9281	}
9282
9283	output = &TagResourceOutput{}
9284	req = c.newRequest(op, input, output)
9285	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9286	return
9287}
9288
9289// TagResource API operation for Amazon Connect Service.
9290//
9291// Adds the specified tags to the specified resource.
9292//
9293// The supported resource types are users, routing profiles, queues, quick connects,
9294// contact flows, agent status, and hours of operation.
9295//
9296// For sample policies that use tags, see Amazon Connect Identity-Based Policy
9297// Examples (https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html)
9298// in the Amazon Connect Administrator Guide.
9299//
9300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9301// with awserr.Error's Code and Message methods to get detailed information about
9302// the error.
9303//
9304// See the AWS API reference guide for Amazon Connect Service's
9305// API operation TagResource for usage and error information.
9306//
9307// Returned Error Types:
9308//   * InvalidRequestException
9309//   The request is not valid.
9310//
9311//   * InvalidParameterException
9312//   One or more of the specified parameters are not valid.
9313//
9314//   * InternalServiceException
9315//   Request processing failed because of an error or failure with the service.
9316//
9317//   * ResourceNotFoundException
9318//   The specified resource was not found.
9319//
9320//   * ThrottlingException
9321//   The throttling limit has been exceeded.
9322//
9323// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource
9324func (c *Connect) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
9325	req, out := c.TagResourceRequest(input)
9326	return out, req.Send()
9327}
9328
9329// TagResourceWithContext is the same as TagResource with the addition of
9330// the ability to pass a context and additional request options.
9331//
9332// See TagResource for details on how to use this API operation.
9333//
9334// The context must be non-nil and will be used for request cancellation. If
9335// the context is nil a panic will occur. In the future the SDK may create
9336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9337// for more information on using Contexts.
9338func (c *Connect) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
9339	req, out := c.TagResourceRequest(input)
9340	req.SetContext(ctx)
9341	req.ApplyOptions(opts...)
9342	return out, req.Send()
9343}
9344
9345const opUntagResource = "UntagResource"
9346
9347// UntagResourceRequest generates a "aws/request.Request" representing the
9348// client's request for the UntagResource operation. The "output" return
9349// value will be populated with the request's response once the request completes
9350// successfully.
9351//
9352// Use "Send" method on the returned Request to send the API call to the service.
9353// the "output" return value is not valid until after Send returns without error.
9354//
9355// See UntagResource for more information on using the UntagResource
9356// API call, and error handling.
9357//
9358// This method is useful when you want to inject custom logic or configuration
9359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9360//
9361//
9362//    // Example sending a request using the UntagResourceRequest method.
9363//    req, resp := client.UntagResourceRequest(params)
9364//
9365//    err := req.Send()
9366//    if err == nil { // resp is now filled
9367//        fmt.Println(resp)
9368//    }
9369//
9370// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource
9371func (c *Connect) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
9372	op := &request.Operation{
9373		Name:       opUntagResource,
9374		HTTPMethod: "DELETE",
9375		HTTPPath:   "/tags/{resourceArn}",
9376	}
9377
9378	if input == nil {
9379		input = &UntagResourceInput{}
9380	}
9381
9382	output = &UntagResourceOutput{}
9383	req = c.newRequest(op, input, output)
9384	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9385	return
9386}
9387
9388// UntagResource API operation for Amazon Connect Service.
9389//
9390// Removes the specified tags from the specified resource.
9391//
9392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9393// with awserr.Error's Code and Message methods to get detailed information about
9394// the error.
9395//
9396// See the AWS API reference guide for Amazon Connect Service's
9397// API operation UntagResource for usage and error information.
9398//
9399// Returned Error Types:
9400//   * InvalidRequestException
9401//   The request is not valid.
9402//
9403//   * InvalidParameterException
9404//   One or more of the specified parameters are not valid.
9405//
9406//   * InternalServiceException
9407//   Request processing failed because of an error or failure with the service.
9408//
9409//   * ResourceNotFoundException
9410//   The specified resource was not found.
9411//
9412//   * ThrottlingException
9413//   The throttling limit has been exceeded.
9414//
9415// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource
9416func (c *Connect) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
9417	req, out := c.UntagResourceRequest(input)
9418	return out, req.Send()
9419}
9420
9421// UntagResourceWithContext is the same as UntagResource with the addition of
9422// the ability to pass a context and additional request options.
9423//
9424// See UntagResource for details on how to use this API operation.
9425//
9426// The context must be non-nil and will be used for request cancellation. If
9427// the context is nil a panic will occur. In the future the SDK may create
9428// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9429// for more information on using Contexts.
9430func (c *Connect) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
9431	req, out := c.UntagResourceRequest(input)
9432	req.SetContext(ctx)
9433	req.ApplyOptions(opts...)
9434	return out, req.Send()
9435}
9436
9437const opUpdateAgentStatus = "UpdateAgentStatus"
9438
9439// UpdateAgentStatusRequest generates a "aws/request.Request" representing the
9440// client's request for the UpdateAgentStatus operation. The "output" return
9441// value will be populated with the request's response once the request completes
9442// successfully.
9443//
9444// Use "Send" method on the returned Request to send the API call to the service.
9445// the "output" return value is not valid until after Send returns without error.
9446//
9447// See UpdateAgentStatus for more information on using the UpdateAgentStatus
9448// API call, and error handling.
9449//
9450// This method is useful when you want to inject custom logic or configuration
9451// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9452//
9453//
9454//    // Example sending a request using the UpdateAgentStatusRequest method.
9455//    req, resp := client.UpdateAgentStatusRequest(params)
9456//
9457//    err := req.Send()
9458//    if err == nil { // resp is now filled
9459//        fmt.Println(resp)
9460//    }
9461//
9462// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateAgentStatus
9463func (c *Connect) UpdateAgentStatusRequest(input *UpdateAgentStatusInput) (req *request.Request, output *UpdateAgentStatusOutput) {
9464	op := &request.Operation{
9465		Name:       opUpdateAgentStatus,
9466		HTTPMethod: "POST",
9467		HTTPPath:   "/agent-status/{InstanceId}/{AgentStatusId}",
9468	}
9469
9470	if input == nil {
9471		input = &UpdateAgentStatusInput{}
9472	}
9473
9474	output = &UpdateAgentStatusOutput{}
9475	req = c.newRequest(op, input, output)
9476	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9477	return
9478}
9479
9480// UpdateAgentStatus API operation for Amazon Connect Service.
9481//
9482// This API is in preview release for Amazon Connect and is subject to change.
9483//
9484// Updates agent status.
9485//
9486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9487// with awserr.Error's Code and Message methods to get detailed information about
9488// the error.
9489//
9490// See the AWS API reference guide for Amazon Connect Service's
9491// API operation UpdateAgentStatus for usage and error information.
9492//
9493// Returned Error Types:
9494//   * InvalidRequestException
9495//   The request is not valid.
9496//
9497//   * InvalidParameterException
9498//   One or more of the specified parameters are not valid.
9499//
9500//   * DuplicateResourceException
9501//   A resource with the specified name already exists.
9502//
9503//   * ResourceNotFoundException
9504//   The specified resource was not found.
9505//
9506//   * LimitExceededException
9507//   The allowed limit for the resource has been exceeded.
9508//
9509//   * ThrottlingException
9510//   The throttling limit has been exceeded.
9511//
9512//   * InternalServiceException
9513//   Request processing failed because of an error or failure with the service.
9514//
9515// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateAgentStatus
9516func (c *Connect) UpdateAgentStatus(input *UpdateAgentStatusInput) (*UpdateAgentStatusOutput, error) {
9517	req, out := c.UpdateAgentStatusRequest(input)
9518	return out, req.Send()
9519}
9520
9521// UpdateAgentStatusWithContext is the same as UpdateAgentStatus with the addition of
9522// the ability to pass a context and additional request options.
9523//
9524// See UpdateAgentStatus for details on how to use this API operation.
9525//
9526// The context must be non-nil and will be used for request cancellation. If
9527// the context is nil a panic will occur. In the future the SDK may create
9528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9529// for more information on using Contexts.
9530func (c *Connect) UpdateAgentStatusWithContext(ctx aws.Context, input *UpdateAgentStatusInput, opts ...request.Option) (*UpdateAgentStatusOutput, error) {
9531	req, out := c.UpdateAgentStatusRequest(input)
9532	req.SetContext(ctx)
9533	req.ApplyOptions(opts...)
9534	return out, req.Send()
9535}
9536
9537const opUpdateContactAttributes = "UpdateContactAttributes"
9538
9539// UpdateContactAttributesRequest generates a "aws/request.Request" representing the
9540// client's request for the UpdateContactAttributes operation. The "output" return
9541// value will be populated with the request's response once the request completes
9542// successfully.
9543//
9544// Use "Send" method on the returned Request to send the API call to the service.
9545// the "output" return value is not valid until after Send returns without error.
9546//
9547// See UpdateContactAttributes for more information on using the UpdateContactAttributes
9548// API call, and error handling.
9549//
9550// This method is useful when you want to inject custom logic or configuration
9551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9552//
9553//
9554//    // Example sending a request using the UpdateContactAttributesRequest method.
9555//    req, resp := client.UpdateContactAttributesRequest(params)
9556//
9557//    err := req.Send()
9558//    if err == nil { // resp is now filled
9559//        fmt.Println(resp)
9560//    }
9561//
9562// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes
9563func (c *Connect) UpdateContactAttributesRequest(input *UpdateContactAttributesInput) (req *request.Request, output *UpdateContactAttributesOutput) {
9564	op := &request.Operation{
9565		Name:       opUpdateContactAttributes,
9566		HTTPMethod: "POST",
9567		HTTPPath:   "/contact/attributes",
9568	}
9569
9570	if input == nil {
9571		input = &UpdateContactAttributesInput{}
9572	}
9573
9574	output = &UpdateContactAttributesOutput{}
9575	req = c.newRequest(op, input, output)
9576	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9577	return
9578}
9579
9580// UpdateContactAttributes API operation for Amazon Connect Service.
9581//
9582// Creates or updates user-defined contact attributes associated with the specified
9583// contact.
9584//
9585// You can create or update user-defined attributes for both ongoing and completed
9586// contacts. For example, while the call is active, you can update the customer's
9587// name or the reason the customer called. You can add notes about steps that
9588// the agent took during the call that display to the next agent that takes
9589// the call. You can also update attributes for a contact using data from your
9590// CRM application and save the data with the contact in Amazon Connect. You
9591// could also flag calls for additional analysis, such as legal review or to
9592// identify abusive callers.
9593//
9594// Contact attributes are available in Amazon Connect for 24 months, and are
9595// then deleted. For information about CTR retention and the maximum size of
9596// the CTR attributes section, see Feature specifications (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits)
9597// in the Amazon Connect Administrator Guide.
9598//
9599// Important: You cannot use the operation to update attributes for contacts
9600// that occurred prior to the release of the API, which was September 12, 2018.
9601// You can update attributes only for contacts that started after the release
9602// of the API. If you attempt to update attributes for a contact that occurred
9603// prior to the release of the API, a 400 error is returned. This applies also
9604// to queued callbacks that were initiated prior to the release of the API but
9605// are still active in your instance.
9606//
9607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9608// with awserr.Error's Code and Message methods to get detailed information about
9609// the error.
9610//
9611// See the AWS API reference guide for Amazon Connect Service's
9612// API operation UpdateContactAttributes for usage and error information.
9613//
9614// Returned Error Types:
9615//   * InvalidRequestException
9616//   The request is not valid.
9617//
9618//   * InvalidParameterException
9619//   One or more of the specified parameters are not valid.
9620//
9621//   * ResourceNotFoundException
9622//   The specified resource was not found.
9623//
9624//   * InternalServiceException
9625//   Request processing failed because of an error or failure with the service.
9626//
9627// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes
9628func (c *Connect) UpdateContactAttributes(input *UpdateContactAttributesInput) (*UpdateContactAttributesOutput, error) {
9629	req, out := c.UpdateContactAttributesRequest(input)
9630	return out, req.Send()
9631}
9632
9633// UpdateContactAttributesWithContext is the same as UpdateContactAttributes with the addition of
9634// the ability to pass a context and additional request options.
9635//
9636// See UpdateContactAttributes for details on how to use this API operation.
9637//
9638// The context must be non-nil and will be used for request cancellation. If
9639// the context is nil a panic will occur. In the future the SDK may create
9640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9641// for more information on using Contexts.
9642func (c *Connect) UpdateContactAttributesWithContext(ctx aws.Context, input *UpdateContactAttributesInput, opts ...request.Option) (*UpdateContactAttributesOutput, error) {
9643	req, out := c.UpdateContactAttributesRequest(input)
9644	req.SetContext(ctx)
9645	req.ApplyOptions(opts...)
9646	return out, req.Send()
9647}
9648
9649const opUpdateContactFlowContent = "UpdateContactFlowContent"
9650
9651// UpdateContactFlowContentRequest generates a "aws/request.Request" representing the
9652// client's request for the UpdateContactFlowContent operation. The "output" return
9653// value will be populated with the request's response once the request completes
9654// successfully.
9655//
9656// Use "Send" method on the returned Request to send the API call to the service.
9657// the "output" return value is not valid until after Send returns without error.
9658//
9659// See UpdateContactFlowContent for more information on using the UpdateContactFlowContent
9660// API call, and error handling.
9661//
9662// This method is useful when you want to inject custom logic or configuration
9663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9664//
9665//
9666//    // Example sending a request using the UpdateContactFlowContentRequest method.
9667//    req, resp := client.UpdateContactFlowContentRequest(params)
9668//
9669//    err := req.Send()
9670//    if err == nil { // resp is now filled
9671//        fmt.Println(resp)
9672//    }
9673//
9674// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowContent
9675func (c *Connect) UpdateContactFlowContentRequest(input *UpdateContactFlowContentInput) (req *request.Request, output *UpdateContactFlowContentOutput) {
9676	op := &request.Operation{
9677		Name:       opUpdateContactFlowContent,
9678		HTTPMethod: "POST",
9679		HTTPPath:   "/contact-flows/{InstanceId}/{ContactFlowId}/content",
9680	}
9681
9682	if input == nil {
9683		input = &UpdateContactFlowContentInput{}
9684	}
9685
9686	output = &UpdateContactFlowContentOutput{}
9687	req = c.newRequest(op, input, output)
9688	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9689	return
9690}
9691
9692// UpdateContactFlowContent API operation for Amazon Connect Service.
9693//
9694// Updates the specified contact flow.
9695//
9696// You can also create and update contact flows using the Amazon Connect Flow
9697// language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
9698//
9699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9700// with awserr.Error's Code and Message methods to get detailed information about
9701// the error.
9702//
9703// See the AWS API reference guide for Amazon Connect Service's
9704// API operation UpdateContactFlowContent for usage and error information.
9705//
9706// Returned Error Types:
9707//   * InvalidRequestException
9708//   The request is not valid.
9709//
9710//   * InvalidContactFlowException
9711//   The contact flow is not valid.
9712//
9713//   * InvalidParameterException
9714//   One or more of the specified parameters are not valid.
9715//
9716//   * ResourceNotFoundException
9717//   The specified resource was not found.
9718//
9719//   * ThrottlingException
9720//   The throttling limit has been exceeded.
9721//
9722//   * InternalServiceException
9723//   Request processing failed because of an error or failure with the service.
9724//
9725// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowContent
9726func (c *Connect) UpdateContactFlowContent(input *UpdateContactFlowContentInput) (*UpdateContactFlowContentOutput, error) {
9727	req, out := c.UpdateContactFlowContentRequest(input)
9728	return out, req.Send()
9729}
9730
9731// UpdateContactFlowContentWithContext is the same as UpdateContactFlowContent with the addition of
9732// the ability to pass a context and additional request options.
9733//
9734// See UpdateContactFlowContent for details on how to use this API operation.
9735//
9736// The context must be non-nil and will be used for request cancellation. If
9737// the context is nil a panic will occur. In the future the SDK may create
9738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9739// for more information on using Contexts.
9740func (c *Connect) UpdateContactFlowContentWithContext(ctx aws.Context, input *UpdateContactFlowContentInput, opts ...request.Option) (*UpdateContactFlowContentOutput, error) {
9741	req, out := c.UpdateContactFlowContentRequest(input)
9742	req.SetContext(ctx)
9743	req.ApplyOptions(opts...)
9744	return out, req.Send()
9745}
9746
9747const opUpdateContactFlowName = "UpdateContactFlowName"
9748
9749// UpdateContactFlowNameRequest generates a "aws/request.Request" representing the
9750// client's request for the UpdateContactFlowName operation. The "output" return
9751// value will be populated with the request's response once the request completes
9752// successfully.
9753//
9754// Use "Send" method on the returned Request to send the API call to the service.
9755// the "output" return value is not valid until after Send returns without error.
9756//
9757// See UpdateContactFlowName for more information on using the UpdateContactFlowName
9758// API call, and error handling.
9759//
9760// This method is useful when you want to inject custom logic or configuration
9761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9762//
9763//
9764//    // Example sending a request using the UpdateContactFlowNameRequest method.
9765//    req, resp := client.UpdateContactFlowNameRequest(params)
9766//
9767//    err := req.Send()
9768//    if err == nil { // resp is now filled
9769//        fmt.Println(resp)
9770//    }
9771//
9772// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowName
9773func (c *Connect) UpdateContactFlowNameRequest(input *UpdateContactFlowNameInput) (req *request.Request, output *UpdateContactFlowNameOutput) {
9774	op := &request.Operation{
9775		Name:       opUpdateContactFlowName,
9776		HTTPMethod: "POST",
9777		HTTPPath:   "/contact-flows/{InstanceId}/{ContactFlowId}/name",
9778	}
9779
9780	if input == nil {
9781		input = &UpdateContactFlowNameInput{}
9782	}
9783
9784	output = &UpdateContactFlowNameOutput{}
9785	req = c.newRequest(op, input, output)
9786	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9787	return
9788}
9789
9790// UpdateContactFlowName API operation for Amazon Connect Service.
9791//
9792// The name of the contact flow.
9793//
9794// You can also create and update contact flows using the Amazon Connect Flow
9795// language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
9796//
9797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9798// with awserr.Error's Code and Message methods to get detailed information about
9799// the error.
9800//
9801// See the AWS API reference guide for Amazon Connect Service's
9802// API operation UpdateContactFlowName for usage and error information.
9803//
9804// Returned Error Types:
9805//   * InvalidRequestException
9806//   The request is not valid.
9807//
9808//   * InvalidParameterException
9809//   One or more of the specified parameters are not valid.
9810//
9811//   * DuplicateResourceException
9812//   A resource with the specified name already exists.
9813//
9814//   * ResourceNotFoundException
9815//   The specified resource was not found.
9816//
9817//   * ThrottlingException
9818//   The throttling limit has been exceeded.
9819//
9820//   * InternalServiceException
9821//   Request processing failed because of an error or failure with the service.
9822//
9823// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowName
9824func (c *Connect) UpdateContactFlowName(input *UpdateContactFlowNameInput) (*UpdateContactFlowNameOutput, error) {
9825	req, out := c.UpdateContactFlowNameRequest(input)
9826	return out, req.Send()
9827}
9828
9829// UpdateContactFlowNameWithContext is the same as UpdateContactFlowName with the addition of
9830// the ability to pass a context and additional request options.
9831//
9832// See UpdateContactFlowName for details on how to use this API operation.
9833//
9834// The context must be non-nil and will be used for request cancellation. If
9835// the context is nil a panic will occur. In the future the SDK may create
9836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9837// for more information on using Contexts.
9838func (c *Connect) UpdateContactFlowNameWithContext(ctx aws.Context, input *UpdateContactFlowNameInput, opts ...request.Option) (*UpdateContactFlowNameOutput, error) {
9839	req, out := c.UpdateContactFlowNameRequest(input)
9840	req.SetContext(ctx)
9841	req.ApplyOptions(opts...)
9842	return out, req.Send()
9843}
9844
9845const opUpdateHoursOfOperation = "UpdateHoursOfOperation"
9846
9847// UpdateHoursOfOperationRequest generates a "aws/request.Request" representing the
9848// client's request for the UpdateHoursOfOperation operation. The "output" return
9849// value will be populated with the request's response once the request completes
9850// successfully.
9851//
9852// Use "Send" method on the returned Request to send the API call to the service.
9853// the "output" return value is not valid until after Send returns without error.
9854//
9855// See UpdateHoursOfOperation for more information on using the UpdateHoursOfOperation
9856// API call, and error handling.
9857//
9858// This method is useful when you want to inject custom logic or configuration
9859// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9860//
9861//
9862//    // Example sending a request using the UpdateHoursOfOperationRequest method.
9863//    req, resp := client.UpdateHoursOfOperationRequest(params)
9864//
9865//    err := req.Send()
9866//    if err == nil { // resp is now filled
9867//        fmt.Println(resp)
9868//    }
9869//
9870// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateHoursOfOperation
9871func (c *Connect) UpdateHoursOfOperationRequest(input *UpdateHoursOfOperationInput) (req *request.Request, output *UpdateHoursOfOperationOutput) {
9872	op := &request.Operation{
9873		Name:       opUpdateHoursOfOperation,
9874		HTTPMethod: "POST",
9875		HTTPPath:   "/hours-of-operations/{InstanceId}/{HoursOfOperationId}",
9876	}
9877
9878	if input == nil {
9879		input = &UpdateHoursOfOperationInput{}
9880	}
9881
9882	output = &UpdateHoursOfOperationOutput{}
9883	req = c.newRequest(op, input, output)
9884	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9885	return
9886}
9887
9888// UpdateHoursOfOperation API operation for Amazon Connect Service.
9889//
9890// This API is in preview release for Amazon Connect and is subject to change.
9891//
9892// Updates the hours of operation.
9893//
9894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9895// with awserr.Error's Code and Message methods to get detailed information about
9896// the error.
9897//
9898// See the AWS API reference guide for Amazon Connect Service's
9899// API operation UpdateHoursOfOperation for usage and error information.
9900//
9901// Returned Error Types:
9902//   * DuplicateResourceException
9903//   A resource with the specified name already exists.
9904//
9905//   * InvalidRequestException
9906//   The request is not valid.
9907//
9908//   * InvalidParameterException
9909//   One or more of the specified parameters are not valid.
9910//
9911//   * ResourceNotFoundException
9912//   The specified resource was not found.
9913//
9914//   * ThrottlingException
9915//   The throttling limit has been exceeded.
9916//
9917//   * InternalServiceException
9918//   Request processing failed because of an error or failure with the service.
9919//
9920// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateHoursOfOperation
9921func (c *Connect) UpdateHoursOfOperation(input *UpdateHoursOfOperationInput) (*UpdateHoursOfOperationOutput, error) {
9922	req, out := c.UpdateHoursOfOperationRequest(input)
9923	return out, req.Send()
9924}
9925
9926// UpdateHoursOfOperationWithContext is the same as UpdateHoursOfOperation with the addition of
9927// the ability to pass a context and additional request options.
9928//
9929// See UpdateHoursOfOperation for details on how to use this API operation.
9930//
9931// The context must be non-nil and will be used for request cancellation. If
9932// the context is nil a panic will occur. In the future the SDK may create
9933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9934// for more information on using Contexts.
9935func (c *Connect) UpdateHoursOfOperationWithContext(ctx aws.Context, input *UpdateHoursOfOperationInput, opts ...request.Option) (*UpdateHoursOfOperationOutput, error) {
9936	req, out := c.UpdateHoursOfOperationRequest(input)
9937	req.SetContext(ctx)
9938	req.ApplyOptions(opts...)
9939	return out, req.Send()
9940}
9941
9942const opUpdateInstanceAttribute = "UpdateInstanceAttribute"
9943
9944// UpdateInstanceAttributeRequest generates a "aws/request.Request" representing the
9945// client's request for the UpdateInstanceAttribute operation. The "output" return
9946// value will be populated with the request's response once the request completes
9947// successfully.
9948//
9949// Use "Send" method on the returned Request to send the API call to the service.
9950// the "output" return value is not valid until after Send returns without error.
9951//
9952// See UpdateInstanceAttribute for more information on using the UpdateInstanceAttribute
9953// API call, and error handling.
9954//
9955// This method is useful when you want to inject custom logic or configuration
9956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9957//
9958//
9959//    // Example sending a request using the UpdateInstanceAttributeRequest method.
9960//    req, resp := client.UpdateInstanceAttributeRequest(params)
9961//
9962//    err := req.Send()
9963//    if err == nil { // resp is now filled
9964//        fmt.Println(resp)
9965//    }
9966//
9967// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceAttribute
9968func (c *Connect) UpdateInstanceAttributeRequest(input *UpdateInstanceAttributeInput) (req *request.Request, output *UpdateInstanceAttributeOutput) {
9969	op := &request.Operation{
9970		Name:       opUpdateInstanceAttribute,
9971		HTTPMethod: "POST",
9972		HTTPPath:   "/instance/{InstanceId}/attribute/{AttributeType}",
9973	}
9974
9975	if input == nil {
9976		input = &UpdateInstanceAttributeInput{}
9977	}
9978
9979	output = &UpdateInstanceAttributeOutput{}
9980	req = c.newRequest(op, input, output)
9981	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9982	return
9983}
9984
9985// UpdateInstanceAttribute API operation for Amazon Connect Service.
9986//
9987// This API is in preview release for Amazon Connect and is subject to change.
9988//
9989// Updates the value for the specified attribute type.
9990//
9991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9992// with awserr.Error's Code and Message methods to get detailed information about
9993// the error.
9994//
9995// See the AWS API reference guide for Amazon Connect Service's
9996// API operation UpdateInstanceAttribute for usage and error information.
9997//
9998// Returned Error Types:
9999//   * ResourceNotFoundException
10000//   The specified resource was not found.
10001//
10002//   * InternalServiceException
10003//   Request processing failed because of an error or failure with the service.
10004//
10005//   * InvalidRequestException
10006//   The request is not valid.
10007//
10008//   * InvalidParameterException
10009//   One or more of the specified parameters are not valid.
10010//
10011//   * ThrottlingException
10012//   The throttling limit has been exceeded.
10013//
10014// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceAttribute
10015func (c *Connect) UpdateInstanceAttribute(input *UpdateInstanceAttributeInput) (*UpdateInstanceAttributeOutput, error) {
10016	req, out := c.UpdateInstanceAttributeRequest(input)
10017	return out, req.Send()
10018}
10019
10020// UpdateInstanceAttributeWithContext is the same as UpdateInstanceAttribute with the addition of
10021// the ability to pass a context and additional request options.
10022//
10023// See UpdateInstanceAttribute for details on how to use this API operation.
10024//
10025// The context must be non-nil and will be used for request cancellation. If
10026// the context is nil a panic will occur. In the future the SDK may create
10027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10028// for more information on using Contexts.
10029func (c *Connect) UpdateInstanceAttributeWithContext(ctx aws.Context, input *UpdateInstanceAttributeInput, opts ...request.Option) (*UpdateInstanceAttributeOutput, error) {
10030	req, out := c.UpdateInstanceAttributeRequest(input)
10031	req.SetContext(ctx)
10032	req.ApplyOptions(opts...)
10033	return out, req.Send()
10034}
10035
10036const opUpdateInstanceStorageConfig = "UpdateInstanceStorageConfig"
10037
10038// UpdateInstanceStorageConfigRequest generates a "aws/request.Request" representing the
10039// client's request for the UpdateInstanceStorageConfig operation. The "output" return
10040// value will be populated with the request's response once the request completes
10041// successfully.
10042//
10043// Use "Send" method on the returned Request to send the API call to the service.
10044// the "output" return value is not valid until after Send returns without error.
10045//
10046// See UpdateInstanceStorageConfig for more information on using the UpdateInstanceStorageConfig
10047// API call, and error handling.
10048//
10049// This method is useful when you want to inject custom logic or configuration
10050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10051//
10052//
10053//    // Example sending a request using the UpdateInstanceStorageConfigRequest method.
10054//    req, resp := client.UpdateInstanceStorageConfigRequest(params)
10055//
10056//    err := req.Send()
10057//    if err == nil { // resp is now filled
10058//        fmt.Println(resp)
10059//    }
10060//
10061// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig
10062func (c *Connect) UpdateInstanceStorageConfigRequest(input *UpdateInstanceStorageConfigInput) (req *request.Request, output *UpdateInstanceStorageConfigOutput) {
10063	op := &request.Operation{
10064		Name:       opUpdateInstanceStorageConfig,
10065		HTTPMethod: "POST",
10066		HTTPPath:   "/instance/{InstanceId}/storage-config/{AssociationId}",
10067	}
10068
10069	if input == nil {
10070		input = &UpdateInstanceStorageConfigInput{}
10071	}
10072
10073	output = &UpdateInstanceStorageConfigOutput{}
10074	req = c.newRequest(op, input, output)
10075	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10076	return
10077}
10078
10079// UpdateInstanceStorageConfig API operation for Amazon Connect Service.
10080//
10081// This API is in preview release for Amazon Connect and is subject to change.
10082//
10083// Updates an existing configuration for a resource type. This API is idempotent.
10084//
10085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10086// with awserr.Error's Code and Message methods to get detailed information about
10087// the error.
10088//
10089// See the AWS API reference guide for Amazon Connect Service's
10090// API operation UpdateInstanceStorageConfig for usage and error information.
10091//
10092// Returned Error Types:
10093//   * ResourceNotFoundException
10094//   The specified resource was not found.
10095//
10096//   * InternalServiceException
10097//   Request processing failed because of an error or failure with the service.
10098//
10099//   * InvalidRequestException
10100//   The request is not valid.
10101//
10102//   * InvalidParameterException
10103//   One or more of the specified parameters are not valid.
10104//
10105//   * ThrottlingException
10106//   The throttling limit has been exceeded.
10107//
10108// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig
10109func (c *Connect) UpdateInstanceStorageConfig(input *UpdateInstanceStorageConfigInput) (*UpdateInstanceStorageConfigOutput, error) {
10110	req, out := c.UpdateInstanceStorageConfigRequest(input)
10111	return out, req.Send()
10112}
10113
10114// UpdateInstanceStorageConfigWithContext is the same as UpdateInstanceStorageConfig with the addition of
10115// the ability to pass a context and additional request options.
10116//
10117// See UpdateInstanceStorageConfig for details on how to use this API operation.
10118//
10119// The context must be non-nil and will be used for request cancellation. If
10120// the context is nil a panic will occur. In the future the SDK may create
10121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10122// for more information on using Contexts.
10123func (c *Connect) UpdateInstanceStorageConfigWithContext(ctx aws.Context, input *UpdateInstanceStorageConfigInput, opts ...request.Option) (*UpdateInstanceStorageConfigOutput, error) {
10124	req, out := c.UpdateInstanceStorageConfigRequest(input)
10125	req.SetContext(ctx)
10126	req.ApplyOptions(opts...)
10127	return out, req.Send()
10128}
10129
10130const opUpdateQueueHoursOfOperation = "UpdateQueueHoursOfOperation"
10131
10132// UpdateQueueHoursOfOperationRequest generates a "aws/request.Request" representing the
10133// client's request for the UpdateQueueHoursOfOperation operation. The "output" return
10134// value will be populated with the request's response once the request completes
10135// successfully.
10136//
10137// Use "Send" method on the returned Request to send the API call to the service.
10138// the "output" return value is not valid until after Send returns without error.
10139//
10140// See UpdateQueueHoursOfOperation for more information on using the UpdateQueueHoursOfOperation
10141// API call, and error handling.
10142//
10143// This method is useful when you want to inject custom logic or configuration
10144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10145//
10146//
10147//    // Example sending a request using the UpdateQueueHoursOfOperationRequest method.
10148//    req, resp := client.UpdateQueueHoursOfOperationRequest(params)
10149//
10150//    err := req.Send()
10151//    if err == nil { // resp is now filled
10152//        fmt.Println(resp)
10153//    }
10154//
10155// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueHoursOfOperation
10156func (c *Connect) UpdateQueueHoursOfOperationRequest(input *UpdateQueueHoursOfOperationInput) (req *request.Request, output *UpdateQueueHoursOfOperationOutput) {
10157	op := &request.Operation{
10158		Name:       opUpdateQueueHoursOfOperation,
10159		HTTPMethod: "POST",
10160		HTTPPath:   "/queues/{InstanceId}/{QueueId}/hours-of-operation",
10161	}
10162
10163	if input == nil {
10164		input = &UpdateQueueHoursOfOperationInput{}
10165	}
10166
10167	output = &UpdateQueueHoursOfOperationOutput{}
10168	req = c.newRequest(op, input, output)
10169	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10170	return
10171}
10172
10173// UpdateQueueHoursOfOperation API operation for Amazon Connect Service.
10174//
10175// This API is in preview release for Amazon Connect and is subject to change.
10176//
10177// Updates the hours of operation for the specified queue.
10178//
10179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10180// with awserr.Error's Code and Message methods to get detailed information about
10181// the error.
10182//
10183// See the AWS API reference guide for Amazon Connect Service's
10184// API operation UpdateQueueHoursOfOperation for usage and error information.
10185//
10186// Returned Error Types:
10187//   * InvalidRequestException
10188//   The request is not valid.
10189//
10190//   * InvalidParameterException
10191//   One or more of the specified parameters are not valid.
10192//
10193//   * ResourceNotFoundException
10194//   The specified resource was not found.
10195//
10196//   * ThrottlingException
10197//   The throttling limit has been exceeded.
10198//
10199//   * InternalServiceException
10200//   Request processing failed because of an error or failure with the service.
10201//
10202// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueHoursOfOperation
10203func (c *Connect) UpdateQueueHoursOfOperation(input *UpdateQueueHoursOfOperationInput) (*UpdateQueueHoursOfOperationOutput, error) {
10204	req, out := c.UpdateQueueHoursOfOperationRequest(input)
10205	return out, req.Send()
10206}
10207
10208// UpdateQueueHoursOfOperationWithContext is the same as UpdateQueueHoursOfOperation with the addition of
10209// the ability to pass a context and additional request options.
10210//
10211// See UpdateQueueHoursOfOperation for details on how to use this API operation.
10212//
10213// The context must be non-nil and will be used for request cancellation. If
10214// the context is nil a panic will occur. In the future the SDK may create
10215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10216// for more information on using Contexts.
10217func (c *Connect) UpdateQueueHoursOfOperationWithContext(ctx aws.Context, input *UpdateQueueHoursOfOperationInput, opts ...request.Option) (*UpdateQueueHoursOfOperationOutput, error) {
10218	req, out := c.UpdateQueueHoursOfOperationRequest(input)
10219	req.SetContext(ctx)
10220	req.ApplyOptions(opts...)
10221	return out, req.Send()
10222}
10223
10224const opUpdateQueueMaxContacts = "UpdateQueueMaxContacts"
10225
10226// UpdateQueueMaxContactsRequest generates a "aws/request.Request" representing the
10227// client's request for the UpdateQueueMaxContacts operation. The "output" return
10228// value will be populated with the request's response once the request completes
10229// successfully.
10230//
10231// Use "Send" method on the returned Request to send the API call to the service.
10232// the "output" return value is not valid until after Send returns without error.
10233//
10234// See UpdateQueueMaxContacts for more information on using the UpdateQueueMaxContacts
10235// API call, and error handling.
10236//
10237// This method is useful when you want to inject custom logic or configuration
10238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10239//
10240//
10241//    // Example sending a request using the UpdateQueueMaxContactsRequest method.
10242//    req, resp := client.UpdateQueueMaxContactsRequest(params)
10243//
10244//    err := req.Send()
10245//    if err == nil { // resp is now filled
10246//        fmt.Println(resp)
10247//    }
10248//
10249// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueMaxContacts
10250func (c *Connect) UpdateQueueMaxContactsRequest(input *UpdateQueueMaxContactsInput) (req *request.Request, output *UpdateQueueMaxContactsOutput) {
10251	op := &request.Operation{
10252		Name:       opUpdateQueueMaxContacts,
10253		HTTPMethod: "POST",
10254		HTTPPath:   "/queues/{InstanceId}/{QueueId}/max-contacts",
10255	}
10256
10257	if input == nil {
10258		input = &UpdateQueueMaxContactsInput{}
10259	}
10260
10261	output = &UpdateQueueMaxContactsOutput{}
10262	req = c.newRequest(op, input, output)
10263	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10264	return
10265}
10266
10267// UpdateQueueMaxContacts API operation for Amazon Connect Service.
10268//
10269// This API is in preview release for Amazon Connect and is subject to change.
10270//
10271// Updates the maximum number of contacts allowed in a queue before it is considered
10272// full.
10273//
10274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10275// with awserr.Error's Code and Message methods to get detailed information about
10276// the error.
10277//
10278// See the AWS API reference guide for Amazon Connect Service's
10279// API operation UpdateQueueMaxContacts for usage and error information.
10280//
10281// Returned Error Types:
10282//   * InvalidRequestException
10283//   The request is not valid.
10284//
10285//   * InvalidParameterException
10286//   One or more of the specified parameters are not valid.
10287//
10288//   * ResourceNotFoundException
10289//   The specified resource was not found.
10290//
10291//   * ThrottlingException
10292//   The throttling limit has been exceeded.
10293//
10294//   * InternalServiceException
10295//   Request processing failed because of an error or failure with the service.
10296//
10297// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueMaxContacts
10298func (c *Connect) UpdateQueueMaxContacts(input *UpdateQueueMaxContactsInput) (*UpdateQueueMaxContactsOutput, error) {
10299	req, out := c.UpdateQueueMaxContactsRequest(input)
10300	return out, req.Send()
10301}
10302
10303// UpdateQueueMaxContactsWithContext is the same as UpdateQueueMaxContacts with the addition of
10304// the ability to pass a context and additional request options.
10305//
10306// See UpdateQueueMaxContacts for details on how to use this API operation.
10307//
10308// The context must be non-nil and will be used for request cancellation. If
10309// the context is nil a panic will occur. In the future the SDK may create
10310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10311// for more information on using Contexts.
10312func (c *Connect) UpdateQueueMaxContactsWithContext(ctx aws.Context, input *UpdateQueueMaxContactsInput, opts ...request.Option) (*UpdateQueueMaxContactsOutput, error) {
10313	req, out := c.UpdateQueueMaxContactsRequest(input)
10314	req.SetContext(ctx)
10315	req.ApplyOptions(opts...)
10316	return out, req.Send()
10317}
10318
10319const opUpdateQueueName = "UpdateQueueName"
10320
10321// UpdateQueueNameRequest generates a "aws/request.Request" representing the
10322// client's request for the UpdateQueueName operation. The "output" return
10323// value will be populated with the request's response once the request completes
10324// successfully.
10325//
10326// Use "Send" method on the returned Request to send the API call to the service.
10327// the "output" return value is not valid until after Send returns without error.
10328//
10329// See UpdateQueueName for more information on using the UpdateQueueName
10330// API call, and error handling.
10331//
10332// This method is useful when you want to inject custom logic or configuration
10333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10334//
10335//
10336//    // Example sending a request using the UpdateQueueNameRequest method.
10337//    req, resp := client.UpdateQueueNameRequest(params)
10338//
10339//    err := req.Send()
10340//    if err == nil { // resp is now filled
10341//        fmt.Println(resp)
10342//    }
10343//
10344// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueName
10345func (c *Connect) UpdateQueueNameRequest(input *UpdateQueueNameInput) (req *request.Request, output *UpdateQueueNameOutput) {
10346	op := &request.Operation{
10347		Name:       opUpdateQueueName,
10348		HTTPMethod: "POST",
10349		HTTPPath:   "/queues/{InstanceId}/{QueueId}/name",
10350	}
10351
10352	if input == nil {
10353		input = &UpdateQueueNameInput{}
10354	}
10355
10356	output = &UpdateQueueNameOutput{}
10357	req = c.newRequest(op, input, output)
10358	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10359	return
10360}
10361
10362// UpdateQueueName API operation for Amazon Connect Service.
10363//
10364// This API is in preview release for Amazon Connect and is subject to change.
10365//
10366// Updates the name and description of a queue. At least Name or Description
10367// must be provided.
10368//
10369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10370// with awserr.Error's Code and Message methods to get detailed information about
10371// the error.
10372//
10373// See the AWS API reference guide for Amazon Connect Service's
10374// API operation UpdateQueueName for usage and error information.
10375//
10376// Returned Error Types:
10377//   * DuplicateResourceException
10378//   A resource with the specified name already exists.
10379//
10380//   * InvalidRequestException
10381//   The request is not valid.
10382//
10383//   * InvalidParameterException
10384//   One or more of the specified parameters are not valid.
10385//
10386//   * ResourceNotFoundException
10387//   The specified resource was not found.
10388//
10389//   * ThrottlingException
10390//   The throttling limit has been exceeded.
10391//
10392//   * InternalServiceException
10393//   Request processing failed because of an error or failure with the service.
10394//
10395// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueName
10396func (c *Connect) UpdateQueueName(input *UpdateQueueNameInput) (*UpdateQueueNameOutput, error) {
10397	req, out := c.UpdateQueueNameRequest(input)
10398	return out, req.Send()
10399}
10400
10401// UpdateQueueNameWithContext is the same as UpdateQueueName with the addition of
10402// the ability to pass a context and additional request options.
10403//
10404// See UpdateQueueName for details on how to use this API operation.
10405//
10406// The context must be non-nil and will be used for request cancellation. If
10407// the context is nil a panic will occur. In the future the SDK may create
10408// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10409// for more information on using Contexts.
10410func (c *Connect) UpdateQueueNameWithContext(ctx aws.Context, input *UpdateQueueNameInput, opts ...request.Option) (*UpdateQueueNameOutput, error) {
10411	req, out := c.UpdateQueueNameRequest(input)
10412	req.SetContext(ctx)
10413	req.ApplyOptions(opts...)
10414	return out, req.Send()
10415}
10416
10417const opUpdateQueueOutboundCallerConfig = "UpdateQueueOutboundCallerConfig"
10418
10419// UpdateQueueOutboundCallerConfigRequest generates a "aws/request.Request" representing the
10420// client's request for the UpdateQueueOutboundCallerConfig operation. The "output" return
10421// value will be populated with the request's response once the request completes
10422// successfully.
10423//
10424// Use "Send" method on the returned Request to send the API call to the service.
10425// the "output" return value is not valid until after Send returns without error.
10426//
10427// See UpdateQueueOutboundCallerConfig for more information on using the UpdateQueueOutboundCallerConfig
10428// API call, and error handling.
10429//
10430// This method is useful when you want to inject custom logic or configuration
10431// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10432//
10433//
10434//    // Example sending a request using the UpdateQueueOutboundCallerConfigRequest method.
10435//    req, resp := client.UpdateQueueOutboundCallerConfigRequest(params)
10436//
10437//    err := req.Send()
10438//    if err == nil { // resp is now filled
10439//        fmt.Println(resp)
10440//    }
10441//
10442// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueOutboundCallerConfig
10443func (c *Connect) UpdateQueueOutboundCallerConfigRequest(input *UpdateQueueOutboundCallerConfigInput) (req *request.Request, output *UpdateQueueOutboundCallerConfigOutput) {
10444	op := &request.Operation{
10445		Name:       opUpdateQueueOutboundCallerConfig,
10446		HTTPMethod: "POST",
10447		HTTPPath:   "/queues/{InstanceId}/{QueueId}/outbound-caller-config",
10448	}
10449
10450	if input == nil {
10451		input = &UpdateQueueOutboundCallerConfigInput{}
10452	}
10453
10454	output = &UpdateQueueOutboundCallerConfigOutput{}
10455	req = c.newRequest(op, input, output)
10456	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10457	return
10458}
10459
10460// UpdateQueueOutboundCallerConfig API operation for Amazon Connect Service.
10461//
10462// This API is in preview release for Amazon Connect and is subject to change.
10463//
10464// Updates the outbound caller ID name, number, and outbound whisper flow for
10465// a specified queue.
10466//
10467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10468// with awserr.Error's Code and Message methods to get detailed information about
10469// the error.
10470//
10471// See the AWS API reference guide for Amazon Connect Service's
10472// API operation UpdateQueueOutboundCallerConfig for usage and error information.
10473//
10474// Returned Error Types:
10475//   * InvalidRequestException
10476//   The request is not valid.
10477//
10478//   * InvalidParameterException
10479//   One or more of the specified parameters are not valid.
10480//
10481//   * ResourceNotFoundException
10482//   The specified resource was not found.
10483//
10484//   * ThrottlingException
10485//   The throttling limit has been exceeded.
10486//
10487//   * InternalServiceException
10488//   Request processing failed because of an error or failure with the service.
10489//
10490// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueOutboundCallerConfig
10491func (c *Connect) UpdateQueueOutboundCallerConfig(input *UpdateQueueOutboundCallerConfigInput) (*UpdateQueueOutboundCallerConfigOutput, error) {
10492	req, out := c.UpdateQueueOutboundCallerConfigRequest(input)
10493	return out, req.Send()
10494}
10495
10496// UpdateQueueOutboundCallerConfigWithContext is the same as UpdateQueueOutboundCallerConfig with the addition of
10497// the ability to pass a context and additional request options.
10498//
10499// See UpdateQueueOutboundCallerConfig for details on how to use this API operation.
10500//
10501// The context must be non-nil and will be used for request cancellation. If
10502// the context is nil a panic will occur. In the future the SDK may create
10503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10504// for more information on using Contexts.
10505func (c *Connect) UpdateQueueOutboundCallerConfigWithContext(ctx aws.Context, input *UpdateQueueOutboundCallerConfigInput, opts ...request.Option) (*UpdateQueueOutboundCallerConfigOutput, error) {
10506	req, out := c.UpdateQueueOutboundCallerConfigRequest(input)
10507	req.SetContext(ctx)
10508	req.ApplyOptions(opts...)
10509	return out, req.Send()
10510}
10511
10512const opUpdateQueueStatus = "UpdateQueueStatus"
10513
10514// UpdateQueueStatusRequest generates a "aws/request.Request" representing the
10515// client's request for the UpdateQueueStatus operation. The "output" return
10516// value will be populated with the request's response once the request completes
10517// successfully.
10518//
10519// Use "Send" method on the returned Request to send the API call to the service.
10520// the "output" return value is not valid until after Send returns without error.
10521//
10522// See UpdateQueueStatus for more information on using the UpdateQueueStatus
10523// API call, and error handling.
10524//
10525// This method is useful when you want to inject custom logic or configuration
10526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10527//
10528//
10529//    // Example sending a request using the UpdateQueueStatusRequest method.
10530//    req, resp := client.UpdateQueueStatusRequest(params)
10531//
10532//    err := req.Send()
10533//    if err == nil { // resp is now filled
10534//        fmt.Println(resp)
10535//    }
10536//
10537// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueStatus
10538func (c *Connect) UpdateQueueStatusRequest(input *UpdateQueueStatusInput) (req *request.Request, output *UpdateQueueStatusOutput) {
10539	op := &request.Operation{
10540		Name:       opUpdateQueueStatus,
10541		HTTPMethod: "POST",
10542		HTTPPath:   "/queues/{InstanceId}/{QueueId}/status",
10543	}
10544
10545	if input == nil {
10546		input = &UpdateQueueStatusInput{}
10547	}
10548
10549	output = &UpdateQueueStatusOutput{}
10550	req = c.newRequest(op, input, output)
10551	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10552	return
10553}
10554
10555// UpdateQueueStatus API operation for Amazon Connect Service.
10556//
10557// This API is in preview release for Amazon Connect and is subject to change.
10558//
10559// Updates the status of the queue.
10560//
10561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10562// with awserr.Error's Code and Message methods to get detailed information about
10563// the error.
10564//
10565// See the AWS API reference guide for Amazon Connect Service's
10566// API operation UpdateQueueStatus for usage and error information.
10567//
10568// Returned Error Types:
10569//   * InvalidRequestException
10570//   The request is not valid.
10571//
10572//   * InvalidParameterException
10573//   One or more of the specified parameters are not valid.
10574//
10575//   * ResourceNotFoundException
10576//   The specified resource was not found.
10577//
10578//   * ThrottlingException
10579//   The throttling limit has been exceeded.
10580//
10581//   * InternalServiceException
10582//   Request processing failed because of an error or failure with the service.
10583//
10584// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueStatus
10585func (c *Connect) UpdateQueueStatus(input *UpdateQueueStatusInput) (*UpdateQueueStatusOutput, error) {
10586	req, out := c.UpdateQueueStatusRequest(input)
10587	return out, req.Send()
10588}
10589
10590// UpdateQueueStatusWithContext is the same as UpdateQueueStatus with the addition of
10591// the ability to pass a context and additional request options.
10592//
10593// See UpdateQueueStatus for details on how to use this API operation.
10594//
10595// The context must be non-nil and will be used for request cancellation. If
10596// the context is nil a panic will occur. In the future the SDK may create
10597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10598// for more information on using Contexts.
10599func (c *Connect) UpdateQueueStatusWithContext(ctx aws.Context, input *UpdateQueueStatusInput, opts ...request.Option) (*UpdateQueueStatusOutput, error) {
10600	req, out := c.UpdateQueueStatusRequest(input)
10601	req.SetContext(ctx)
10602	req.ApplyOptions(opts...)
10603	return out, req.Send()
10604}
10605
10606const opUpdateQuickConnectConfig = "UpdateQuickConnectConfig"
10607
10608// UpdateQuickConnectConfigRequest generates a "aws/request.Request" representing the
10609// client's request for the UpdateQuickConnectConfig operation. The "output" return
10610// value will be populated with the request's response once the request completes
10611// successfully.
10612//
10613// Use "Send" method on the returned Request to send the API call to the service.
10614// the "output" return value is not valid until after Send returns without error.
10615//
10616// See UpdateQuickConnectConfig for more information on using the UpdateQuickConnectConfig
10617// API call, and error handling.
10618//
10619// This method is useful when you want to inject custom logic or configuration
10620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10621//
10622//
10623//    // Example sending a request using the UpdateQuickConnectConfigRequest method.
10624//    req, resp := client.UpdateQuickConnectConfigRequest(params)
10625//
10626//    err := req.Send()
10627//    if err == nil { // resp is now filled
10628//        fmt.Println(resp)
10629//    }
10630//
10631// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectConfig
10632func (c *Connect) UpdateQuickConnectConfigRequest(input *UpdateQuickConnectConfigInput) (req *request.Request, output *UpdateQuickConnectConfigOutput) {
10633	op := &request.Operation{
10634		Name:       opUpdateQuickConnectConfig,
10635		HTTPMethod: "POST",
10636		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}/config",
10637	}
10638
10639	if input == nil {
10640		input = &UpdateQuickConnectConfigInput{}
10641	}
10642
10643	output = &UpdateQuickConnectConfigOutput{}
10644	req = c.newRequest(op, input, output)
10645	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10646	return
10647}
10648
10649// UpdateQuickConnectConfig API operation for Amazon Connect Service.
10650//
10651// Updates the configuration settings for the specified quick connect.
10652//
10653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10654// with awserr.Error's Code and Message methods to get detailed information about
10655// the error.
10656//
10657// See the AWS API reference guide for Amazon Connect Service's
10658// API operation UpdateQuickConnectConfig for usage and error information.
10659//
10660// Returned Error Types:
10661//   * InvalidRequestException
10662//   The request is not valid.
10663//
10664//   * InvalidParameterException
10665//   One or more of the specified parameters are not valid.
10666//
10667//   * ResourceNotFoundException
10668//   The specified resource was not found.
10669//
10670//   * ThrottlingException
10671//   The throttling limit has been exceeded.
10672//
10673//   * InternalServiceException
10674//   Request processing failed because of an error or failure with the service.
10675//
10676// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectConfig
10677func (c *Connect) UpdateQuickConnectConfig(input *UpdateQuickConnectConfigInput) (*UpdateQuickConnectConfigOutput, error) {
10678	req, out := c.UpdateQuickConnectConfigRequest(input)
10679	return out, req.Send()
10680}
10681
10682// UpdateQuickConnectConfigWithContext is the same as UpdateQuickConnectConfig with the addition of
10683// the ability to pass a context and additional request options.
10684//
10685// See UpdateQuickConnectConfig for details on how to use this API operation.
10686//
10687// The context must be non-nil and will be used for request cancellation. If
10688// the context is nil a panic will occur. In the future the SDK may create
10689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10690// for more information on using Contexts.
10691func (c *Connect) UpdateQuickConnectConfigWithContext(ctx aws.Context, input *UpdateQuickConnectConfigInput, opts ...request.Option) (*UpdateQuickConnectConfigOutput, error) {
10692	req, out := c.UpdateQuickConnectConfigRequest(input)
10693	req.SetContext(ctx)
10694	req.ApplyOptions(opts...)
10695	return out, req.Send()
10696}
10697
10698const opUpdateQuickConnectName = "UpdateQuickConnectName"
10699
10700// UpdateQuickConnectNameRequest generates a "aws/request.Request" representing the
10701// client's request for the UpdateQuickConnectName operation. The "output" return
10702// value will be populated with the request's response once the request completes
10703// successfully.
10704//
10705// Use "Send" method on the returned Request to send the API call to the service.
10706// the "output" return value is not valid until after Send returns without error.
10707//
10708// See UpdateQuickConnectName for more information on using the UpdateQuickConnectName
10709// API call, and error handling.
10710//
10711// This method is useful when you want to inject custom logic or configuration
10712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10713//
10714//
10715//    // Example sending a request using the UpdateQuickConnectNameRequest method.
10716//    req, resp := client.UpdateQuickConnectNameRequest(params)
10717//
10718//    err := req.Send()
10719//    if err == nil { // resp is now filled
10720//        fmt.Println(resp)
10721//    }
10722//
10723// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectName
10724func (c *Connect) UpdateQuickConnectNameRequest(input *UpdateQuickConnectNameInput) (req *request.Request, output *UpdateQuickConnectNameOutput) {
10725	op := &request.Operation{
10726		Name:       opUpdateQuickConnectName,
10727		HTTPMethod: "POST",
10728		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}/name",
10729	}
10730
10731	if input == nil {
10732		input = &UpdateQuickConnectNameInput{}
10733	}
10734
10735	output = &UpdateQuickConnectNameOutput{}
10736	req = c.newRequest(op, input, output)
10737	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10738	return
10739}
10740
10741// UpdateQuickConnectName API operation for Amazon Connect Service.
10742//
10743// Updates the name and description of a quick connect. The request accepts
10744// the following data in JSON format. At least Name or Description must be provided.
10745//
10746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10747// with awserr.Error's Code and Message methods to get detailed information about
10748// the error.
10749//
10750// See the AWS API reference guide for Amazon Connect Service's
10751// API operation UpdateQuickConnectName for usage and error information.
10752//
10753// Returned Error Types:
10754//   * InvalidRequestException
10755//   The request is not valid.
10756//
10757//   * InvalidParameterException
10758//   One or more of the specified parameters are not valid.
10759//
10760//   * ResourceNotFoundException
10761//   The specified resource was not found.
10762//
10763//   * ThrottlingException
10764//   The throttling limit has been exceeded.
10765//
10766//   * InternalServiceException
10767//   Request processing failed because of an error or failure with the service.
10768//
10769// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectName
10770func (c *Connect) UpdateQuickConnectName(input *UpdateQuickConnectNameInput) (*UpdateQuickConnectNameOutput, error) {
10771	req, out := c.UpdateQuickConnectNameRequest(input)
10772	return out, req.Send()
10773}
10774
10775// UpdateQuickConnectNameWithContext is the same as UpdateQuickConnectName with the addition of
10776// the ability to pass a context and additional request options.
10777//
10778// See UpdateQuickConnectName for details on how to use this API operation.
10779//
10780// The context must be non-nil and will be used for request cancellation. If
10781// the context is nil a panic will occur. In the future the SDK may create
10782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10783// for more information on using Contexts.
10784func (c *Connect) UpdateQuickConnectNameWithContext(ctx aws.Context, input *UpdateQuickConnectNameInput, opts ...request.Option) (*UpdateQuickConnectNameOutput, error) {
10785	req, out := c.UpdateQuickConnectNameRequest(input)
10786	req.SetContext(ctx)
10787	req.ApplyOptions(opts...)
10788	return out, req.Send()
10789}
10790
10791const opUpdateRoutingProfileConcurrency = "UpdateRoutingProfileConcurrency"
10792
10793// UpdateRoutingProfileConcurrencyRequest generates a "aws/request.Request" representing the
10794// client's request for the UpdateRoutingProfileConcurrency operation. The "output" return
10795// value will be populated with the request's response once the request completes
10796// successfully.
10797//
10798// Use "Send" method on the returned Request to send the API call to the service.
10799// the "output" return value is not valid until after Send returns without error.
10800//
10801// See UpdateRoutingProfileConcurrency for more information on using the UpdateRoutingProfileConcurrency
10802// API call, and error handling.
10803//
10804// This method is useful when you want to inject custom logic or configuration
10805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10806//
10807//
10808//    // Example sending a request using the UpdateRoutingProfileConcurrencyRequest method.
10809//    req, resp := client.UpdateRoutingProfileConcurrencyRequest(params)
10810//
10811//    err := req.Send()
10812//    if err == nil { // resp is now filled
10813//        fmt.Println(resp)
10814//    }
10815//
10816// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileConcurrency
10817func (c *Connect) UpdateRoutingProfileConcurrencyRequest(input *UpdateRoutingProfileConcurrencyInput) (req *request.Request, output *UpdateRoutingProfileConcurrencyOutput) {
10818	op := &request.Operation{
10819		Name:       opUpdateRoutingProfileConcurrency,
10820		HTTPMethod: "POST",
10821		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/concurrency",
10822	}
10823
10824	if input == nil {
10825		input = &UpdateRoutingProfileConcurrencyInput{}
10826	}
10827
10828	output = &UpdateRoutingProfileConcurrencyOutput{}
10829	req = c.newRequest(op, input, output)
10830	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10831	return
10832}
10833
10834// UpdateRoutingProfileConcurrency API operation for Amazon Connect Service.
10835//
10836// Updates the channels that agents can handle in the Contact Control Panel
10837// (CCP) for a routing profile.
10838//
10839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10840// with awserr.Error's Code and Message methods to get detailed information about
10841// the error.
10842//
10843// See the AWS API reference guide for Amazon Connect Service's
10844// API operation UpdateRoutingProfileConcurrency for usage and error information.
10845//
10846// Returned Error Types:
10847//   * InvalidRequestException
10848//   The request is not valid.
10849//
10850//   * InvalidParameterException
10851//   One or more of the specified parameters are not valid.
10852//
10853//   * ResourceNotFoundException
10854//   The specified resource was not found.
10855//
10856//   * ThrottlingException
10857//   The throttling limit has been exceeded.
10858//
10859//   * InternalServiceException
10860//   Request processing failed because of an error or failure with the service.
10861//
10862// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileConcurrency
10863func (c *Connect) UpdateRoutingProfileConcurrency(input *UpdateRoutingProfileConcurrencyInput) (*UpdateRoutingProfileConcurrencyOutput, error) {
10864	req, out := c.UpdateRoutingProfileConcurrencyRequest(input)
10865	return out, req.Send()
10866}
10867
10868// UpdateRoutingProfileConcurrencyWithContext is the same as UpdateRoutingProfileConcurrency with the addition of
10869// the ability to pass a context and additional request options.
10870//
10871// See UpdateRoutingProfileConcurrency for details on how to use this API operation.
10872//
10873// The context must be non-nil and will be used for request cancellation. If
10874// the context is nil a panic will occur. In the future the SDK may create
10875// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10876// for more information on using Contexts.
10877func (c *Connect) UpdateRoutingProfileConcurrencyWithContext(ctx aws.Context, input *UpdateRoutingProfileConcurrencyInput, opts ...request.Option) (*UpdateRoutingProfileConcurrencyOutput, error) {
10878	req, out := c.UpdateRoutingProfileConcurrencyRequest(input)
10879	req.SetContext(ctx)
10880	req.ApplyOptions(opts...)
10881	return out, req.Send()
10882}
10883
10884const opUpdateRoutingProfileDefaultOutboundQueue = "UpdateRoutingProfileDefaultOutboundQueue"
10885
10886// UpdateRoutingProfileDefaultOutboundQueueRequest generates a "aws/request.Request" representing the
10887// client's request for the UpdateRoutingProfileDefaultOutboundQueue operation. The "output" return
10888// value will be populated with the request's response once the request completes
10889// successfully.
10890//
10891// Use "Send" method on the returned Request to send the API call to the service.
10892// the "output" return value is not valid until after Send returns without error.
10893//
10894// See UpdateRoutingProfileDefaultOutboundQueue for more information on using the UpdateRoutingProfileDefaultOutboundQueue
10895// API call, and error handling.
10896//
10897// This method is useful when you want to inject custom logic or configuration
10898// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10899//
10900//
10901//    // Example sending a request using the UpdateRoutingProfileDefaultOutboundQueueRequest method.
10902//    req, resp := client.UpdateRoutingProfileDefaultOutboundQueueRequest(params)
10903//
10904//    err := req.Send()
10905//    if err == nil { // resp is now filled
10906//        fmt.Println(resp)
10907//    }
10908//
10909// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileDefaultOutboundQueue
10910func (c *Connect) UpdateRoutingProfileDefaultOutboundQueueRequest(input *UpdateRoutingProfileDefaultOutboundQueueInput) (req *request.Request, output *UpdateRoutingProfileDefaultOutboundQueueOutput) {
10911	op := &request.Operation{
10912		Name:       opUpdateRoutingProfileDefaultOutboundQueue,
10913		HTTPMethod: "POST",
10914		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/default-outbound-queue",
10915	}
10916
10917	if input == nil {
10918		input = &UpdateRoutingProfileDefaultOutboundQueueInput{}
10919	}
10920
10921	output = &UpdateRoutingProfileDefaultOutboundQueueOutput{}
10922	req = c.newRequest(op, input, output)
10923	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10924	return
10925}
10926
10927// UpdateRoutingProfileDefaultOutboundQueue API operation for Amazon Connect Service.
10928//
10929// Updates the default outbound queue of a routing profile.
10930//
10931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10932// with awserr.Error's Code and Message methods to get detailed information about
10933// the error.
10934//
10935// See the AWS API reference guide for Amazon Connect Service's
10936// API operation UpdateRoutingProfileDefaultOutboundQueue for usage and error information.
10937//
10938// Returned Error Types:
10939//   * InvalidRequestException
10940//   The request is not valid.
10941//
10942//   * InvalidParameterException
10943//   One or more of the specified parameters are not valid.
10944//
10945//   * ResourceNotFoundException
10946//   The specified resource was not found.
10947//
10948//   * ThrottlingException
10949//   The throttling limit has been exceeded.
10950//
10951//   * InternalServiceException
10952//   Request processing failed because of an error or failure with the service.
10953//
10954// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileDefaultOutboundQueue
10955func (c *Connect) UpdateRoutingProfileDefaultOutboundQueue(input *UpdateRoutingProfileDefaultOutboundQueueInput) (*UpdateRoutingProfileDefaultOutboundQueueOutput, error) {
10956	req, out := c.UpdateRoutingProfileDefaultOutboundQueueRequest(input)
10957	return out, req.Send()
10958}
10959
10960// UpdateRoutingProfileDefaultOutboundQueueWithContext is the same as UpdateRoutingProfileDefaultOutboundQueue with the addition of
10961// the ability to pass a context and additional request options.
10962//
10963// See UpdateRoutingProfileDefaultOutboundQueue for details on how to use this API operation.
10964//
10965// The context must be non-nil and will be used for request cancellation. If
10966// the context is nil a panic will occur. In the future the SDK may create
10967// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10968// for more information on using Contexts.
10969func (c *Connect) UpdateRoutingProfileDefaultOutboundQueueWithContext(ctx aws.Context, input *UpdateRoutingProfileDefaultOutboundQueueInput, opts ...request.Option) (*UpdateRoutingProfileDefaultOutboundQueueOutput, error) {
10970	req, out := c.UpdateRoutingProfileDefaultOutboundQueueRequest(input)
10971	req.SetContext(ctx)
10972	req.ApplyOptions(opts...)
10973	return out, req.Send()
10974}
10975
10976const opUpdateRoutingProfileName = "UpdateRoutingProfileName"
10977
10978// UpdateRoutingProfileNameRequest generates a "aws/request.Request" representing the
10979// client's request for the UpdateRoutingProfileName operation. The "output" return
10980// value will be populated with the request's response once the request completes
10981// successfully.
10982//
10983// Use "Send" method on the returned Request to send the API call to the service.
10984// the "output" return value is not valid until after Send returns without error.
10985//
10986// See UpdateRoutingProfileName for more information on using the UpdateRoutingProfileName
10987// API call, and error handling.
10988//
10989// This method is useful when you want to inject custom logic or configuration
10990// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10991//
10992//
10993//    // Example sending a request using the UpdateRoutingProfileNameRequest method.
10994//    req, resp := client.UpdateRoutingProfileNameRequest(params)
10995//
10996//    err := req.Send()
10997//    if err == nil { // resp is now filled
10998//        fmt.Println(resp)
10999//    }
11000//
11001// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileName
11002func (c *Connect) UpdateRoutingProfileNameRequest(input *UpdateRoutingProfileNameInput) (req *request.Request, output *UpdateRoutingProfileNameOutput) {
11003	op := &request.Operation{
11004		Name:       opUpdateRoutingProfileName,
11005		HTTPMethod: "POST",
11006		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/name",
11007	}
11008
11009	if input == nil {
11010		input = &UpdateRoutingProfileNameInput{}
11011	}
11012
11013	output = &UpdateRoutingProfileNameOutput{}
11014	req = c.newRequest(op, input, output)
11015	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11016	return
11017}
11018
11019// UpdateRoutingProfileName API operation for Amazon Connect Service.
11020//
11021// Updates the name and description of a routing profile. The request accepts
11022// the following data in JSON format. At least Name or Description must be provided.
11023//
11024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11025// with awserr.Error's Code and Message methods to get detailed information about
11026// the error.
11027//
11028// See the AWS API reference guide for Amazon Connect Service's
11029// API operation UpdateRoutingProfileName for usage and error information.
11030//
11031// Returned Error Types:
11032//   * DuplicateResourceException
11033//   A resource with the specified name already exists.
11034//
11035//   * InvalidRequestException
11036//   The request is not valid.
11037//
11038//   * InvalidParameterException
11039//   One or more of the specified parameters are not valid.
11040//
11041//   * ResourceNotFoundException
11042//   The specified resource was not found.
11043//
11044//   * ThrottlingException
11045//   The throttling limit has been exceeded.
11046//
11047//   * InternalServiceException
11048//   Request processing failed because of an error or failure with the service.
11049//
11050// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileName
11051func (c *Connect) UpdateRoutingProfileName(input *UpdateRoutingProfileNameInput) (*UpdateRoutingProfileNameOutput, error) {
11052	req, out := c.UpdateRoutingProfileNameRequest(input)
11053	return out, req.Send()
11054}
11055
11056// UpdateRoutingProfileNameWithContext is the same as UpdateRoutingProfileName with the addition of
11057// the ability to pass a context and additional request options.
11058//
11059// See UpdateRoutingProfileName for details on how to use this API operation.
11060//
11061// The context must be non-nil and will be used for request cancellation. If
11062// the context is nil a panic will occur. In the future the SDK may create
11063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11064// for more information on using Contexts.
11065func (c *Connect) UpdateRoutingProfileNameWithContext(ctx aws.Context, input *UpdateRoutingProfileNameInput, opts ...request.Option) (*UpdateRoutingProfileNameOutput, error) {
11066	req, out := c.UpdateRoutingProfileNameRequest(input)
11067	req.SetContext(ctx)
11068	req.ApplyOptions(opts...)
11069	return out, req.Send()
11070}
11071
11072const opUpdateRoutingProfileQueues = "UpdateRoutingProfileQueues"
11073
11074// UpdateRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
11075// client's request for the UpdateRoutingProfileQueues operation. The "output" return
11076// value will be populated with the request's response once the request completes
11077// successfully.
11078//
11079// Use "Send" method on the returned Request to send the API call to the service.
11080// the "output" return value is not valid until after Send returns without error.
11081//
11082// See UpdateRoutingProfileQueues for more information on using the UpdateRoutingProfileQueues
11083// API call, and error handling.
11084//
11085// This method is useful when you want to inject custom logic or configuration
11086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11087//
11088//
11089//    // Example sending a request using the UpdateRoutingProfileQueuesRequest method.
11090//    req, resp := client.UpdateRoutingProfileQueuesRequest(params)
11091//
11092//    err := req.Send()
11093//    if err == nil { // resp is now filled
11094//        fmt.Println(resp)
11095//    }
11096//
11097// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileQueues
11098func (c *Connect) UpdateRoutingProfileQueuesRequest(input *UpdateRoutingProfileQueuesInput) (req *request.Request, output *UpdateRoutingProfileQueuesOutput) {
11099	op := &request.Operation{
11100		Name:       opUpdateRoutingProfileQueues,
11101		HTTPMethod: "POST",
11102		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues",
11103	}
11104
11105	if input == nil {
11106		input = &UpdateRoutingProfileQueuesInput{}
11107	}
11108
11109	output = &UpdateRoutingProfileQueuesOutput{}
11110	req = c.newRequest(op, input, output)
11111	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11112	return
11113}
11114
11115// UpdateRoutingProfileQueues API operation for Amazon Connect Service.
11116//
11117// Updates the properties associated with a set of queues for a routing profile.
11118//
11119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11120// with awserr.Error's Code and Message methods to get detailed information about
11121// the error.
11122//
11123// See the AWS API reference guide for Amazon Connect Service's
11124// API operation UpdateRoutingProfileQueues for usage and error information.
11125//
11126// Returned Error Types:
11127//   * InvalidRequestException
11128//   The request is not valid.
11129//
11130//   * InvalidParameterException
11131//   One or more of the specified parameters are not valid.
11132//
11133//   * ResourceNotFoundException
11134//   The specified resource was not found.
11135//
11136//   * ThrottlingException
11137//   The throttling limit has been exceeded.
11138//
11139//   * InternalServiceException
11140//   Request processing failed because of an error or failure with the service.
11141//
11142// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileQueues
11143func (c *Connect) UpdateRoutingProfileQueues(input *UpdateRoutingProfileQueuesInput) (*UpdateRoutingProfileQueuesOutput, error) {
11144	req, out := c.UpdateRoutingProfileQueuesRequest(input)
11145	return out, req.Send()
11146}
11147
11148// UpdateRoutingProfileQueuesWithContext is the same as UpdateRoutingProfileQueues with the addition of
11149// the ability to pass a context and additional request options.
11150//
11151// See UpdateRoutingProfileQueues for details on how to use this API operation.
11152//
11153// The context must be non-nil and will be used for request cancellation. If
11154// the context is nil a panic will occur. In the future the SDK may create
11155// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11156// for more information on using Contexts.
11157func (c *Connect) UpdateRoutingProfileQueuesWithContext(ctx aws.Context, input *UpdateRoutingProfileQueuesInput, opts ...request.Option) (*UpdateRoutingProfileQueuesOutput, error) {
11158	req, out := c.UpdateRoutingProfileQueuesRequest(input)
11159	req.SetContext(ctx)
11160	req.ApplyOptions(opts...)
11161	return out, req.Send()
11162}
11163
11164const opUpdateUserHierarchy = "UpdateUserHierarchy"
11165
11166// UpdateUserHierarchyRequest generates a "aws/request.Request" representing the
11167// client's request for the UpdateUserHierarchy operation. The "output" return
11168// value will be populated with the request's response once the request completes
11169// successfully.
11170//
11171// Use "Send" method on the returned Request to send the API call to the service.
11172// the "output" return value is not valid until after Send returns without error.
11173//
11174// See UpdateUserHierarchy for more information on using the UpdateUserHierarchy
11175// API call, and error handling.
11176//
11177// This method is useful when you want to inject custom logic or configuration
11178// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11179//
11180//
11181//    // Example sending a request using the UpdateUserHierarchyRequest method.
11182//    req, resp := client.UpdateUserHierarchyRequest(params)
11183//
11184//    err := req.Send()
11185//    if err == nil { // resp is now filled
11186//        fmt.Println(resp)
11187//    }
11188//
11189// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy
11190func (c *Connect) UpdateUserHierarchyRequest(input *UpdateUserHierarchyInput) (req *request.Request, output *UpdateUserHierarchyOutput) {
11191	op := &request.Operation{
11192		Name:       opUpdateUserHierarchy,
11193		HTTPMethod: "POST",
11194		HTTPPath:   "/users/{InstanceId}/{UserId}/hierarchy",
11195	}
11196
11197	if input == nil {
11198		input = &UpdateUserHierarchyInput{}
11199	}
11200
11201	output = &UpdateUserHierarchyOutput{}
11202	req = c.newRequest(op, input, output)
11203	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11204	return
11205}
11206
11207// UpdateUserHierarchy API operation for Amazon Connect Service.
11208//
11209// Assigns the specified hierarchy group to the specified user.
11210//
11211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11212// with awserr.Error's Code and Message methods to get detailed information about
11213// the error.
11214//
11215// See the AWS API reference guide for Amazon Connect Service's
11216// API operation UpdateUserHierarchy for usage and error information.
11217//
11218// Returned Error Types:
11219//   * InvalidRequestException
11220//   The request is not valid.
11221//
11222//   * InvalidParameterException
11223//   One or more of the specified parameters are not valid.
11224//
11225//   * ResourceNotFoundException
11226//   The specified resource was not found.
11227//
11228//   * ThrottlingException
11229//   The throttling limit has been exceeded.
11230//
11231//   * InternalServiceException
11232//   Request processing failed because of an error or failure with the service.
11233//
11234// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy
11235func (c *Connect) UpdateUserHierarchy(input *UpdateUserHierarchyInput) (*UpdateUserHierarchyOutput, error) {
11236	req, out := c.UpdateUserHierarchyRequest(input)
11237	return out, req.Send()
11238}
11239
11240// UpdateUserHierarchyWithContext is the same as UpdateUserHierarchy with the addition of
11241// the ability to pass a context and additional request options.
11242//
11243// See UpdateUserHierarchy for details on how to use this API operation.
11244//
11245// The context must be non-nil and will be used for request cancellation. If
11246// the context is nil a panic will occur. In the future the SDK may create
11247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11248// for more information on using Contexts.
11249func (c *Connect) UpdateUserHierarchyWithContext(ctx aws.Context, input *UpdateUserHierarchyInput, opts ...request.Option) (*UpdateUserHierarchyOutput, error) {
11250	req, out := c.UpdateUserHierarchyRequest(input)
11251	req.SetContext(ctx)
11252	req.ApplyOptions(opts...)
11253	return out, req.Send()
11254}
11255
11256const opUpdateUserHierarchyGroupName = "UpdateUserHierarchyGroupName"
11257
11258// UpdateUserHierarchyGroupNameRequest generates a "aws/request.Request" representing the
11259// client's request for the UpdateUserHierarchyGroupName operation. The "output" return
11260// value will be populated with the request's response once the request completes
11261// successfully.
11262//
11263// Use "Send" method on the returned Request to send the API call to the service.
11264// the "output" return value is not valid until after Send returns without error.
11265//
11266// See UpdateUserHierarchyGroupName for more information on using the UpdateUserHierarchyGroupName
11267// API call, and error handling.
11268//
11269// This method is useful when you want to inject custom logic or configuration
11270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11271//
11272//
11273//    // Example sending a request using the UpdateUserHierarchyGroupNameRequest method.
11274//    req, resp := client.UpdateUserHierarchyGroupNameRequest(params)
11275//
11276//    err := req.Send()
11277//    if err == nil { // resp is now filled
11278//        fmt.Println(resp)
11279//    }
11280//
11281// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyGroupName
11282func (c *Connect) UpdateUserHierarchyGroupNameRequest(input *UpdateUserHierarchyGroupNameInput) (req *request.Request, output *UpdateUserHierarchyGroupNameOutput) {
11283	op := &request.Operation{
11284		Name:       opUpdateUserHierarchyGroupName,
11285		HTTPMethod: "POST",
11286		HTTPPath:   "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}/name",
11287	}
11288
11289	if input == nil {
11290		input = &UpdateUserHierarchyGroupNameInput{}
11291	}
11292
11293	output = &UpdateUserHierarchyGroupNameOutput{}
11294	req = c.newRequest(op, input, output)
11295	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11296	return
11297}
11298
11299// UpdateUserHierarchyGroupName API operation for Amazon Connect Service.
11300//
11301// Updates the name of the user hierarchy group.
11302//
11303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11304// with awserr.Error's Code and Message methods to get detailed information about
11305// the error.
11306//
11307// See the AWS API reference guide for Amazon Connect Service's
11308// API operation UpdateUserHierarchyGroupName for usage and error information.
11309//
11310// Returned Error Types:
11311//   * InvalidRequestException
11312//   The request is not valid.
11313//
11314//   * InvalidParameterException
11315//   One or more of the specified parameters are not valid.
11316//
11317//   * DuplicateResourceException
11318//   A resource with the specified name already exists.
11319//
11320//   * ResourceNotFoundException
11321//   The specified resource was not found.
11322//
11323//   * ThrottlingException
11324//   The throttling limit has been exceeded.
11325//
11326//   * InternalServiceException
11327//   Request processing failed because of an error or failure with the service.
11328//
11329// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyGroupName
11330func (c *Connect) UpdateUserHierarchyGroupName(input *UpdateUserHierarchyGroupNameInput) (*UpdateUserHierarchyGroupNameOutput, error) {
11331	req, out := c.UpdateUserHierarchyGroupNameRequest(input)
11332	return out, req.Send()
11333}
11334
11335// UpdateUserHierarchyGroupNameWithContext is the same as UpdateUserHierarchyGroupName with the addition of
11336// the ability to pass a context and additional request options.
11337//
11338// See UpdateUserHierarchyGroupName for details on how to use this API operation.
11339//
11340// The context must be non-nil and will be used for request cancellation. If
11341// the context is nil a panic will occur. In the future the SDK may create
11342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11343// for more information on using Contexts.
11344func (c *Connect) UpdateUserHierarchyGroupNameWithContext(ctx aws.Context, input *UpdateUserHierarchyGroupNameInput, opts ...request.Option) (*UpdateUserHierarchyGroupNameOutput, error) {
11345	req, out := c.UpdateUserHierarchyGroupNameRequest(input)
11346	req.SetContext(ctx)
11347	req.ApplyOptions(opts...)
11348	return out, req.Send()
11349}
11350
11351const opUpdateUserHierarchyStructure = "UpdateUserHierarchyStructure"
11352
11353// UpdateUserHierarchyStructureRequest generates a "aws/request.Request" representing the
11354// client's request for the UpdateUserHierarchyStructure operation. The "output" return
11355// value will be populated with the request's response once the request completes
11356// successfully.
11357//
11358// Use "Send" method on the returned Request to send the API call to the service.
11359// the "output" return value is not valid until after Send returns without error.
11360//
11361// See UpdateUserHierarchyStructure for more information on using the UpdateUserHierarchyStructure
11362// API call, and error handling.
11363//
11364// This method is useful when you want to inject custom logic or configuration
11365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11366//
11367//
11368//    // Example sending a request using the UpdateUserHierarchyStructureRequest method.
11369//    req, resp := client.UpdateUserHierarchyStructureRequest(params)
11370//
11371//    err := req.Send()
11372//    if err == nil { // resp is now filled
11373//        fmt.Println(resp)
11374//    }
11375//
11376// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyStructure
11377func (c *Connect) UpdateUserHierarchyStructureRequest(input *UpdateUserHierarchyStructureInput) (req *request.Request, output *UpdateUserHierarchyStructureOutput) {
11378	op := &request.Operation{
11379		Name:       opUpdateUserHierarchyStructure,
11380		HTTPMethod: "POST",
11381		HTTPPath:   "/user-hierarchy-structure/{InstanceId}",
11382	}
11383
11384	if input == nil {
11385		input = &UpdateUserHierarchyStructureInput{}
11386	}
11387
11388	output = &UpdateUserHierarchyStructureOutput{}
11389	req = c.newRequest(op, input, output)
11390	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11391	return
11392}
11393
11394// UpdateUserHierarchyStructure API operation for Amazon Connect Service.
11395//
11396// Updates the user hierarchy structure: add, remove, and rename user hierarchy
11397// levels.
11398//
11399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11400// with awserr.Error's Code and Message methods to get detailed information about
11401// the error.
11402//
11403// See the AWS API reference guide for Amazon Connect Service's
11404// API operation UpdateUserHierarchyStructure for usage and error information.
11405//
11406// Returned Error Types:
11407//   * InvalidRequestException
11408//   The request is not valid.
11409//
11410//   * InvalidParameterException
11411//   One or more of the specified parameters are not valid.
11412//
11413//   * ResourceNotFoundException
11414//   The specified resource was not found.
11415//
11416//   * ResourceInUseException
11417//   That resource is already in use. Please try another.
11418//
11419//   * ThrottlingException
11420//   The throttling limit has been exceeded.
11421//
11422//   * InternalServiceException
11423//   Request processing failed because of an error or failure with the service.
11424//
11425// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyStructure
11426func (c *Connect) UpdateUserHierarchyStructure(input *UpdateUserHierarchyStructureInput) (*UpdateUserHierarchyStructureOutput, error) {
11427	req, out := c.UpdateUserHierarchyStructureRequest(input)
11428	return out, req.Send()
11429}
11430
11431// UpdateUserHierarchyStructureWithContext is the same as UpdateUserHierarchyStructure with the addition of
11432// the ability to pass a context and additional request options.
11433//
11434// See UpdateUserHierarchyStructure for details on how to use this API operation.
11435//
11436// The context must be non-nil and will be used for request cancellation. If
11437// the context is nil a panic will occur. In the future the SDK may create
11438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11439// for more information on using Contexts.
11440func (c *Connect) UpdateUserHierarchyStructureWithContext(ctx aws.Context, input *UpdateUserHierarchyStructureInput, opts ...request.Option) (*UpdateUserHierarchyStructureOutput, error) {
11441	req, out := c.UpdateUserHierarchyStructureRequest(input)
11442	req.SetContext(ctx)
11443	req.ApplyOptions(opts...)
11444	return out, req.Send()
11445}
11446
11447const opUpdateUserIdentityInfo = "UpdateUserIdentityInfo"
11448
11449// UpdateUserIdentityInfoRequest generates a "aws/request.Request" representing the
11450// client's request for the UpdateUserIdentityInfo operation. The "output" return
11451// value will be populated with the request's response once the request completes
11452// successfully.
11453//
11454// Use "Send" method on the returned Request to send the API call to the service.
11455// the "output" return value is not valid until after Send returns without error.
11456//
11457// See UpdateUserIdentityInfo for more information on using the UpdateUserIdentityInfo
11458// API call, and error handling.
11459//
11460// This method is useful when you want to inject custom logic or configuration
11461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11462//
11463//
11464//    // Example sending a request using the UpdateUserIdentityInfoRequest method.
11465//    req, resp := client.UpdateUserIdentityInfoRequest(params)
11466//
11467//    err := req.Send()
11468//    if err == nil { // resp is now filled
11469//        fmt.Println(resp)
11470//    }
11471//
11472// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo
11473func (c *Connect) UpdateUserIdentityInfoRequest(input *UpdateUserIdentityInfoInput) (req *request.Request, output *UpdateUserIdentityInfoOutput) {
11474	op := &request.Operation{
11475		Name:       opUpdateUserIdentityInfo,
11476		HTTPMethod: "POST",
11477		HTTPPath:   "/users/{InstanceId}/{UserId}/identity-info",
11478	}
11479
11480	if input == nil {
11481		input = &UpdateUserIdentityInfoInput{}
11482	}
11483
11484	output = &UpdateUserIdentityInfoOutput{}
11485	req = c.newRequest(op, input, output)
11486	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11487	return
11488}
11489
11490// UpdateUserIdentityInfo API operation for Amazon Connect Service.
11491//
11492// Updates the identity information for the specified user.
11493//
11494// We strongly recommend limiting who has the ability to invoke UpdateUserIdentityInfo.
11495// Someone with that ability can change the login credentials of other users
11496// by changing their email address. This poses a security risk to your organization.
11497// They can change the email address of a user to the attacker's email address,
11498// and then reset the password through email. For more information, see Best
11499// Practices for Security Profiles (https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html)
11500// in the Amazon Connect Administrator Guide.
11501//
11502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11503// with awserr.Error's Code and Message methods to get detailed information about
11504// the error.
11505//
11506// See the AWS API reference guide for Amazon Connect Service's
11507// API operation UpdateUserIdentityInfo for usage and error information.
11508//
11509// Returned Error Types:
11510//   * InvalidRequestException
11511//   The request is not valid.
11512//
11513//   * InvalidParameterException
11514//   One or more of the specified parameters are not valid.
11515//
11516//   * ResourceNotFoundException
11517//   The specified resource was not found.
11518//
11519//   * ThrottlingException
11520//   The throttling limit has been exceeded.
11521//
11522//   * InternalServiceException
11523//   Request processing failed because of an error or failure with the service.
11524//
11525// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo
11526func (c *Connect) UpdateUserIdentityInfo(input *UpdateUserIdentityInfoInput) (*UpdateUserIdentityInfoOutput, error) {
11527	req, out := c.UpdateUserIdentityInfoRequest(input)
11528	return out, req.Send()
11529}
11530
11531// UpdateUserIdentityInfoWithContext is the same as UpdateUserIdentityInfo with the addition of
11532// the ability to pass a context and additional request options.
11533//
11534// See UpdateUserIdentityInfo for details on how to use this API operation.
11535//
11536// The context must be non-nil and will be used for request cancellation. If
11537// the context is nil a panic will occur. In the future the SDK may create
11538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11539// for more information on using Contexts.
11540func (c *Connect) UpdateUserIdentityInfoWithContext(ctx aws.Context, input *UpdateUserIdentityInfoInput, opts ...request.Option) (*UpdateUserIdentityInfoOutput, error) {
11541	req, out := c.UpdateUserIdentityInfoRequest(input)
11542	req.SetContext(ctx)
11543	req.ApplyOptions(opts...)
11544	return out, req.Send()
11545}
11546
11547const opUpdateUserPhoneConfig = "UpdateUserPhoneConfig"
11548
11549// UpdateUserPhoneConfigRequest generates a "aws/request.Request" representing the
11550// client's request for the UpdateUserPhoneConfig operation. The "output" return
11551// value will be populated with the request's response once the request completes
11552// successfully.
11553//
11554// Use "Send" method on the returned Request to send the API call to the service.
11555// the "output" return value is not valid until after Send returns without error.
11556//
11557// See UpdateUserPhoneConfig for more information on using the UpdateUserPhoneConfig
11558// API call, and error handling.
11559//
11560// This method is useful when you want to inject custom logic or configuration
11561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11562//
11563//
11564//    // Example sending a request using the UpdateUserPhoneConfigRequest method.
11565//    req, resp := client.UpdateUserPhoneConfigRequest(params)
11566//
11567//    err := req.Send()
11568//    if err == nil { // resp is now filled
11569//        fmt.Println(resp)
11570//    }
11571//
11572// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig
11573func (c *Connect) UpdateUserPhoneConfigRequest(input *UpdateUserPhoneConfigInput) (req *request.Request, output *UpdateUserPhoneConfigOutput) {
11574	op := &request.Operation{
11575		Name:       opUpdateUserPhoneConfig,
11576		HTTPMethod: "POST",
11577		HTTPPath:   "/users/{InstanceId}/{UserId}/phone-config",
11578	}
11579
11580	if input == nil {
11581		input = &UpdateUserPhoneConfigInput{}
11582	}
11583
11584	output = &UpdateUserPhoneConfigOutput{}
11585	req = c.newRequest(op, input, output)
11586	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11587	return
11588}
11589
11590// UpdateUserPhoneConfig API operation for Amazon Connect Service.
11591//
11592// Updates the phone configuration settings for the specified user.
11593//
11594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11595// with awserr.Error's Code and Message methods to get detailed information about
11596// the error.
11597//
11598// See the AWS API reference guide for Amazon Connect Service's
11599// API operation UpdateUserPhoneConfig for usage and error information.
11600//
11601// Returned Error Types:
11602//   * InvalidRequestException
11603//   The request is not valid.
11604//
11605//   * InvalidParameterException
11606//   One or more of the specified parameters are not valid.
11607//
11608//   * ResourceNotFoundException
11609//   The specified resource was not found.
11610//
11611//   * ThrottlingException
11612//   The throttling limit has been exceeded.
11613//
11614//   * InternalServiceException
11615//   Request processing failed because of an error or failure with the service.
11616//
11617// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig
11618func (c *Connect) UpdateUserPhoneConfig(input *UpdateUserPhoneConfigInput) (*UpdateUserPhoneConfigOutput, error) {
11619	req, out := c.UpdateUserPhoneConfigRequest(input)
11620	return out, req.Send()
11621}
11622
11623// UpdateUserPhoneConfigWithContext is the same as UpdateUserPhoneConfig with the addition of
11624// the ability to pass a context and additional request options.
11625//
11626// See UpdateUserPhoneConfig for details on how to use this API operation.
11627//
11628// The context must be non-nil and will be used for request cancellation. If
11629// the context is nil a panic will occur. In the future the SDK may create
11630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11631// for more information on using Contexts.
11632func (c *Connect) UpdateUserPhoneConfigWithContext(ctx aws.Context, input *UpdateUserPhoneConfigInput, opts ...request.Option) (*UpdateUserPhoneConfigOutput, error) {
11633	req, out := c.UpdateUserPhoneConfigRequest(input)
11634	req.SetContext(ctx)
11635	req.ApplyOptions(opts...)
11636	return out, req.Send()
11637}
11638
11639const opUpdateUserRoutingProfile = "UpdateUserRoutingProfile"
11640
11641// UpdateUserRoutingProfileRequest generates a "aws/request.Request" representing the
11642// client's request for the UpdateUserRoutingProfile operation. The "output" return
11643// value will be populated with the request's response once the request completes
11644// successfully.
11645//
11646// Use "Send" method on the returned Request to send the API call to the service.
11647// the "output" return value is not valid until after Send returns without error.
11648//
11649// See UpdateUserRoutingProfile for more information on using the UpdateUserRoutingProfile
11650// API call, and error handling.
11651//
11652// This method is useful when you want to inject custom logic or configuration
11653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11654//
11655//
11656//    // Example sending a request using the UpdateUserRoutingProfileRequest method.
11657//    req, resp := client.UpdateUserRoutingProfileRequest(params)
11658//
11659//    err := req.Send()
11660//    if err == nil { // resp is now filled
11661//        fmt.Println(resp)
11662//    }
11663//
11664// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile
11665func (c *Connect) UpdateUserRoutingProfileRequest(input *UpdateUserRoutingProfileInput) (req *request.Request, output *UpdateUserRoutingProfileOutput) {
11666	op := &request.Operation{
11667		Name:       opUpdateUserRoutingProfile,
11668		HTTPMethod: "POST",
11669		HTTPPath:   "/users/{InstanceId}/{UserId}/routing-profile",
11670	}
11671
11672	if input == nil {
11673		input = &UpdateUserRoutingProfileInput{}
11674	}
11675
11676	output = &UpdateUserRoutingProfileOutput{}
11677	req = c.newRequest(op, input, output)
11678	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11679	return
11680}
11681
11682// UpdateUserRoutingProfile API operation for Amazon Connect Service.
11683//
11684// Assigns the specified routing profile to the specified user.
11685//
11686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11687// with awserr.Error's Code and Message methods to get detailed information about
11688// the error.
11689//
11690// See the AWS API reference guide for Amazon Connect Service's
11691// API operation UpdateUserRoutingProfile for usage and error information.
11692//
11693// Returned Error Types:
11694//   * InvalidRequestException
11695//   The request is not valid.
11696//
11697//   * InvalidParameterException
11698//   One or more of the specified parameters are not valid.
11699//
11700//   * ResourceNotFoundException
11701//   The specified resource was not found.
11702//
11703//   * ThrottlingException
11704//   The throttling limit has been exceeded.
11705//
11706//   * InternalServiceException
11707//   Request processing failed because of an error or failure with the service.
11708//
11709// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile
11710func (c *Connect) UpdateUserRoutingProfile(input *UpdateUserRoutingProfileInput) (*UpdateUserRoutingProfileOutput, error) {
11711	req, out := c.UpdateUserRoutingProfileRequest(input)
11712	return out, req.Send()
11713}
11714
11715// UpdateUserRoutingProfileWithContext is the same as UpdateUserRoutingProfile with the addition of
11716// the ability to pass a context and additional request options.
11717//
11718// See UpdateUserRoutingProfile for details on how to use this API operation.
11719//
11720// The context must be non-nil and will be used for request cancellation. If
11721// the context is nil a panic will occur. In the future the SDK may create
11722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11723// for more information on using Contexts.
11724func (c *Connect) UpdateUserRoutingProfileWithContext(ctx aws.Context, input *UpdateUserRoutingProfileInput, opts ...request.Option) (*UpdateUserRoutingProfileOutput, error) {
11725	req, out := c.UpdateUserRoutingProfileRequest(input)
11726	req.SetContext(ctx)
11727	req.ApplyOptions(opts...)
11728	return out, req.Send()
11729}
11730
11731const opUpdateUserSecurityProfiles = "UpdateUserSecurityProfiles"
11732
11733// UpdateUserSecurityProfilesRequest generates a "aws/request.Request" representing the
11734// client's request for the UpdateUserSecurityProfiles operation. The "output" return
11735// value will be populated with the request's response once the request completes
11736// successfully.
11737//
11738// Use "Send" method on the returned Request to send the API call to the service.
11739// the "output" return value is not valid until after Send returns without error.
11740//
11741// See UpdateUserSecurityProfiles for more information on using the UpdateUserSecurityProfiles
11742// API call, and error handling.
11743//
11744// This method is useful when you want to inject custom logic or configuration
11745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11746//
11747//
11748//    // Example sending a request using the UpdateUserSecurityProfilesRequest method.
11749//    req, resp := client.UpdateUserSecurityProfilesRequest(params)
11750//
11751//    err := req.Send()
11752//    if err == nil { // resp is now filled
11753//        fmt.Println(resp)
11754//    }
11755//
11756// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles
11757func (c *Connect) UpdateUserSecurityProfilesRequest(input *UpdateUserSecurityProfilesInput) (req *request.Request, output *UpdateUserSecurityProfilesOutput) {
11758	op := &request.Operation{
11759		Name:       opUpdateUserSecurityProfiles,
11760		HTTPMethod: "POST",
11761		HTTPPath:   "/users/{InstanceId}/{UserId}/security-profiles",
11762	}
11763
11764	if input == nil {
11765		input = &UpdateUserSecurityProfilesInput{}
11766	}
11767
11768	output = &UpdateUserSecurityProfilesOutput{}
11769	req = c.newRequest(op, input, output)
11770	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11771	return
11772}
11773
11774// UpdateUserSecurityProfiles API operation for Amazon Connect Service.
11775//
11776// Assigns the specified security profiles to the specified user.
11777//
11778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11779// with awserr.Error's Code and Message methods to get detailed information about
11780// the error.
11781//
11782// See the AWS API reference guide for Amazon Connect Service's
11783// API operation UpdateUserSecurityProfiles for usage and error information.
11784//
11785// Returned Error Types:
11786//   * InvalidRequestException
11787//   The request is not valid.
11788//
11789//   * InvalidParameterException
11790//   One or more of the specified parameters are not valid.
11791//
11792//   * ResourceNotFoundException
11793//   The specified resource was not found.
11794//
11795//   * ThrottlingException
11796//   The throttling limit has been exceeded.
11797//
11798//   * InternalServiceException
11799//   Request processing failed because of an error or failure with the service.
11800//
11801// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles
11802func (c *Connect) UpdateUserSecurityProfiles(input *UpdateUserSecurityProfilesInput) (*UpdateUserSecurityProfilesOutput, error) {
11803	req, out := c.UpdateUserSecurityProfilesRequest(input)
11804	return out, req.Send()
11805}
11806
11807// UpdateUserSecurityProfilesWithContext is the same as UpdateUserSecurityProfiles with the addition of
11808// the ability to pass a context and additional request options.
11809//
11810// See UpdateUserSecurityProfiles for details on how to use this API operation.
11811//
11812// The context must be non-nil and will be used for request cancellation. If
11813// the context is nil a panic will occur. In the future the SDK may create
11814// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11815// for more information on using Contexts.
11816func (c *Connect) UpdateUserSecurityProfilesWithContext(ctx aws.Context, input *UpdateUserSecurityProfilesInput, opts ...request.Option) (*UpdateUserSecurityProfilesOutput, error) {
11817	req, out := c.UpdateUserSecurityProfilesRequest(input)
11818	req.SetContext(ctx)
11819	req.ApplyOptions(opts...)
11820	return out, req.Send()
11821}
11822
11823// Contains information about an agent status.
11824type AgentStatus struct {
11825	_ struct{} `type:"structure"`
11826
11827	// The Amazon Resource Name (ARN) of the agent status.
11828	AgentStatusARN *string `type:"string"`
11829
11830	// The identifier of the agent status.
11831	AgentStatusId *string `type:"string"`
11832
11833	// The description of the agent status.
11834	Description *string `min:"1" type:"string"`
11835
11836	// The display order of the agent status.
11837	DisplayOrder *int64 `min:"1" type:"integer"`
11838
11839	// The name of the agent status.
11840	Name *string `min:"1" type:"string"`
11841
11842	// The state of the agent status.
11843	State *string `type:"string" enum:"AgentStatusState"`
11844
11845	// One or more tags.
11846	Tags map[string]*string `min:"1" type:"map"`
11847
11848	// The type of agent status.
11849	Type *string `type:"string" enum:"AgentStatusType"`
11850}
11851
11852// String returns the string representation
11853func (s AgentStatus) String() string {
11854	return awsutil.Prettify(s)
11855}
11856
11857// GoString returns the string representation
11858func (s AgentStatus) GoString() string {
11859	return s.String()
11860}
11861
11862// SetAgentStatusARN sets the AgentStatusARN field's value.
11863func (s *AgentStatus) SetAgentStatusARN(v string) *AgentStatus {
11864	s.AgentStatusARN = &v
11865	return s
11866}
11867
11868// SetAgentStatusId sets the AgentStatusId field's value.
11869func (s *AgentStatus) SetAgentStatusId(v string) *AgentStatus {
11870	s.AgentStatusId = &v
11871	return s
11872}
11873
11874// SetDescription sets the Description field's value.
11875func (s *AgentStatus) SetDescription(v string) *AgentStatus {
11876	s.Description = &v
11877	return s
11878}
11879
11880// SetDisplayOrder sets the DisplayOrder field's value.
11881func (s *AgentStatus) SetDisplayOrder(v int64) *AgentStatus {
11882	s.DisplayOrder = &v
11883	return s
11884}
11885
11886// SetName sets the Name field's value.
11887func (s *AgentStatus) SetName(v string) *AgentStatus {
11888	s.Name = &v
11889	return s
11890}
11891
11892// SetState sets the State field's value.
11893func (s *AgentStatus) SetState(v string) *AgentStatus {
11894	s.State = &v
11895	return s
11896}
11897
11898// SetTags sets the Tags field's value.
11899func (s *AgentStatus) SetTags(v map[string]*string) *AgentStatus {
11900	s.Tags = v
11901	return s
11902}
11903
11904// SetType sets the Type field's value.
11905func (s *AgentStatus) SetType(v string) *AgentStatus {
11906	s.Type = &v
11907	return s
11908}
11909
11910// Summary information for an agent status.
11911type AgentStatusSummary struct {
11912	_ struct{} `type:"structure"`
11913
11914	// The Amazon Resource Name (ARN) for the agent status.
11915	Arn *string `type:"string"`
11916
11917	// The identifier for an agent status.
11918	Id *string `type:"string"`
11919
11920	// The name of the agent status.
11921	Name *string `min:"1" type:"string"`
11922
11923	// The type of the agent status.
11924	Type *string `type:"string" enum:"AgentStatusType"`
11925}
11926
11927// String returns the string representation
11928func (s AgentStatusSummary) String() string {
11929	return awsutil.Prettify(s)
11930}
11931
11932// GoString returns the string representation
11933func (s AgentStatusSummary) GoString() string {
11934	return s.String()
11935}
11936
11937// SetArn sets the Arn field's value.
11938func (s *AgentStatusSummary) SetArn(v string) *AgentStatusSummary {
11939	s.Arn = &v
11940	return s
11941}
11942
11943// SetId sets the Id field's value.
11944func (s *AgentStatusSummary) SetId(v string) *AgentStatusSummary {
11945	s.Id = &v
11946	return s
11947}
11948
11949// SetName sets the Name field's value.
11950func (s *AgentStatusSummary) SetName(v string) *AgentStatusSummary {
11951	s.Name = &v
11952	return s
11953}
11954
11955// SetType sets the Type field's value.
11956func (s *AgentStatusSummary) SetType(v string) *AgentStatusSummary {
11957	s.Type = &v
11958	return s
11959}
11960
11961type AssociateApprovedOriginInput struct {
11962	_ struct{} `type:"structure"`
11963
11964	// The identifier of the Amazon Connect instance. You can find the instanceId
11965	// in the ARN of the instance.
11966	//
11967	// InstanceId is a required field
11968	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
11969
11970	// The domain to add to your allow list.
11971	//
11972	// Origin is a required field
11973	Origin *string `type:"string" required:"true"`
11974}
11975
11976// String returns the string representation
11977func (s AssociateApprovedOriginInput) String() string {
11978	return awsutil.Prettify(s)
11979}
11980
11981// GoString returns the string representation
11982func (s AssociateApprovedOriginInput) GoString() string {
11983	return s.String()
11984}
11985
11986// Validate inspects the fields of the type to determine if they are valid.
11987func (s *AssociateApprovedOriginInput) Validate() error {
11988	invalidParams := request.ErrInvalidParams{Context: "AssociateApprovedOriginInput"}
11989	if s.InstanceId == nil {
11990		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
11991	}
11992	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
11993		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
11994	}
11995	if s.Origin == nil {
11996		invalidParams.Add(request.NewErrParamRequired("Origin"))
11997	}
11998
11999	if invalidParams.Len() > 0 {
12000		return invalidParams
12001	}
12002	return nil
12003}
12004
12005// SetInstanceId sets the InstanceId field's value.
12006func (s *AssociateApprovedOriginInput) SetInstanceId(v string) *AssociateApprovedOriginInput {
12007	s.InstanceId = &v
12008	return s
12009}
12010
12011// SetOrigin sets the Origin field's value.
12012func (s *AssociateApprovedOriginInput) SetOrigin(v string) *AssociateApprovedOriginInput {
12013	s.Origin = &v
12014	return s
12015}
12016
12017type AssociateApprovedOriginOutput struct {
12018	_ struct{} `type:"structure"`
12019}
12020
12021// String returns the string representation
12022func (s AssociateApprovedOriginOutput) String() string {
12023	return awsutil.Prettify(s)
12024}
12025
12026// GoString returns the string representation
12027func (s AssociateApprovedOriginOutput) GoString() string {
12028	return s.String()
12029}
12030
12031type AssociateBotInput struct {
12032	_ struct{} `type:"structure"`
12033
12034	// The identifier of the Amazon Connect instance. You can find the instanceId
12035	// in the ARN of the instance.
12036	//
12037	// InstanceId is a required field
12038	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12039
12040	// Configuration information of an Amazon Lex bot.
12041	LexBot *LexBot `type:"structure"`
12042
12043	// The Amazon Lex V2 bot to associate with the instance.
12044	LexV2Bot *LexV2Bot `type:"structure"`
12045}
12046
12047// String returns the string representation
12048func (s AssociateBotInput) String() string {
12049	return awsutil.Prettify(s)
12050}
12051
12052// GoString returns the string representation
12053func (s AssociateBotInput) GoString() string {
12054	return s.String()
12055}
12056
12057// Validate inspects the fields of the type to determine if they are valid.
12058func (s *AssociateBotInput) Validate() error {
12059	invalidParams := request.ErrInvalidParams{Context: "AssociateBotInput"}
12060	if s.InstanceId == nil {
12061		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12062	}
12063	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
12064		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
12065	}
12066	if s.LexV2Bot != nil {
12067		if err := s.LexV2Bot.Validate(); err != nil {
12068			invalidParams.AddNested("LexV2Bot", err.(request.ErrInvalidParams))
12069		}
12070	}
12071
12072	if invalidParams.Len() > 0 {
12073		return invalidParams
12074	}
12075	return nil
12076}
12077
12078// SetInstanceId sets the InstanceId field's value.
12079func (s *AssociateBotInput) SetInstanceId(v string) *AssociateBotInput {
12080	s.InstanceId = &v
12081	return s
12082}
12083
12084// SetLexBot sets the LexBot field's value.
12085func (s *AssociateBotInput) SetLexBot(v *LexBot) *AssociateBotInput {
12086	s.LexBot = v
12087	return s
12088}
12089
12090// SetLexV2Bot sets the LexV2Bot field's value.
12091func (s *AssociateBotInput) SetLexV2Bot(v *LexV2Bot) *AssociateBotInput {
12092	s.LexV2Bot = v
12093	return s
12094}
12095
12096type AssociateBotOutput struct {
12097	_ struct{} `type:"structure"`
12098}
12099
12100// String returns the string representation
12101func (s AssociateBotOutput) String() string {
12102	return awsutil.Prettify(s)
12103}
12104
12105// GoString returns the string representation
12106func (s AssociateBotOutput) GoString() string {
12107	return s.String()
12108}
12109
12110type AssociateInstanceStorageConfigInput struct {
12111	_ struct{} `type:"structure"`
12112
12113	// The identifier of the Amazon Connect instance. You can find the instanceId
12114	// in the ARN of the instance.
12115	//
12116	// InstanceId is a required field
12117	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12118
12119	// A valid resource type.
12120	//
12121	// ResourceType is a required field
12122	ResourceType *string `type:"string" required:"true" enum:"InstanceStorageResourceType"`
12123
12124	// A valid storage type.
12125	//
12126	// StorageConfig is a required field
12127	StorageConfig *InstanceStorageConfig `type:"structure" required:"true"`
12128}
12129
12130// String returns the string representation
12131func (s AssociateInstanceStorageConfigInput) String() string {
12132	return awsutil.Prettify(s)
12133}
12134
12135// GoString returns the string representation
12136func (s AssociateInstanceStorageConfigInput) GoString() string {
12137	return s.String()
12138}
12139
12140// Validate inspects the fields of the type to determine if they are valid.
12141func (s *AssociateInstanceStorageConfigInput) Validate() error {
12142	invalidParams := request.ErrInvalidParams{Context: "AssociateInstanceStorageConfigInput"}
12143	if s.InstanceId == nil {
12144		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12145	}
12146	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
12147		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
12148	}
12149	if s.ResourceType == nil {
12150		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
12151	}
12152	if s.StorageConfig == nil {
12153		invalidParams.Add(request.NewErrParamRequired("StorageConfig"))
12154	}
12155	if s.StorageConfig != nil {
12156		if err := s.StorageConfig.Validate(); err != nil {
12157			invalidParams.AddNested("StorageConfig", err.(request.ErrInvalidParams))
12158		}
12159	}
12160
12161	if invalidParams.Len() > 0 {
12162		return invalidParams
12163	}
12164	return nil
12165}
12166
12167// SetInstanceId sets the InstanceId field's value.
12168func (s *AssociateInstanceStorageConfigInput) SetInstanceId(v string) *AssociateInstanceStorageConfigInput {
12169	s.InstanceId = &v
12170	return s
12171}
12172
12173// SetResourceType sets the ResourceType field's value.
12174func (s *AssociateInstanceStorageConfigInput) SetResourceType(v string) *AssociateInstanceStorageConfigInput {
12175	s.ResourceType = &v
12176	return s
12177}
12178
12179// SetStorageConfig sets the StorageConfig field's value.
12180func (s *AssociateInstanceStorageConfigInput) SetStorageConfig(v *InstanceStorageConfig) *AssociateInstanceStorageConfigInput {
12181	s.StorageConfig = v
12182	return s
12183}
12184
12185type AssociateInstanceStorageConfigOutput struct {
12186	_ struct{} `type:"structure"`
12187
12188	// The existing association identifier that uniquely identifies the resource
12189	// type and storage config for the given instance ID.
12190	AssociationId *string `min:"1" type:"string"`
12191}
12192
12193// String returns the string representation
12194func (s AssociateInstanceStorageConfigOutput) String() string {
12195	return awsutil.Prettify(s)
12196}
12197
12198// GoString returns the string representation
12199func (s AssociateInstanceStorageConfigOutput) GoString() string {
12200	return s.String()
12201}
12202
12203// SetAssociationId sets the AssociationId field's value.
12204func (s *AssociateInstanceStorageConfigOutput) SetAssociationId(v string) *AssociateInstanceStorageConfigOutput {
12205	s.AssociationId = &v
12206	return s
12207}
12208
12209type AssociateLambdaFunctionInput struct {
12210	_ struct{} `type:"structure"`
12211
12212	// The Amazon Resource Name (ARN) for the Lambda function being associated.
12213	// Maximum number of characters allowed is 140.
12214	//
12215	// FunctionArn is a required field
12216	FunctionArn *string `min:"1" type:"string" required:"true"`
12217
12218	// The identifier of the Amazon Connect instance. You can find the instanceId
12219	// in the ARN of the instance.
12220	//
12221	// InstanceId is a required field
12222	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12223}
12224
12225// String returns the string representation
12226func (s AssociateLambdaFunctionInput) String() string {
12227	return awsutil.Prettify(s)
12228}
12229
12230// GoString returns the string representation
12231func (s AssociateLambdaFunctionInput) GoString() string {
12232	return s.String()
12233}
12234
12235// Validate inspects the fields of the type to determine if they are valid.
12236func (s *AssociateLambdaFunctionInput) Validate() error {
12237	invalidParams := request.ErrInvalidParams{Context: "AssociateLambdaFunctionInput"}
12238	if s.FunctionArn == nil {
12239		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
12240	}
12241	if s.FunctionArn != nil && len(*s.FunctionArn) < 1 {
12242		invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1))
12243	}
12244	if s.InstanceId == nil {
12245		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12246	}
12247	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
12248		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
12249	}
12250
12251	if invalidParams.Len() > 0 {
12252		return invalidParams
12253	}
12254	return nil
12255}
12256
12257// SetFunctionArn sets the FunctionArn field's value.
12258func (s *AssociateLambdaFunctionInput) SetFunctionArn(v string) *AssociateLambdaFunctionInput {
12259	s.FunctionArn = &v
12260	return s
12261}
12262
12263// SetInstanceId sets the InstanceId field's value.
12264func (s *AssociateLambdaFunctionInput) SetInstanceId(v string) *AssociateLambdaFunctionInput {
12265	s.InstanceId = &v
12266	return s
12267}
12268
12269type AssociateLambdaFunctionOutput struct {
12270	_ struct{} `type:"structure"`
12271}
12272
12273// String returns the string representation
12274func (s AssociateLambdaFunctionOutput) String() string {
12275	return awsutil.Prettify(s)
12276}
12277
12278// GoString returns the string representation
12279func (s AssociateLambdaFunctionOutput) GoString() string {
12280	return s.String()
12281}
12282
12283type AssociateLexBotInput struct {
12284	_ struct{} `type:"structure"`
12285
12286	// The identifier of the Amazon Connect instance. You can find the instanceId
12287	// in the ARN of the instance.
12288	//
12289	// InstanceId is a required field
12290	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12291
12292	// The Amazon Lex bot to associate with the instance.
12293	//
12294	// LexBot is a required field
12295	LexBot *LexBot `type:"structure" required:"true"`
12296}
12297
12298// String returns the string representation
12299func (s AssociateLexBotInput) String() string {
12300	return awsutil.Prettify(s)
12301}
12302
12303// GoString returns the string representation
12304func (s AssociateLexBotInput) GoString() string {
12305	return s.String()
12306}
12307
12308// Validate inspects the fields of the type to determine if they are valid.
12309func (s *AssociateLexBotInput) Validate() error {
12310	invalidParams := request.ErrInvalidParams{Context: "AssociateLexBotInput"}
12311	if s.InstanceId == nil {
12312		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12313	}
12314	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
12315		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
12316	}
12317	if s.LexBot == nil {
12318		invalidParams.Add(request.NewErrParamRequired("LexBot"))
12319	}
12320
12321	if invalidParams.Len() > 0 {
12322		return invalidParams
12323	}
12324	return nil
12325}
12326
12327// SetInstanceId sets the InstanceId field's value.
12328func (s *AssociateLexBotInput) SetInstanceId(v string) *AssociateLexBotInput {
12329	s.InstanceId = &v
12330	return s
12331}
12332
12333// SetLexBot sets the LexBot field's value.
12334func (s *AssociateLexBotInput) SetLexBot(v *LexBot) *AssociateLexBotInput {
12335	s.LexBot = v
12336	return s
12337}
12338
12339type AssociateLexBotOutput struct {
12340	_ struct{} `type:"structure"`
12341}
12342
12343// String returns the string representation
12344func (s AssociateLexBotOutput) String() string {
12345	return awsutil.Prettify(s)
12346}
12347
12348// GoString returns the string representation
12349func (s AssociateLexBotOutput) GoString() string {
12350	return s.String()
12351}
12352
12353type AssociateQueueQuickConnectsInput struct {
12354	_ struct{} `type:"structure"`
12355
12356	// The identifier of the Amazon Connect instance. You can find the instanceId
12357	// in the ARN of the instance.
12358	//
12359	// InstanceId is a required field
12360	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12361
12362	// The identifier for the queue.
12363	//
12364	// QueueId is a required field
12365	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
12366
12367	// The quick connects to associate with this queue.
12368	//
12369	// QuickConnectIds is a required field
12370	QuickConnectIds []*string `min:"1" type:"list" required:"true"`
12371}
12372
12373// String returns the string representation
12374func (s AssociateQueueQuickConnectsInput) String() string {
12375	return awsutil.Prettify(s)
12376}
12377
12378// GoString returns the string representation
12379func (s AssociateQueueQuickConnectsInput) GoString() string {
12380	return s.String()
12381}
12382
12383// Validate inspects the fields of the type to determine if they are valid.
12384func (s *AssociateQueueQuickConnectsInput) Validate() error {
12385	invalidParams := request.ErrInvalidParams{Context: "AssociateQueueQuickConnectsInput"}
12386	if s.InstanceId == nil {
12387		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12388	}
12389	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
12390		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
12391	}
12392	if s.QueueId == nil {
12393		invalidParams.Add(request.NewErrParamRequired("QueueId"))
12394	}
12395	if s.QueueId != nil && len(*s.QueueId) < 1 {
12396		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
12397	}
12398	if s.QuickConnectIds == nil {
12399		invalidParams.Add(request.NewErrParamRequired("QuickConnectIds"))
12400	}
12401	if s.QuickConnectIds != nil && len(s.QuickConnectIds) < 1 {
12402		invalidParams.Add(request.NewErrParamMinLen("QuickConnectIds", 1))
12403	}
12404
12405	if invalidParams.Len() > 0 {
12406		return invalidParams
12407	}
12408	return nil
12409}
12410
12411// SetInstanceId sets the InstanceId field's value.
12412func (s *AssociateQueueQuickConnectsInput) SetInstanceId(v string) *AssociateQueueQuickConnectsInput {
12413	s.InstanceId = &v
12414	return s
12415}
12416
12417// SetQueueId sets the QueueId field's value.
12418func (s *AssociateQueueQuickConnectsInput) SetQueueId(v string) *AssociateQueueQuickConnectsInput {
12419	s.QueueId = &v
12420	return s
12421}
12422
12423// SetQuickConnectIds sets the QuickConnectIds field's value.
12424func (s *AssociateQueueQuickConnectsInput) SetQuickConnectIds(v []*string) *AssociateQueueQuickConnectsInput {
12425	s.QuickConnectIds = v
12426	return s
12427}
12428
12429type AssociateQueueQuickConnectsOutput struct {
12430	_ struct{} `type:"structure"`
12431}
12432
12433// String returns the string representation
12434func (s AssociateQueueQuickConnectsOutput) String() string {
12435	return awsutil.Prettify(s)
12436}
12437
12438// GoString returns the string representation
12439func (s AssociateQueueQuickConnectsOutput) GoString() string {
12440	return s.String()
12441}
12442
12443type AssociateRoutingProfileQueuesInput struct {
12444	_ struct{} `type:"structure"`
12445
12446	// The identifier of the Amazon Connect instance. You can find the instanceId
12447	// in the ARN of the instance.
12448	//
12449	// InstanceId is a required field
12450	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12451
12452	// The queues to associate with this routing profile.
12453	//
12454	// QueueConfigs is a required field
12455	QueueConfigs []*RoutingProfileQueueConfig `min:"1" type:"list" required:"true"`
12456
12457	// The identifier of the routing profile.
12458	//
12459	// RoutingProfileId is a required field
12460	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
12461}
12462
12463// String returns the string representation
12464func (s AssociateRoutingProfileQueuesInput) String() string {
12465	return awsutil.Prettify(s)
12466}
12467
12468// GoString returns the string representation
12469func (s AssociateRoutingProfileQueuesInput) GoString() string {
12470	return s.String()
12471}
12472
12473// Validate inspects the fields of the type to determine if they are valid.
12474func (s *AssociateRoutingProfileQueuesInput) Validate() error {
12475	invalidParams := request.ErrInvalidParams{Context: "AssociateRoutingProfileQueuesInput"}
12476	if s.InstanceId == nil {
12477		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12478	}
12479	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
12480		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
12481	}
12482	if s.QueueConfigs == nil {
12483		invalidParams.Add(request.NewErrParamRequired("QueueConfigs"))
12484	}
12485	if s.QueueConfigs != nil && len(s.QueueConfigs) < 1 {
12486		invalidParams.Add(request.NewErrParamMinLen("QueueConfigs", 1))
12487	}
12488	if s.RoutingProfileId == nil {
12489		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
12490	}
12491	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
12492		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
12493	}
12494	if s.QueueConfigs != nil {
12495		for i, v := range s.QueueConfigs {
12496			if v == nil {
12497				continue
12498			}
12499			if err := v.Validate(); err != nil {
12500				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigs", i), err.(request.ErrInvalidParams))
12501			}
12502		}
12503	}
12504
12505	if invalidParams.Len() > 0 {
12506		return invalidParams
12507	}
12508	return nil
12509}
12510
12511// SetInstanceId sets the InstanceId field's value.
12512func (s *AssociateRoutingProfileQueuesInput) SetInstanceId(v string) *AssociateRoutingProfileQueuesInput {
12513	s.InstanceId = &v
12514	return s
12515}
12516
12517// SetQueueConfigs sets the QueueConfigs field's value.
12518func (s *AssociateRoutingProfileQueuesInput) SetQueueConfigs(v []*RoutingProfileQueueConfig) *AssociateRoutingProfileQueuesInput {
12519	s.QueueConfigs = v
12520	return s
12521}
12522
12523// SetRoutingProfileId sets the RoutingProfileId field's value.
12524func (s *AssociateRoutingProfileQueuesInput) SetRoutingProfileId(v string) *AssociateRoutingProfileQueuesInput {
12525	s.RoutingProfileId = &v
12526	return s
12527}
12528
12529type AssociateRoutingProfileQueuesOutput struct {
12530	_ struct{} `type:"structure"`
12531}
12532
12533// String returns the string representation
12534func (s AssociateRoutingProfileQueuesOutput) String() string {
12535	return awsutil.Prettify(s)
12536}
12537
12538// GoString returns the string representation
12539func (s AssociateRoutingProfileQueuesOutput) GoString() string {
12540	return s.String()
12541}
12542
12543type AssociateSecurityKeyInput struct {
12544	_ struct{} `type:"structure"`
12545
12546	// The identifier of the Amazon Connect instance. You can find the instanceId
12547	// in the ARN of the instance.
12548	//
12549	// InstanceId is a required field
12550	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12551
12552	// A valid security key in PEM format.
12553	//
12554	// Key is a required field
12555	Key *string `min:"1" type:"string" required:"true"`
12556}
12557
12558// String returns the string representation
12559func (s AssociateSecurityKeyInput) String() string {
12560	return awsutil.Prettify(s)
12561}
12562
12563// GoString returns the string representation
12564func (s AssociateSecurityKeyInput) GoString() string {
12565	return s.String()
12566}
12567
12568// Validate inspects the fields of the type to determine if they are valid.
12569func (s *AssociateSecurityKeyInput) Validate() error {
12570	invalidParams := request.ErrInvalidParams{Context: "AssociateSecurityKeyInput"}
12571	if s.InstanceId == nil {
12572		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
12573	}
12574	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
12575		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
12576	}
12577	if s.Key == nil {
12578		invalidParams.Add(request.NewErrParamRequired("Key"))
12579	}
12580	if s.Key != nil && len(*s.Key) < 1 {
12581		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
12582	}
12583
12584	if invalidParams.Len() > 0 {
12585		return invalidParams
12586	}
12587	return nil
12588}
12589
12590// SetInstanceId sets the InstanceId field's value.
12591func (s *AssociateSecurityKeyInput) SetInstanceId(v string) *AssociateSecurityKeyInput {
12592	s.InstanceId = &v
12593	return s
12594}
12595
12596// SetKey sets the Key field's value.
12597func (s *AssociateSecurityKeyInput) SetKey(v string) *AssociateSecurityKeyInput {
12598	s.Key = &v
12599	return s
12600}
12601
12602type AssociateSecurityKeyOutput struct {
12603	_ struct{} `type:"structure"`
12604
12605	// The existing association identifier that uniquely identifies the resource
12606	// type and storage config for the given instance ID.
12607	AssociationId *string `min:"1" type:"string"`
12608}
12609
12610// String returns the string representation
12611func (s AssociateSecurityKeyOutput) String() string {
12612	return awsutil.Prettify(s)
12613}
12614
12615// GoString returns the string representation
12616func (s AssociateSecurityKeyOutput) GoString() string {
12617	return s.String()
12618}
12619
12620// SetAssociationId sets the AssociationId field's value.
12621func (s *AssociateSecurityKeyOutput) SetAssociationId(v string) *AssociateSecurityKeyOutput {
12622	s.AssociationId = &v
12623	return s
12624}
12625
12626// A toggle for an individual feature at the instance level.
12627type Attribute struct {
12628	_ struct{} `type:"structure"`
12629
12630	// The type of attribute.
12631	AttributeType *string `type:"string" enum:"InstanceAttributeType"`
12632
12633	// The value of the attribute.
12634	Value *string `min:"1" type:"string"`
12635}
12636
12637// String returns the string representation
12638func (s Attribute) String() string {
12639	return awsutil.Prettify(s)
12640}
12641
12642// GoString returns the string representation
12643func (s Attribute) GoString() string {
12644	return s.String()
12645}
12646
12647// SetAttributeType sets the AttributeType field's value.
12648func (s *Attribute) SetAttributeType(v string) *Attribute {
12649	s.AttributeType = &v
12650	return s
12651}
12652
12653// SetValue sets the Value field's value.
12654func (s *Attribute) SetValue(v string) *Attribute {
12655	s.Value = &v
12656	return s
12657}
12658
12659// A chat message.
12660type ChatMessage struct {
12661	_ struct{} `type:"structure"`
12662
12663	// The content of the chat message.
12664	//
12665	// Content is a required field
12666	Content *string `min:"1" type:"string" required:"true"`
12667
12668	// The type of the content. Supported types are text and plain.
12669	//
12670	// ContentType is a required field
12671	ContentType *string `min:"1" type:"string" required:"true"`
12672}
12673
12674// String returns the string representation
12675func (s ChatMessage) String() string {
12676	return awsutil.Prettify(s)
12677}
12678
12679// GoString returns the string representation
12680func (s ChatMessage) GoString() string {
12681	return s.String()
12682}
12683
12684// Validate inspects the fields of the type to determine if they are valid.
12685func (s *ChatMessage) Validate() error {
12686	invalidParams := request.ErrInvalidParams{Context: "ChatMessage"}
12687	if s.Content == nil {
12688		invalidParams.Add(request.NewErrParamRequired("Content"))
12689	}
12690	if s.Content != nil && len(*s.Content) < 1 {
12691		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
12692	}
12693	if s.ContentType == nil {
12694		invalidParams.Add(request.NewErrParamRequired("ContentType"))
12695	}
12696	if s.ContentType != nil && len(*s.ContentType) < 1 {
12697		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
12698	}
12699
12700	if invalidParams.Len() > 0 {
12701		return invalidParams
12702	}
12703	return nil
12704}
12705
12706// SetContent sets the Content field's value.
12707func (s *ChatMessage) SetContent(v string) *ChatMessage {
12708	s.Content = &v
12709	return s
12710}
12711
12712// SetContentType sets the ContentType field's value.
12713func (s *ChatMessage) SetContentType(v string) *ChatMessage {
12714	s.ContentType = &v
12715	return s
12716}
12717
12718// Contains information about a contact flow.
12719type ContactFlow struct {
12720	_ struct{} `type:"structure"`
12721
12722	// The Amazon Resource Name (ARN) of the contact flow.
12723	Arn *string `type:"string"`
12724
12725	// The content of the contact flow.
12726	Content *string `type:"string"`
12727
12728	// The description of the contact flow.
12729	Description *string `type:"string"`
12730
12731	// The identifier of the contact flow.
12732	Id *string `type:"string"`
12733
12734	// The name of the contact flow.
12735	Name *string `min:"1" type:"string"`
12736
12737	// One or more tags.
12738	Tags map[string]*string `min:"1" type:"map"`
12739
12740	// The type of the contact flow. For descriptions of the available types, see
12741	// Choose a Contact Flow Type (https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types)
12742	// in the Amazon Connect Administrator Guide.
12743	Type *string `type:"string" enum:"ContactFlowType"`
12744}
12745
12746// String returns the string representation
12747func (s ContactFlow) String() string {
12748	return awsutil.Prettify(s)
12749}
12750
12751// GoString returns the string representation
12752func (s ContactFlow) GoString() string {
12753	return s.String()
12754}
12755
12756// SetArn sets the Arn field's value.
12757func (s *ContactFlow) SetArn(v string) *ContactFlow {
12758	s.Arn = &v
12759	return s
12760}
12761
12762// SetContent sets the Content field's value.
12763func (s *ContactFlow) SetContent(v string) *ContactFlow {
12764	s.Content = &v
12765	return s
12766}
12767
12768// SetDescription sets the Description field's value.
12769func (s *ContactFlow) SetDescription(v string) *ContactFlow {
12770	s.Description = &v
12771	return s
12772}
12773
12774// SetId sets the Id field's value.
12775func (s *ContactFlow) SetId(v string) *ContactFlow {
12776	s.Id = &v
12777	return s
12778}
12779
12780// SetName sets the Name field's value.
12781func (s *ContactFlow) SetName(v string) *ContactFlow {
12782	s.Name = &v
12783	return s
12784}
12785
12786// SetTags sets the Tags field's value.
12787func (s *ContactFlow) SetTags(v map[string]*string) *ContactFlow {
12788	s.Tags = v
12789	return s
12790}
12791
12792// SetType sets the Type field's value.
12793func (s *ContactFlow) SetType(v string) *ContactFlow {
12794	s.Type = &v
12795	return s
12796}
12797
12798// The contact flow has not been published.
12799type ContactFlowNotPublishedException struct {
12800	_            struct{}                  `type:"structure"`
12801	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12802
12803	Message_ *string `locationName:"Message" type:"string"`
12804}
12805
12806// String returns the string representation
12807func (s ContactFlowNotPublishedException) String() string {
12808	return awsutil.Prettify(s)
12809}
12810
12811// GoString returns the string representation
12812func (s ContactFlowNotPublishedException) GoString() string {
12813	return s.String()
12814}
12815
12816func newErrorContactFlowNotPublishedException(v protocol.ResponseMetadata) error {
12817	return &ContactFlowNotPublishedException{
12818		RespMetadata: v,
12819	}
12820}
12821
12822// Code returns the exception type name.
12823func (s *ContactFlowNotPublishedException) Code() string {
12824	return "ContactFlowNotPublishedException"
12825}
12826
12827// Message returns the exception's message.
12828func (s *ContactFlowNotPublishedException) Message() string {
12829	if s.Message_ != nil {
12830		return *s.Message_
12831	}
12832	return ""
12833}
12834
12835// OrigErr always returns nil, satisfies awserr.Error interface.
12836func (s *ContactFlowNotPublishedException) OrigErr() error {
12837	return nil
12838}
12839
12840func (s *ContactFlowNotPublishedException) Error() string {
12841	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12842}
12843
12844// Status code returns the HTTP status code for the request's response error.
12845func (s *ContactFlowNotPublishedException) StatusCode() int {
12846	return s.RespMetadata.StatusCode
12847}
12848
12849// RequestID returns the service's response RequestID for request.
12850func (s *ContactFlowNotPublishedException) RequestID() string {
12851	return s.RespMetadata.RequestID
12852}
12853
12854// Contains summary information about a contact flow.
12855//
12856// You can also create and update contact flows using the Amazon Connect Flow
12857// language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
12858type ContactFlowSummary struct {
12859	_ struct{} `type:"structure"`
12860
12861	// The Amazon Resource Name (ARN) of the contact flow.
12862	Arn *string `type:"string"`
12863
12864	// The type of contact flow.
12865	ContactFlowType *string `type:"string" enum:"ContactFlowType"`
12866
12867	// The identifier of the contact flow.
12868	Id *string `type:"string"`
12869
12870	// The name of the contact flow.
12871	Name *string `min:"1" type:"string"`
12872}
12873
12874// String returns the string representation
12875func (s ContactFlowSummary) String() string {
12876	return awsutil.Prettify(s)
12877}
12878
12879// GoString returns the string representation
12880func (s ContactFlowSummary) GoString() string {
12881	return s.String()
12882}
12883
12884// SetArn sets the Arn field's value.
12885func (s *ContactFlowSummary) SetArn(v string) *ContactFlowSummary {
12886	s.Arn = &v
12887	return s
12888}
12889
12890// SetContactFlowType sets the ContactFlowType field's value.
12891func (s *ContactFlowSummary) SetContactFlowType(v string) *ContactFlowSummary {
12892	s.ContactFlowType = &v
12893	return s
12894}
12895
12896// SetId sets the Id field's value.
12897func (s *ContactFlowSummary) SetId(v string) *ContactFlowSummary {
12898	s.Id = &v
12899	return s
12900}
12901
12902// SetName sets the Name field's value.
12903func (s *ContactFlowSummary) SetName(v string) *ContactFlowSummary {
12904	s.Name = &v
12905	return s
12906}
12907
12908// The contact with the specified ID is not active or does not exist.
12909type ContactNotFoundException struct {
12910	_            struct{}                  `type:"structure"`
12911	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12912
12913	// The message.
12914	Message_ *string `locationName:"Message" type:"string"`
12915}
12916
12917// String returns the string representation
12918func (s ContactNotFoundException) String() string {
12919	return awsutil.Prettify(s)
12920}
12921
12922// GoString returns the string representation
12923func (s ContactNotFoundException) GoString() string {
12924	return s.String()
12925}
12926
12927func newErrorContactNotFoundException(v protocol.ResponseMetadata) error {
12928	return &ContactNotFoundException{
12929		RespMetadata: v,
12930	}
12931}
12932
12933// Code returns the exception type name.
12934func (s *ContactNotFoundException) Code() string {
12935	return "ContactNotFoundException"
12936}
12937
12938// Message returns the exception's message.
12939func (s *ContactNotFoundException) Message() string {
12940	if s.Message_ != nil {
12941		return *s.Message_
12942	}
12943	return ""
12944}
12945
12946// OrigErr always returns nil, satisfies awserr.Error interface.
12947func (s *ContactNotFoundException) OrigErr() error {
12948	return nil
12949}
12950
12951func (s *ContactNotFoundException) Error() string {
12952	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12953}
12954
12955// Status code returns the HTTP status code for the request's response error.
12956func (s *ContactNotFoundException) StatusCode() int {
12957	return s.RespMetadata.StatusCode
12958}
12959
12960// RequestID returns the service's response RequestID for request.
12961func (s *ContactNotFoundException) RequestID() string {
12962	return s.RespMetadata.RequestID
12963}
12964
12965type CreateAgentStatusInput struct {
12966	_ struct{} `type:"structure"`
12967
12968	// The description of the status.
12969	Description *string `min:"1" type:"string"`
12970
12971	// The display order of the status.
12972	DisplayOrder *int64 `min:"1" type:"integer"`
12973
12974	// The identifier of the Amazon Connect instance. You can find the instanceId
12975	// in the ARN of the instance.
12976	//
12977	// InstanceId is a required field
12978	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
12979
12980	// The name of the status.
12981	//
12982	// Name is a required field
12983	Name *string `min:"1" type:"string" required:"true"`
12984
12985	// The state of the status.
12986	//
12987	// State is a required field
12988	State *string `type:"string" required:"true" enum:"AgentStatusState"`
12989
12990	// One or more tags.
12991	Tags map[string]*string `min:"1" type:"map"`
12992}
12993
12994// String returns the string representation
12995func (s CreateAgentStatusInput) String() string {
12996	return awsutil.Prettify(s)
12997}
12998
12999// GoString returns the string representation
13000func (s CreateAgentStatusInput) GoString() string {
13001	return s.String()
13002}
13003
13004// Validate inspects the fields of the type to determine if they are valid.
13005func (s *CreateAgentStatusInput) Validate() error {
13006	invalidParams := request.ErrInvalidParams{Context: "CreateAgentStatusInput"}
13007	if s.Description != nil && len(*s.Description) < 1 {
13008		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
13009	}
13010	if s.DisplayOrder != nil && *s.DisplayOrder < 1 {
13011		invalidParams.Add(request.NewErrParamMinValue("DisplayOrder", 1))
13012	}
13013	if s.InstanceId == nil {
13014		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13015	}
13016	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
13017		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
13018	}
13019	if s.Name == nil {
13020		invalidParams.Add(request.NewErrParamRequired("Name"))
13021	}
13022	if s.Name != nil && len(*s.Name) < 1 {
13023		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13024	}
13025	if s.State == nil {
13026		invalidParams.Add(request.NewErrParamRequired("State"))
13027	}
13028	if s.Tags != nil && len(s.Tags) < 1 {
13029		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
13030	}
13031
13032	if invalidParams.Len() > 0 {
13033		return invalidParams
13034	}
13035	return nil
13036}
13037
13038// SetDescription sets the Description field's value.
13039func (s *CreateAgentStatusInput) SetDescription(v string) *CreateAgentStatusInput {
13040	s.Description = &v
13041	return s
13042}
13043
13044// SetDisplayOrder sets the DisplayOrder field's value.
13045func (s *CreateAgentStatusInput) SetDisplayOrder(v int64) *CreateAgentStatusInput {
13046	s.DisplayOrder = &v
13047	return s
13048}
13049
13050// SetInstanceId sets the InstanceId field's value.
13051func (s *CreateAgentStatusInput) SetInstanceId(v string) *CreateAgentStatusInput {
13052	s.InstanceId = &v
13053	return s
13054}
13055
13056// SetName sets the Name field's value.
13057func (s *CreateAgentStatusInput) SetName(v string) *CreateAgentStatusInput {
13058	s.Name = &v
13059	return s
13060}
13061
13062// SetState sets the State field's value.
13063func (s *CreateAgentStatusInput) SetState(v string) *CreateAgentStatusInput {
13064	s.State = &v
13065	return s
13066}
13067
13068// SetTags sets the Tags field's value.
13069func (s *CreateAgentStatusInput) SetTags(v map[string]*string) *CreateAgentStatusInput {
13070	s.Tags = v
13071	return s
13072}
13073
13074type CreateAgentStatusOutput struct {
13075	_ struct{} `type:"structure"`
13076
13077	// The Amazon Resource Name (ARN) of the agent status.
13078	AgentStatusARN *string `type:"string"`
13079
13080	// The identifier of the agent status.
13081	AgentStatusId *string `type:"string"`
13082}
13083
13084// String returns the string representation
13085func (s CreateAgentStatusOutput) String() string {
13086	return awsutil.Prettify(s)
13087}
13088
13089// GoString returns the string representation
13090func (s CreateAgentStatusOutput) GoString() string {
13091	return s.String()
13092}
13093
13094// SetAgentStatusARN sets the AgentStatusARN field's value.
13095func (s *CreateAgentStatusOutput) SetAgentStatusARN(v string) *CreateAgentStatusOutput {
13096	s.AgentStatusARN = &v
13097	return s
13098}
13099
13100// SetAgentStatusId sets the AgentStatusId field's value.
13101func (s *CreateAgentStatusOutput) SetAgentStatusId(v string) *CreateAgentStatusOutput {
13102	s.AgentStatusId = &v
13103	return s
13104}
13105
13106type CreateContactFlowInput struct {
13107	_ struct{} `type:"structure"`
13108
13109	// The content of the contact flow.
13110	//
13111	// Content is a required field
13112	Content *string `type:"string" required:"true"`
13113
13114	// The description of the contact flow.
13115	Description *string `type:"string"`
13116
13117	// The identifier of the Amazon Connect instance.
13118	//
13119	// InstanceId is a required field
13120	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
13121
13122	// The name of the contact flow.
13123	//
13124	// Name is a required field
13125	Name *string `min:"1" type:"string" required:"true"`
13126
13127	// One or more tags.
13128	Tags map[string]*string `min:"1" type:"map"`
13129
13130	// The type of the contact flow. For descriptions of the available types, see
13131	// Choose a Contact Flow Type (https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types)
13132	// in the Amazon Connect Administrator Guide.
13133	//
13134	// Type is a required field
13135	Type *string `type:"string" required:"true" enum:"ContactFlowType"`
13136}
13137
13138// String returns the string representation
13139func (s CreateContactFlowInput) String() string {
13140	return awsutil.Prettify(s)
13141}
13142
13143// GoString returns the string representation
13144func (s CreateContactFlowInput) GoString() string {
13145	return s.String()
13146}
13147
13148// Validate inspects the fields of the type to determine if they are valid.
13149func (s *CreateContactFlowInput) Validate() error {
13150	invalidParams := request.ErrInvalidParams{Context: "CreateContactFlowInput"}
13151	if s.Content == nil {
13152		invalidParams.Add(request.NewErrParamRequired("Content"))
13153	}
13154	if s.InstanceId == nil {
13155		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13156	}
13157	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
13158		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
13159	}
13160	if s.Name == nil {
13161		invalidParams.Add(request.NewErrParamRequired("Name"))
13162	}
13163	if s.Name != nil && len(*s.Name) < 1 {
13164		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13165	}
13166	if s.Tags != nil && len(s.Tags) < 1 {
13167		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
13168	}
13169	if s.Type == nil {
13170		invalidParams.Add(request.NewErrParamRequired("Type"))
13171	}
13172
13173	if invalidParams.Len() > 0 {
13174		return invalidParams
13175	}
13176	return nil
13177}
13178
13179// SetContent sets the Content field's value.
13180func (s *CreateContactFlowInput) SetContent(v string) *CreateContactFlowInput {
13181	s.Content = &v
13182	return s
13183}
13184
13185// SetDescription sets the Description field's value.
13186func (s *CreateContactFlowInput) SetDescription(v string) *CreateContactFlowInput {
13187	s.Description = &v
13188	return s
13189}
13190
13191// SetInstanceId sets the InstanceId field's value.
13192func (s *CreateContactFlowInput) SetInstanceId(v string) *CreateContactFlowInput {
13193	s.InstanceId = &v
13194	return s
13195}
13196
13197// SetName sets the Name field's value.
13198func (s *CreateContactFlowInput) SetName(v string) *CreateContactFlowInput {
13199	s.Name = &v
13200	return s
13201}
13202
13203// SetTags sets the Tags field's value.
13204func (s *CreateContactFlowInput) SetTags(v map[string]*string) *CreateContactFlowInput {
13205	s.Tags = v
13206	return s
13207}
13208
13209// SetType sets the Type field's value.
13210func (s *CreateContactFlowInput) SetType(v string) *CreateContactFlowInput {
13211	s.Type = &v
13212	return s
13213}
13214
13215type CreateContactFlowOutput struct {
13216	_ struct{} `type:"structure"`
13217
13218	// The Amazon Resource Name (ARN) of the contact flow.
13219	ContactFlowArn *string `type:"string"`
13220
13221	// The identifier of the contact flow.
13222	ContactFlowId *string `type:"string"`
13223}
13224
13225// String returns the string representation
13226func (s CreateContactFlowOutput) String() string {
13227	return awsutil.Prettify(s)
13228}
13229
13230// GoString returns the string representation
13231func (s CreateContactFlowOutput) GoString() string {
13232	return s.String()
13233}
13234
13235// SetContactFlowArn sets the ContactFlowArn field's value.
13236func (s *CreateContactFlowOutput) SetContactFlowArn(v string) *CreateContactFlowOutput {
13237	s.ContactFlowArn = &v
13238	return s
13239}
13240
13241// SetContactFlowId sets the ContactFlowId field's value.
13242func (s *CreateContactFlowOutput) SetContactFlowId(v string) *CreateContactFlowOutput {
13243	s.ContactFlowId = &v
13244	return s
13245}
13246
13247type CreateHoursOfOperationInput struct {
13248	_ struct{} `type:"structure"`
13249
13250	// Configuration information for the hours of operation: day, start time, and
13251	// end time.
13252	//
13253	// Config is a required field
13254	Config []*HoursOfOperationConfig `type:"list" required:"true"`
13255
13256	// The description of the hours of operation.
13257	Description *string `min:"1" type:"string"`
13258
13259	// The identifier of the Amazon Connect instance. You can find the instanceId
13260	// in the ARN of the instance.
13261	//
13262	// InstanceId is a required field
13263	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
13264
13265	// The name of the hours of operation.
13266	//
13267	// Name is a required field
13268	Name *string `min:"1" type:"string" required:"true"`
13269
13270	// One or more tags.
13271	Tags map[string]*string `min:"1" type:"map"`
13272
13273	// The time zone of the hours of operation.
13274	//
13275	// TimeZone is a required field
13276	TimeZone *string `type:"string" required:"true"`
13277}
13278
13279// String returns the string representation
13280func (s CreateHoursOfOperationInput) String() string {
13281	return awsutil.Prettify(s)
13282}
13283
13284// GoString returns the string representation
13285func (s CreateHoursOfOperationInput) GoString() string {
13286	return s.String()
13287}
13288
13289// Validate inspects the fields of the type to determine if they are valid.
13290func (s *CreateHoursOfOperationInput) Validate() error {
13291	invalidParams := request.ErrInvalidParams{Context: "CreateHoursOfOperationInput"}
13292	if s.Config == nil {
13293		invalidParams.Add(request.NewErrParamRequired("Config"))
13294	}
13295	if s.Description != nil && len(*s.Description) < 1 {
13296		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
13297	}
13298	if s.InstanceId == nil {
13299		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13300	}
13301	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
13302		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
13303	}
13304	if s.Name == nil {
13305		invalidParams.Add(request.NewErrParamRequired("Name"))
13306	}
13307	if s.Name != nil && len(*s.Name) < 1 {
13308		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13309	}
13310	if s.Tags != nil && len(s.Tags) < 1 {
13311		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
13312	}
13313	if s.TimeZone == nil {
13314		invalidParams.Add(request.NewErrParamRequired("TimeZone"))
13315	}
13316	if s.Config != nil {
13317		for i, v := range s.Config {
13318			if v == nil {
13319				continue
13320			}
13321			if err := v.Validate(); err != nil {
13322				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Config", i), err.(request.ErrInvalidParams))
13323			}
13324		}
13325	}
13326
13327	if invalidParams.Len() > 0 {
13328		return invalidParams
13329	}
13330	return nil
13331}
13332
13333// SetConfig sets the Config field's value.
13334func (s *CreateHoursOfOperationInput) SetConfig(v []*HoursOfOperationConfig) *CreateHoursOfOperationInput {
13335	s.Config = v
13336	return s
13337}
13338
13339// SetDescription sets the Description field's value.
13340func (s *CreateHoursOfOperationInput) SetDescription(v string) *CreateHoursOfOperationInput {
13341	s.Description = &v
13342	return s
13343}
13344
13345// SetInstanceId sets the InstanceId field's value.
13346func (s *CreateHoursOfOperationInput) SetInstanceId(v string) *CreateHoursOfOperationInput {
13347	s.InstanceId = &v
13348	return s
13349}
13350
13351// SetName sets the Name field's value.
13352func (s *CreateHoursOfOperationInput) SetName(v string) *CreateHoursOfOperationInput {
13353	s.Name = &v
13354	return s
13355}
13356
13357// SetTags sets the Tags field's value.
13358func (s *CreateHoursOfOperationInput) SetTags(v map[string]*string) *CreateHoursOfOperationInput {
13359	s.Tags = v
13360	return s
13361}
13362
13363// SetTimeZone sets the TimeZone field's value.
13364func (s *CreateHoursOfOperationInput) SetTimeZone(v string) *CreateHoursOfOperationInput {
13365	s.TimeZone = &v
13366	return s
13367}
13368
13369type CreateHoursOfOperationOutput struct {
13370	_ struct{} `type:"structure"`
13371
13372	// The Amazon Resource Name (ARN) for the hours of operation.
13373	HoursOfOperationArn *string `type:"string"`
13374
13375	// The identifier for the hours of operation.
13376	HoursOfOperationId *string `type:"string"`
13377}
13378
13379// String returns the string representation
13380func (s CreateHoursOfOperationOutput) String() string {
13381	return awsutil.Prettify(s)
13382}
13383
13384// GoString returns the string representation
13385func (s CreateHoursOfOperationOutput) GoString() string {
13386	return s.String()
13387}
13388
13389// SetHoursOfOperationArn sets the HoursOfOperationArn field's value.
13390func (s *CreateHoursOfOperationOutput) SetHoursOfOperationArn(v string) *CreateHoursOfOperationOutput {
13391	s.HoursOfOperationArn = &v
13392	return s
13393}
13394
13395// SetHoursOfOperationId sets the HoursOfOperationId field's value.
13396func (s *CreateHoursOfOperationOutput) SetHoursOfOperationId(v string) *CreateHoursOfOperationOutput {
13397	s.HoursOfOperationId = &v
13398	return s
13399}
13400
13401type CreateInstanceInput struct {
13402	_ struct{} `type:"structure"`
13403
13404	// The idempotency token.
13405	ClientToken *string `type:"string"`
13406
13407	// The identifier for the directory.
13408	DirectoryId *string `min:"12" type:"string"`
13409
13410	// The type of identity management for your Amazon Connect users.
13411	//
13412	// IdentityManagementType is a required field
13413	IdentityManagementType *string `type:"string" required:"true" enum:"DirectoryType"`
13414
13415	// Your contact center handles incoming contacts.
13416	//
13417	// InboundCallsEnabled is a required field
13418	InboundCallsEnabled *bool `type:"boolean" required:"true"`
13419
13420	// The name for your instance.
13421	InstanceAlias *string `min:"1" type:"string" sensitive:"true"`
13422
13423	// Your contact center allows outbound calls.
13424	//
13425	// OutboundCallsEnabled is a required field
13426	OutboundCallsEnabled *bool `type:"boolean" required:"true"`
13427}
13428
13429// String returns the string representation
13430func (s CreateInstanceInput) String() string {
13431	return awsutil.Prettify(s)
13432}
13433
13434// GoString returns the string representation
13435func (s CreateInstanceInput) GoString() string {
13436	return s.String()
13437}
13438
13439// Validate inspects the fields of the type to determine if they are valid.
13440func (s *CreateInstanceInput) Validate() error {
13441	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceInput"}
13442	if s.DirectoryId != nil && len(*s.DirectoryId) < 12 {
13443		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 12))
13444	}
13445	if s.IdentityManagementType == nil {
13446		invalidParams.Add(request.NewErrParamRequired("IdentityManagementType"))
13447	}
13448	if s.InboundCallsEnabled == nil {
13449		invalidParams.Add(request.NewErrParamRequired("InboundCallsEnabled"))
13450	}
13451	if s.InstanceAlias != nil && len(*s.InstanceAlias) < 1 {
13452		invalidParams.Add(request.NewErrParamMinLen("InstanceAlias", 1))
13453	}
13454	if s.OutboundCallsEnabled == nil {
13455		invalidParams.Add(request.NewErrParamRequired("OutboundCallsEnabled"))
13456	}
13457
13458	if invalidParams.Len() > 0 {
13459		return invalidParams
13460	}
13461	return nil
13462}
13463
13464// SetClientToken sets the ClientToken field's value.
13465func (s *CreateInstanceInput) SetClientToken(v string) *CreateInstanceInput {
13466	s.ClientToken = &v
13467	return s
13468}
13469
13470// SetDirectoryId sets the DirectoryId field's value.
13471func (s *CreateInstanceInput) SetDirectoryId(v string) *CreateInstanceInput {
13472	s.DirectoryId = &v
13473	return s
13474}
13475
13476// SetIdentityManagementType sets the IdentityManagementType field's value.
13477func (s *CreateInstanceInput) SetIdentityManagementType(v string) *CreateInstanceInput {
13478	s.IdentityManagementType = &v
13479	return s
13480}
13481
13482// SetInboundCallsEnabled sets the InboundCallsEnabled field's value.
13483func (s *CreateInstanceInput) SetInboundCallsEnabled(v bool) *CreateInstanceInput {
13484	s.InboundCallsEnabled = &v
13485	return s
13486}
13487
13488// SetInstanceAlias sets the InstanceAlias field's value.
13489func (s *CreateInstanceInput) SetInstanceAlias(v string) *CreateInstanceInput {
13490	s.InstanceAlias = &v
13491	return s
13492}
13493
13494// SetOutboundCallsEnabled sets the OutboundCallsEnabled field's value.
13495func (s *CreateInstanceInput) SetOutboundCallsEnabled(v bool) *CreateInstanceInput {
13496	s.OutboundCallsEnabled = &v
13497	return s
13498}
13499
13500type CreateInstanceOutput struct {
13501	_ struct{} `type:"structure"`
13502
13503	// The Amazon Resource Name (ARN) of the instance.
13504	Arn *string `type:"string"`
13505
13506	// The identifier for the instance.
13507	Id *string `min:"1" type:"string"`
13508}
13509
13510// String returns the string representation
13511func (s CreateInstanceOutput) String() string {
13512	return awsutil.Prettify(s)
13513}
13514
13515// GoString returns the string representation
13516func (s CreateInstanceOutput) GoString() string {
13517	return s.String()
13518}
13519
13520// SetArn sets the Arn field's value.
13521func (s *CreateInstanceOutput) SetArn(v string) *CreateInstanceOutput {
13522	s.Arn = &v
13523	return s
13524}
13525
13526// SetId sets the Id field's value.
13527func (s *CreateInstanceOutput) SetId(v string) *CreateInstanceOutput {
13528	s.Id = &v
13529	return s
13530}
13531
13532type CreateIntegrationAssociationInput struct {
13533	_ struct{} `type:"structure"`
13534
13535	// The identifier of the Amazon Connect instance. You can find the instanceId
13536	// in the ARN of the instance.
13537	//
13538	// InstanceId is a required field
13539	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
13540
13541	// The Amazon Resource Name (ARN) of the integration.
13542	//
13543	// IntegrationArn is a required field
13544	IntegrationArn *string `type:"string" required:"true"`
13545
13546	// The type of information to be ingested.
13547	//
13548	// IntegrationType is a required field
13549	IntegrationType *string `type:"string" required:"true" enum:"IntegrationType"`
13550
13551	// The name of the external application.
13552	//
13553	// SourceApplicationName is a required field
13554	SourceApplicationName *string `min:"1" type:"string" required:"true"`
13555
13556	// The URL for the external application.
13557	//
13558	// SourceApplicationUrl is a required field
13559	SourceApplicationUrl *string `min:"1" type:"string" required:"true"`
13560
13561	// The type of the data source.
13562	//
13563	// SourceType is a required field
13564	SourceType *string `type:"string" required:"true" enum:"SourceType"`
13565
13566	// One or more tags.
13567	Tags map[string]*string `min:"1" type:"map"`
13568}
13569
13570// String returns the string representation
13571func (s CreateIntegrationAssociationInput) String() string {
13572	return awsutil.Prettify(s)
13573}
13574
13575// GoString returns the string representation
13576func (s CreateIntegrationAssociationInput) GoString() string {
13577	return s.String()
13578}
13579
13580// Validate inspects the fields of the type to determine if they are valid.
13581func (s *CreateIntegrationAssociationInput) Validate() error {
13582	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationAssociationInput"}
13583	if s.InstanceId == nil {
13584		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13585	}
13586	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
13587		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
13588	}
13589	if s.IntegrationArn == nil {
13590		invalidParams.Add(request.NewErrParamRequired("IntegrationArn"))
13591	}
13592	if s.IntegrationType == nil {
13593		invalidParams.Add(request.NewErrParamRequired("IntegrationType"))
13594	}
13595	if s.SourceApplicationName == nil {
13596		invalidParams.Add(request.NewErrParamRequired("SourceApplicationName"))
13597	}
13598	if s.SourceApplicationName != nil && len(*s.SourceApplicationName) < 1 {
13599		invalidParams.Add(request.NewErrParamMinLen("SourceApplicationName", 1))
13600	}
13601	if s.SourceApplicationUrl == nil {
13602		invalidParams.Add(request.NewErrParamRequired("SourceApplicationUrl"))
13603	}
13604	if s.SourceApplicationUrl != nil && len(*s.SourceApplicationUrl) < 1 {
13605		invalidParams.Add(request.NewErrParamMinLen("SourceApplicationUrl", 1))
13606	}
13607	if s.SourceType == nil {
13608		invalidParams.Add(request.NewErrParamRequired("SourceType"))
13609	}
13610	if s.Tags != nil && len(s.Tags) < 1 {
13611		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
13612	}
13613
13614	if invalidParams.Len() > 0 {
13615		return invalidParams
13616	}
13617	return nil
13618}
13619
13620// SetInstanceId sets the InstanceId field's value.
13621func (s *CreateIntegrationAssociationInput) SetInstanceId(v string) *CreateIntegrationAssociationInput {
13622	s.InstanceId = &v
13623	return s
13624}
13625
13626// SetIntegrationArn sets the IntegrationArn field's value.
13627func (s *CreateIntegrationAssociationInput) SetIntegrationArn(v string) *CreateIntegrationAssociationInput {
13628	s.IntegrationArn = &v
13629	return s
13630}
13631
13632// SetIntegrationType sets the IntegrationType field's value.
13633func (s *CreateIntegrationAssociationInput) SetIntegrationType(v string) *CreateIntegrationAssociationInput {
13634	s.IntegrationType = &v
13635	return s
13636}
13637
13638// SetSourceApplicationName sets the SourceApplicationName field's value.
13639func (s *CreateIntegrationAssociationInput) SetSourceApplicationName(v string) *CreateIntegrationAssociationInput {
13640	s.SourceApplicationName = &v
13641	return s
13642}
13643
13644// SetSourceApplicationUrl sets the SourceApplicationUrl field's value.
13645func (s *CreateIntegrationAssociationInput) SetSourceApplicationUrl(v string) *CreateIntegrationAssociationInput {
13646	s.SourceApplicationUrl = &v
13647	return s
13648}
13649
13650// SetSourceType sets the SourceType field's value.
13651func (s *CreateIntegrationAssociationInput) SetSourceType(v string) *CreateIntegrationAssociationInput {
13652	s.SourceType = &v
13653	return s
13654}
13655
13656// SetTags sets the Tags field's value.
13657func (s *CreateIntegrationAssociationInput) SetTags(v map[string]*string) *CreateIntegrationAssociationInput {
13658	s.Tags = v
13659	return s
13660}
13661
13662type CreateIntegrationAssociationOutput struct {
13663	_ struct{} `type:"structure"`
13664
13665	// The Amazon Resource Name (ARN) for the association.
13666	IntegrationAssociationArn *string `type:"string"`
13667
13668	// The identifier for the association.
13669	IntegrationAssociationId *string `min:"1" type:"string"`
13670}
13671
13672// String returns the string representation
13673func (s CreateIntegrationAssociationOutput) String() string {
13674	return awsutil.Prettify(s)
13675}
13676
13677// GoString returns the string representation
13678func (s CreateIntegrationAssociationOutput) GoString() string {
13679	return s.String()
13680}
13681
13682// SetIntegrationAssociationArn sets the IntegrationAssociationArn field's value.
13683func (s *CreateIntegrationAssociationOutput) SetIntegrationAssociationArn(v string) *CreateIntegrationAssociationOutput {
13684	s.IntegrationAssociationArn = &v
13685	return s
13686}
13687
13688// SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
13689func (s *CreateIntegrationAssociationOutput) SetIntegrationAssociationId(v string) *CreateIntegrationAssociationOutput {
13690	s.IntegrationAssociationId = &v
13691	return s
13692}
13693
13694type CreateQueueInput struct {
13695	_ struct{} `type:"structure"`
13696
13697	// The description of the queue.
13698	Description *string `min:"1" type:"string"`
13699
13700	// The identifier for the hours of operation.
13701	//
13702	// HoursOfOperationId is a required field
13703	HoursOfOperationId *string `type:"string" required:"true"`
13704
13705	// The identifier of the Amazon Connect instance. You can find the instanceId
13706	// in the ARN of the instance.
13707	//
13708	// InstanceId is a required field
13709	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
13710
13711	// The maximum number of contacts that can be in the queue before it is considered
13712	// full.
13713	MaxContacts *int64 `type:"integer"`
13714
13715	// The name of the queue.
13716	//
13717	// Name is a required field
13718	Name *string `min:"1" type:"string" required:"true"`
13719
13720	// The outbound caller ID name, number, and outbound whisper flow.
13721	OutboundCallerConfig *OutboundCallerConfig `type:"structure"`
13722
13723	// The quick connects available to agents who are working the queue.
13724	QuickConnectIds []*string `min:"1" type:"list"`
13725
13726	// One or more tags.
13727	Tags map[string]*string `min:"1" type:"map"`
13728}
13729
13730// String returns the string representation
13731func (s CreateQueueInput) String() string {
13732	return awsutil.Prettify(s)
13733}
13734
13735// GoString returns the string representation
13736func (s CreateQueueInput) GoString() string {
13737	return s.String()
13738}
13739
13740// Validate inspects the fields of the type to determine if they are valid.
13741func (s *CreateQueueInput) Validate() error {
13742	invalidParams := request.ErrInvalidParams{Context: "CreateQueueInput"}
13743	if s.Description != nil && len(*s.Description) < 1 {
13744		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
13745	}
13746	if s.HoursOfOperationId == nil {
13747		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
13748	}
13749	if s.InstanceId == nil {
13750		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13751	}
13752	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
13753		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
13754	}
13755	if s.Name == nil {
13756		invalidParams.Add(request.NewErrParamRequired("Name"))
13757	}
13758	if s.Name != nil && len(*s.Name) < 1 {
13759		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13760	}
13761	if s.QuickConnectIds != nil && len(s.QuickConnectIds) < 1 {
13762		invalidParams.Add(request.NewErrParamMinLen("QuickConnectIds", 1))
13763	}
13764	if s.Tags != nil && len(s.Tags) < 1 {
13765		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
13766	}
13767	if s.OutboundCallerConfig != nil {
13768		if err := s.OutboundCallerConfig.Validate(); err != nil {
13769			invalidParams.AddNested("OutboundCallerConfig", err.(request.ErrInvalidParams))
13770		}
13771	}
13772
13773	if invalidParams.Len() > 0 {
13774		return invalidParams
13775	}
13776	return nil
13777}
13778
13779// SetDescription sets the Description field's value.
13780func (s *CreateQueueInput) SetDescription(v string) *CreateQueueInput {
13781	s.Description = &v
13782	return s
13783}
13784
13785// SetHoursOfOperationId sets the HoursOfOperationId field's value.
13786func (s *CreateQueueInput) SetHoursOfOperationId(v string) *CreateQueueInput {
13787	s.HoursOfOperationId = &v
13788	return s
13789}
13790
13791// SetInstanceId sets the InstanceId field's value.
13792func (s *CreateQueueInput) SetInstanceId(v string) *CreateQueueInput {
13793	s.InstanceId = &v
13794	return s
13795}
13796
13797// SetMaxContacts sets the MaxContacts field's value.
13798func (s *CreateQueueInput) SetMaxContacts(v int64) *CreateQueueInput {
13799	s.MaxContacts = &v
13800	return s
13801}
13802
13803// SetName sets the Name field's value.
13804func (s *CreateQueueInput) SetName(v string) *CreateQueueInput {
13805	s.Name = &v
13806	return s
13807}
13808
13809// SetOutboundCallerConfig sets the OutboundCallerConfig field's value.
13810func (s *CreateQueueInput) SetOutboundCallerConfig(v *OutboundCallerConfig) *CreateQueueInput {
13811	s.OutboundCallerConfig = v
13812	return s
13813}
13814
13815// SetQuickConnectIds sets the QuickConnectIds field's value.
13816func (s *CreateQueueInput) SetQuickConnectIds(v []*string) *CreateQueueInput {
13817	s.QuickConnectIds = v
13818	return s
13819}
13820
13821// SetTags sets the Tags field's value.
13822func (s *CreateQueueInput) SetTags(v map[string]*string) *CreateQueueInput {
13823	s.Tags = v
13824	return s
13825}
13826
13827type CreateQueueOutput struct {
13828	_ struct{} `type:"structure"`
13829
13830	// The Amazon Resource Name (ARN) of the queue.
13831	QueueArn *string `type:"string"`
13832
13833	// The identifier for the queue.
13834	QueueId *string `type:"string"`
13835}
13836
13837// String returns the string representation
13838func (s CreateQueueOutput) String() string {
13839	return awsutil.Prettify(s)
13840}
13841
13842// GoString returns the string representation
13843func (s CreateQueueOutput) GoString() string {
13844	return s.String()
13845}
13846
13847// SetQueueArn sets the QueueArn field's value.
13848func (s *CreateQueueOutput) SetQueueArn(v string) *CreateQueueOutput {
13849	s.QueueArn = &v
13850	return s
13851}
13852
13853// SetQueueId sets the QueueId field's value.
13854func (s *CreateQueueOutput) SetQueueId(v string) *CreateQueueOutput {
13855	s.QueueId = &v
13856	return s
13857}
13858
13859type CreateQuickConnectInput struct {
13860	_ struct{} `type:"structure"`
13861
13862	// The description of the quick connect.
13863	Description *string `min:"1" type:"string"`
13864
13865	// The identifier of the Amazon Connect instance. You can find the instanceId
13866	// in the ARN of the instance.
13867	//
13868	// InstanceId is a required field
13869	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
13870
13871	// The name of the quick connect.
13872	//
13873	// Name is a required field
13874	Name *string `min:"1" type:"string" required:"true"`
13875
13876	// Configuration settings for the quick connect.
13877	//
13878	// QuickConnectConfig is a required field
13879	QuickConnectConfig *QuickConnectConfig `type:"structure" required:"true"`
13880
13881	// One or more tags.
13882	Tags map[string]*string `min:"1" type:"map"`
13883}
13884
13885// String returns the string representation
13886func (s CreateQuickConnectInput) String() string {
13887	return awsutil.Prettify(s)
13888}
13889
13890// GoString returns the string representation
13891func (s CreateQuickConnectInput) GoString() string {
13892	return s.String()
13893}
13894
13895// Validate inspects the fields of the type to determine if they are valid.
13896func (s *CreateQuickConnectInput) Validate() error {
13897	invalidParams := request.ErrInvalidParams{Context: "CreateQuickConnectInput"}
13898	if s.Description != nil && len(*s.Description) < 1 {
13899		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
13900	}
13901	if s.InstanceId == nil {
13902		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
13903	}
13904	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
13905		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
13906	}
13907	if s.Name == nil {
13908		invalidParams.Add(request.NewErrParamRequired("Name"))
13909	}
13910	if s.Name != nil && len(*s.Name) < 1 {
13911		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13912	}
13913	if s.QuickConnectConfig == nil {
13914		invalidParams.Add(request.NewErrParamRequired("QuickConnectConfig"))
13915	}
13916	if s.Tags != nil && len(s.Tags) < 1 {
13917		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
13918	}
13919	if s.QuickConnectConfig != nil {
13920		if err := s.QuickConnectConfig.Validate(); err != nil {
13921			invalidParams.AddNested("QuickConnectConfig", err.(request.ErrInvalidParams))
13922		}
13923	}
13924
13925	if invalidParams.Len() > 0 {
13926		return invalidParams
13927	}
13928	return nil
13929}
13930
13931// SetDescription sets the Description field's value.
13932func (s *CreateQuickConnectInput) SetDescription(v string) *CreateQuickConnectInput {
13933	s.Description = &v
13934	return s
13935}
13936
13937// SetInstanceId sets the InstanceId field's value.
13938func (s *CreateQuickConnectInput) SetInstanceId(v string) *CreateQuickConnectInput {
13939	s.InstanceId = &v
13940	return s
13941}
13942
13943// SetName sets the Name field's value.
13944func (s *CreateQuickConnectInput) SetName(v string) *CreateQuickConnectInput {
13945	s.Name = &v
13946	return s
13947}
13948
13949// SetQuickConnectConfig sets the QuickConnectConfig field's value.
13950func (s *CreateQuickConnectInput) SetQuickConnectConfig(v *QuickConnectConfig) *CreateQuickConnectInput {
13951	s.QuickConnectConfig = v
13952	return s
13953}
13954
13955// SetTags sets the Tags field's value.
13956func (s *CreateQuickConnectInput) SetTags(v map[string]*string) *CreateQuickConnectInput {
13957	s.Tags = v
13958	return s
13959}
13960
13961type CreateQuickConnectOutput struct {
13962	_ struct{} `type:"structure"`
13963
13964	// The Amazon Resource Name (ARN) for the quick connect.
13965	QuickConnectARN *string `type:"string"`
13966
13967	// The identifier for the quick connect.
13968	QuickConnectId *string `type:"string"`
13969}
13970
13971// String returns the string representation
13972func (s CreateQuickConnectOutput) String() string {
13973	return awsutil.Prettify(s)
13974}
13975
13976// GoString returns the string representation
13977func (s CreateQuickConnectOutput) GoString() string {
13978	return s.String()
13979}
13980
13981// SetQuickConnectARN sets the QuickConnectARN field's value.
13982func (s *CreateQuickConnectOutput) SetQuickConnectARN(v string) *CreateQuickConnectOutput {
13983	s.QuickConnectARN = &v
13984	return s
13985}
13986
13987// SetQuickConnectId sets the QuickConnectId field's value.
13988func (s *CreateQuickConnectOutput) SetQuickConnectId(v string) *CreateQuickConnectOutput {
13989	s.QuickConnectId = &v
13990	return s
13991}
13992
13993type CreateRoutingProfileInput struct {
13994	_ struct{} `type:"structure"`
13995
13996	// The default outbound queue for the routing profile.
13997	//
13998	// DefaultOutboundQueueId is a required field
13999	DefaultOutboundQueueId *string `type:"string" required:"true"`
14000
14001	// Description of the routing profile. Must not be more than 250 characters.
14002	//
14003	// Description is a required field
14004	Description *string `min:"1" type:"string" required:"true"`
14005
14006	// The identifier of the Amazon Connect instance. You can find the instanceId
14007	// in the ARN of the instance.
14008	//
14009	// InstanceId is a required field
14010	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14011
14012	// The channels that agents can handle in the Contact Control Panel (CCP) for
14013	// this routing profile.
14014	//
14015	// MediaConcurrencies is a required field
14016	MediaConcurrencies []*MediaConcurrency `type:"list" required:"true"`
14017
14018	// The name of the routing profile. Must not be more than 127 characters.
14019	//
14020	// Name is a required field
14021	Name *string `min:"1" type:"string" required:"true"`
14022
14023	// The inbound queues associated with the routing profile. If no queue is added,
14024	// the agent can make only outbound calls.
14025	QueueConfigs []*RoutingProfileQueueConfig `min:"1" type:"list"`
14026
14027	// One or more tags.
14028	Tags map[string]*string `min:"1" type:"map"`
14029}
14030
14031// String returns the string representation
14032func (s CreateRoutingProfileInput) String() string {
14033	return awsutil.Prettify(s)
14034}
14035
14036// GoString returns the string representation
14037func (s CreateRoutingProfileInput) GoString() string {
14038	return s.String()
14039}
14040
14041// Validate inspects the fields of the type to determine if they are valid.
14042func (s *CreateRoutingProfileInput) Validate() error {
14043	invalidParams := request.ErrInvalidParams{Context: "CreateRoutingProfileInput"}
14044	if s.DefaultOutboundQueueId == nil {
14045		invalidParams.Add(request.NewErrParamRequired("DefaultOutboundQueueId"))
14046	}
14047	if s.Description == nil {
14048		invalidParams.Add(request.NewErrParamRequired("Description"))
14049	}
14050	if s.Description != nil && len(*s.Description) < 1 {
14051		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
14052	}
14053	if s.InstanceId == nil {
14054		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14055	}
14056	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14057		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14058	}
14059	if s.MediaConcurrencies == nil {
14060		invalidParams.Add(request.NewErrParamRequired("MediaConcurrencies"))
14061	}
14062	if s.Name == nil {
14063		invalidParams.Add(request.NewErrParamRequired("Name"))
14064	}
14065	if s.Name != nil && len(*s.Name) < 1 {
14066		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14067	}
14068	if s.QueueConfigs != nil && len(s.QueueConfigs) < 1 {
14069		invalidParams.Add(request.NewErrParamMinLen("QueueConfigs", 1))
14070	}
14071	if s.Tags != nil && len(s.Tags) < 1 {
14072		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
14073	}
14074	if s.MediaConcurrencies != nil {
14075		for i, v := range s.MediaConcurrencies {
14076			if v == nil {
14077				continue
14078			}
14079			if err := v.Validate(); err != nil {
14080				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaConcurrencies", i), err.(request.ErrInvalidParams))
14081			}
14082		}
14083	}
14084	if s.QueueConfigs != nil {
14085		for i, v := range s.QueueConfigs {
14086			if v == nil {
14087				continue
14088			}
14089			if err := v.Validate(); err != nil {
14090				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigs", i), err.(request.ErrInvalidParams))
14091			}
14092		}
14093	}
14094
14095	if invalidParams.Len() > 0 {
14096		return invalidParams
14097	}
14098	return nil
14099}
14100
14101// SetDefaultOutboundQueueId sets the DefaultOutboundQueueId field's value.
14102func (s *CreateRoutingProfileInput) SetDefaultOutboundQueueId(v string) *CreateRoutingProfileInput {
14103	s.DefaultOutboundQueueId = &v
14104	return s
14105}
14106
14107// SetDescription sets the Description field's value.
14108func (s *CreateRoutingProfileInput) SetDescription(v string) *CreateRoutingProfileInput {
14109	s.Description = &v
14110	return s
14111}
14112
14113// SetInstanceId sets the InstanceId field's value.
14114func (s *CreateRoutingProfileInput) SetInstanceId(v string) *CreateRoutingProfileInput {
14115	s.InstanceId = &v
14116	return s
14117}
14118
14119// SetMediaConcurrencies sets the MediaConcurrencies field's value.
14120func (s *CreateRoutingProfileInput) SetMediaConcurrencies(v []*MediaConcurrency) *CreateRoutingProfileInput {
14121	s.MediaConcurrencies = v
14122	return s
14123}
14124
14125// SetName sets the Name field's value.
14126func (s *CreateRoutingProfileInput) SetName(v string) *CreateRoutingProfileInput {
14127	s.Name = &v
14128	return s
14129}
14130
14131// SetQueueConfigs sets the QueueConfigs field's value.
14132func (s *CreateRoutingProfileInput) SetQueueConfigs(v []*RoutingProfileQueueConfig) *CreateRoutingProfileInput {
14133	s.QueueConfigs = v
14134	return s
14135}
14136
14137// SetTags sets the Tags field's value.
14138func (s *CreateRoutingProfileInput) SetTags(v map[string]*string) *CreateRoutingProfileInput {
14139	s.Tags = v
14140	return s
14141}
14142
14143type CreateRoutingProfileOutput struct {
14144	_ struct{} `type:"structure"`
14145
14146	// The Amazon Resource Name (ARN) of the routing profile.
14147	RoutingProfileArn *string `type:"string"`
14148
14149	// The identifier of the routing profile.
14150	RoutingProfileId *string `type:"string"`
14151}
14152
14153// String returns the string representation
14154func (s CreateRoutingProfileOutput) String() string {
14155	return awsutil.Prettify(s)
14156}
14157
14158// GoString returns the string representation
14159func (s CreateRoutingProfileOutput) GoString() string {
14160	return s.String()
14161}
14162
14163// SetRoutingProfileArn sets the RoutingProfileArn field's value.
14164func (s *CreateRoutingProfileOutput) SetRoutingProfileArn(v string) *CreateRoutingProfileOutput {
14165	s.RoutingProfileArn = &v
14166	return s
14167}
14168
14169// SetRoutingProfileId sets the RoutingProfileId field's value.
14170func (s *CreateRoutingProfileOutput) SetRoutingProfileId(v string) *CreateRoutingProfileOutput {
14171	s.RoutingProfileId = &v
14172	return s
14173}
14174
14175type CreateUseCaseInput struct {
14176	_ struct{} `type:"structure"`
14177
14178	// The identifier of the Amazon Connect instance. You can find the instanceId
14179	// in the ARN of the instance.
14180	//
14181	// InstanceId is a required field
14182	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14183
14184	// The identifier for the AppIntegration association.
14185	//
14186	// IntegrationAssociationId is a required field
14187	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
14188
14189	// One or more tags.
14190	Tags map[string]*string `min:"1" type:"map"`
14191
14192	// The type of use case to associate to the AppIntegration association. Each
14193	// AppIntegration association can have only one of each use case type.
14194	//
14195	// UseCaseType is a required field
14196	UseCaseType *string `type:"string" required:"true" enum:"UseCaseType"`
14197}
14198
14199// String returns the string representation
14200func (s CreateUseCaseInput) String() string {
14201	return awsutil.Prettify(s)
14202}
14203
14204// GoString returns the string representation
14205func (s CreateUseCaseInput) GoString() string {
14206	return s.String()
14207}
14208
14209// Validate inspects the fields of the type to determine if they are valid.
14210func (s *CreateUseCaseInput) Validate() error {
14211	invalidParams := request.ErrInvalidParams{Context: "CreateUseCaseInput"}
14212	if s.InstanceId == nil {
14213		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14214	}
14215	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14216		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14217	}
14218	if s.IntegrationAssociationId == nil {
14219		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
14220	}
14221	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
14222		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
14223	}
14224	if s.Tags != nil && len(s.Tags) < 1 {
14225		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
14226	}
14227	if s.UseCaseType == nil {
14228		invalidParams.Add(request.NewErrParamRequired("UseCaseType"))
14229	}
14230
14231	if invalidParams.Len() > 0 {
14232		return invalidParams
14233	}
14234	return nil
14235}
14236
14237// SetInstanceId sets the InstanceId field's value.
14238func (s *CreateUseCaseInput) SetInstanceId(v string) *CreateUseCaseInput {
14239	s.InstanceId = &v
14240	return s
14241}
14242
14243// SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
14244func (s *CreateUseCaseInput) SetIntegrationAssociationId(v string) *CreateUseCaseInput {
14245	s.IntegrationAssociationId = &v
14246	return s
14247}
14248
14249// SetTags sets the Tags field's value.
14250func (s *CreateUseCaseInput) SetTags(v map[string]*string) *CreateUseCaseInput {
14251	s.Tags = v
14252	return s
14253}
14254
14255// SetUseCaseType sets the UseCaseType field's value.
14256func (s *CreateUseCaseInput) SetUseCaseType(v string) *CreateUseCaseInput {
14257	s.UseCaseType = &v
14258	return s
14259}
14260
14261type CreateUseCaseOutput struct {
14262	_ struct{} `type:"structure"`
14263
14264	// The Amazon Resource Name (ARN) for the use case.
14265	UseCaseArn *string `type:"string"`
14266
14267	// The identifier of the use case.
14268	UseCaseId *string `min:"1" type:"string"`
14269}
14270
14271// String returns the string representation
14272func (s CreateUseCaseOutput) String() string {
14273	return awsutil.Prettify(s)
14274}
14275
14276// GoString returns the string representation
14277func (s CreateUseCaseOutput) GoString() string {
14278	return s.String()
14279}
14280
14281// SetUseCaseArn sets the UseCaseArn field's value.
14282func (s *CreateUseCaseOutput) SetUseCaseArn(v string) *CreateUseCaseOutput {
14283	s.UseCaseArn = &v
14284	return s
14285}
14286
14287// SetUseCaseId sets the UseCaseId field's value.
14288func (s *CreateUseCaseOutput) SetUseCaseId(v string) *CreateUseCaseOutput {
14289	s.UseCaseId = &v
14290	return s
14291}
14292
14293type CreateUserHierarchyGroupInput struct {
14294	_ struct{} `type:"structure"`
14295
14296	// The identifier of the Amazon Connect instance. You can find the instanceId
14297	// in the ARN of the instance.
14298	//
14299	// InstanceId is a required field
14300	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14301
14302	// The name of the user hierarchy group. Must not be more than 100 characters.
14303	//
14304	// Name is a required field
14305	Name *string `type:"string" required:"true"`
14306
14307	// The identifier for the parent hierarchy group. The user hierarchy is created
14308	// at level one if the parent group ID is null.
14309	ParentGroupId *string `type:"string"`
14310}
14311
14312// String returns the string representation
14313func (s CreateUserHierarchyGroupInput) String() string {
14314	return awsutil.Prettify(s)
14315}
14316
14317// GoString returns the string representation
14318func (s CreateUserHierarchyGroupInput) GoString() string {
14319	return s.String()
14320}
14321
14322// Validate inspects the fields of the type to determine if they are valid.
14323func (s *CreateUserHierarchyGroupInput) Validate() error {
14324	invalidParams := request.ErrInvalidParams{Context: "CreateUserHierarchyGroupInput"}
14325	if s.InstanceId == nil {
14326		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14327	}
14328	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14329		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14330	}
14331	if s.Name == nil {
14332		invalidParams.Add(request.NewErrParamRequired("Name"))
14333	}
14334
14335	if invalidParams.Len() > 0 {
14336		return invalidParams
14337	}
14338	return nil
14339}
14340
14341// SetInstanceId sets the InstanceId field's value.
14342func (s *CreateUserHierarchyGroupInput) SetInstanceId(v string) *CreateUserHierarchyGroupInput {
14343	s.InstanceId = &v
14344	return s
14345}
14346
14347// SetName sets the Name field's value.
14348func (s *CreateUserHierarchyGroupInput) SetName(v string) *CreateUserHierarchyGroupInput {
14349	s.Name = &v
14350	return s
14351}
14352
14353// SetParentGroupId sets the ParentGroupId field's value.
14354func (s *CreateUserHierarchyGroupInput) SetParentGroupId(v string) *CreateUserHierarchyGroupInput {
14355	s.ParentGroupId = &v
14356	return s
14357}
14358
14359type CreateUserHierarchyGroupOutput struct {
14360	_ struct{} `type:"structure"`
14361
14362	// The Amazon Resource Name (ARN) of the hierarchy group.
14363	HierarchyGroupArn *string `type:"string"`
14364
14365	// The identifier of the hierarchy group.
14366	HierarchyGroupId *string `type:"string"`
14367}
14368
14369// String returns the string representation
14370func (s CreateUserHierarchyGroupOutput) String() string {
14371	return awsutil.Prettify(s)
14372}
14373
14374// GoString returns the string representation
14375func (s CreateUserHierarchyGroupOutput) GoString() string {
14376	return s.String()
14377}
14378
14379// SetHierarchyGroupArn sets the HierarchyGroupArn field's value.
14380func (s *CreateUserHierarchyGroupOutput) SetHierarchyGroupArn(v string) *CreateUserHierarchyGroupOutput {
14381	s.HierarchyGroupArn = &v
14382	return s
14383}
14384
14385// SetHierarchyGroupId sets the HierarchyGroupId field's value.
14386func (s *CreateUserHierarchyGroupOutput) SetHierarchyGroupId(v string) *CreateUserHierarchyGroupOutput {
14387	s.HierarchyGroupId = &v
14388	return s
14389}
14390
14391type CreateUserInput struct {
14392	_ struct{} `type:"structure"`
14393
14394	// The identifier of the user account in the directory used for identity management.
14395	// If Amazon Connect cannot access the directory, you can specify this identifier
14396	// to authenticate users. If you include the identifier, we assume that Amazon
14397	// Connect cannot access the directory. Otherwise, the identity information
14398	// is used to authenticate users from your directory.
14399	//
14400	// This parameter is required if you are using an existing directory for identity
14401	// management in Amazon Connect when Amazon Connect cannot access your directory
14402	// to authenticate users. If you are using SAML for identity management and
14403	// include this parameter, an error is returned.
14404	DirectoryUserId *string `type:"string"`
14405
14406	// The identifier of the hierarchy group for the user.
14407	HierarchyGroupId *string `type:"string"`
14408
14409	// The information about the identity of the user.
14410	IdentityInfo *UserIdentityInfo `type:"structure"`
14411
14412	// The identifier of the Amazon Connect instance. You can find the instanceId
14413	// in the ARN of the instance.
14414	//
14415	// InstanceId is a required field
14416	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14417
14418	// The password for the user account. A password is required if you are using
14419	// Amazon Connect for identity management. Otherwise, it is an error to include
14420	// a password.
14421	Password *string `type:"string"`
14422
14423	// The phone settings for the user.
14424	//
14425	// PhoneConfig is a required field
14426	PhoneConfig *UserPhoneConfig `type:"structure" required:"true"`
14427
14428	// The identifier of the routing profile for the user.
14429	//
14430	// RoutingProfileId is a required field
14431	RoutingProfileId *string `type:"string" required:"true"`
14432
14433	// The identifier of the security profile for the user.
14434	//
14435	// SecurityProfileIds is a required field
14436	SecurityProfileIds []*string `min:"1" type:"list" required:"true"`
14437
14438	// One or more tags.
14439	Tags map[string]*string `min:"1" type:"map"`
14440
14441	// The user name for the account. For instances not using SAML for identity
14442	// management, the user name can include up to 20 characters. If you are using
14443	// SAML for identity management, the user name can include up to 64 characters
14444	// from [a-zA-Z0-9_-.\@]+.
14445	//
14446	// Username is a required field
14447	Username *string `min:"1" type:"string" required:"true"`
14448}
14449
14450// String returns the string representation
14451func (s CreateUserInput) String() string {
14452	return awsutil.Prettify(s)
14453}
14454
14455// GoString returns the string representation
14456func (s CreateUserInput) GoString() string {
14457	return s.String()
14458}
14459
14460// Validate inspects the fields of the type to determine if they are valid.
14461func (s *CreateUserInput) Validate() error {
14462	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
14463	if s.InstanceId == nil {
14464		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14465	}
14466	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14467		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14468	}
14469	if s.PhoneConfig == nil {
14470		invalidParams.Add(request.NewErrParamRequired("PhoneConfig"))
14471	}
14472	if s.RoutingProfileId == nil {
14473		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
14474	}
14475	if s.SecurityProfileIds == nil {
14476		invalidParams.Add(request.NewErrParamRequired("SecurityProfileIds"))
14477	}
14478	if s.SecurityProfileIds != nil && len(s.SecurityProfileIds) < 1 {
14479		invalidParams.Add(request.NewErrParamMinLen("SecurityProfileIds", 1))
14480	}
14481	if s.Tags != nil && len(s.Tags) < 1 {
14482		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
14483	}
14484	if s.Username == nil {
14485		invalidParams.Add(request.NewErrParamRequired("Username"))
14486	}
14487	if s.Username != nil && len(*s.Username) < 1 {
14488		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
14489	}
14490	if s.IdentityInfo != nil {
14491		if err := s.IdentityInfo.Validate(); err != nil {
14492			invalidParams.AddNested("IdentityInfo", err.(request.ErrInvalidParams))
14493		}
14494	}
14495	if s.PhoneConfig != nil {
14496		if err := s.PhoneConfig.Validate(); err != nil {
14497			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
14498		}
14499	}
14500
14501	if invalidParams.Len() > 0 {
14502		return invalidParams
14503	}
14504	return nil
14505}
14506
14507// SetDirectoryUserId sets the DirectoryUserId field's value.
14508func (s *CreateUserInput) SetDirectoryUserId(v string) *CreateUserInput {
14509	s.DirectoryUserId = &v
14510	return s
14511}
14512
14513// SetHierarchyGroupId sets the HierarchyGroupId field's value.
14514func (s *CreateUserInput) SetHierarchyGroupId(v string) *CreateUserInput {
14515	s.HierarchyGroupId = &v
14516	return s
14517}
14518
14519// SetIdentityInfo sets the IdentityInfo field's value.
14520func (s *CreateUserInput) SetIdentityInfo(v *UserIdentityInfo) *CreateUserInput {
14521	s.IdentityInfo = v
14522	return s
14523}
14524
14525// SetInstanceId sets the InstanceId field's value.
14526func (s *CreateUserInput) SetInstanceId(v string) *CreateUserInput {
14527	s.InstanceId = &v
14528	return s
14529}
14530
14531// SetPassword sets the Password field's value.
14532func (s *CreateUserInput) SetPassword(v string) *CreateUserInput {
14533	s.Password = &v
14534	return s
14535}
14536
14537// SetPhoneConfig sets the PhoneConfig field's value.
14538func (s *CreateUserInput) SetPhoneConfig(v *UserPhoneConfig) *CreateUserInput {
14539	s.PhoneConfig = v
14540	return s
14541}
14542
14543// SetRoutingProfileId sets the RoutingProfileId field's value.
14544func (s *CreateUserInput) SetRoutingProfileId(v string) *CreateUserInput {
14545	s.RoutingProfileId = &v
14546	return s
14547}
14548
14549// SetSecurityProfileIds sets the SecurityProfileIds field's value.
14550func (s *CreateUserInput) SetSecurityProfileIds(v []*string) *CreateUserInput {
14551	s.SecurityProfileIds = v
14552	return s
14553}
14554
14555// SetTags sets the Tags field's value.
14556func (s *CreateUserInput) SetTags(v map[string]*string) *CreateUserInput {
14557	s.Tags = v
14558	return s
14559}
14560
14561// SetUsername sets the Username field's value.
14562func (s *CreateUserInput) SetUsername(v string) *CreateUserInput {
14563	s.Username = &v
14564	return s
14565}
14566
14567type CreateUserOutput struct {
14568	_ struct{} `type:"structure"`
14569
14570	// The Amazon Resource Name (ARN) of the user account.
14571	UserArn *string `type:"string"`
14572
14573	// The identifier of the user account.
14574	UserId *string `type:"string"`
14575}
14576
14577// String returns the string representation
14578func (s CreateUserOutput) String() string {
14579	return awsutil.Prettify(s)
14580}
14581
14582// GoString returns the string representation
14583func (s CreateUserOutput) GoString() string {
14584	return s.String()
14585}
14586
14587// SetUserArn sets the UserArn field's value.
14588func (s *CreateUserOutput) SetUserArn(v string) *CreateUserOutput {
14589	s.UserArn = &v
14590	return s
14591}
14592
14593// SetUserId sets the UserId field's value.
14594func (s *CreateUserOutput) SetUserId(v string) *CreateUserOutput {
14595	s.UserId = &v
14596	return s
14597}
14598
14599// Contains credentials to use for federation.
14600type Credentials struct {
14601	_ struct{} `type:"structure"`
14602
14603	// An access token generated for a federated user to access Amazon Connect.
14604	AccessToken *string `type:"string" sensitive:"true"`
14605
14606	// A token generated with an expiration time for the session a user is logged
14607	// in to Amazon Connect.
14608	AccessTokenExpiration *time.Time `type:"timestamp"`
14609
14610	// Renews a token generated for a user to access the Amazon Connect instance.
14611	RefreshToken *string `type:"string" sensitive:"true"`
14612
14613	// Renews the expiration timer for a generated token.
14614	RefreshTokenExpiration *time.Time `type:"timestamp"`
14615}
14616
14617// String returns the string representation
14618func (s Credentials) String() string {
14619	return awsutil.Prettify(s)
14620}
14621
14622// GoString returns the string representation
14623func (s Credentials) GoString() string {
14624	return s.String()
14625}
14626
14627// SetAccessToken sets the AccessToken field's value.
14628func (s *Credentials) SetAccessToken(v string) *Credentials {
14629	s.AccessToken = &v
14630	return s
14631}
14632
14633// SetAccessTokenExpiration sets the AccessTokenExpiration field's value.
14634func (s *Credentials) SetAccessTokenExpiration(v time.Time) *Credentials {
14635	s.AccessTokenExpiration = &v
14636	return s
14637}
14638
14639// SetRefreshToken sets the RefreshToken field's value.
14640func (s *Credentials) SetRefreshToken(v string) *Credentials {
14641	s.RefreshToken = &v
14642	return s
14643}
14644
14645// SetRefreshTokenExpiration sets the RefreshTokenExpiration field's value.
14646func (s *Credentials) SetRefreshTokenExpiration(v time.Time) *Credentials {
14647	s.RefreshTokenExpiration = &v
14648	return s
14649}
14650
14651// Contains information about a real-time metric. For a description of each
14652// metric, see Real-time Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html)
14653// in the Amazon Connect Administrator Guide.
14654type CurrentMetric struct {
14655	_ struct{} `type:"structure"`
14656
14657	// The name of the metric.
14658	Name *string `type:"string" enum:"CurrentMetricName"`
14659
14660	// The unit for the metric.
14661	Unit *string `type:"string" enum:"Unit"`
14662}
14663
14664// String returns the string representation
14665func (s CurrentMetric) String() string {
14666	return awsutil.Prettify(s)
14667}
14668
14669// GoString returns the string representation
14670func (s CurrentMetric) GoString() string {
14671	return s.String()
14672}
14673
14674// SetName sets the Name field's value.
14675func (s *CurrentMetric) SetName(v string) *CurrentMetric {
14676	s.Name = &v
14677	return s
14678}
14679
14680// SetUnit sets the Unit field's value.
14681func (s *CurrentMetric) SetUnit(v string) *CurrentMetric {
14682	s.Unit = &v
14683	return s
14684}
14685
14686// Contains the data for a real-time metric.
14687type CurrentMetricData struct {
14688	_ struct{} `type:"structure"`
14689
14690	// Information about the metric.
14691	Metric *CurrentMetric `type:"structure"`
14692
14693	// The value of the metric.
14694	Value *float64 `type:"double"`
14695}
14696
14697// String returns the string representation
14698func (s CurrentMetricData) String() string {
14699	return awsutil.Prettify(s)
14700}
14701
14702// GoString returns the string representation
14703func (s CurrentMetricData) GoString() string {
14704	return s.String()
14705}
14706
14707// SetMetric sets the Metric field's value.
14708func (s *CurrentMetricData) SetMetric(v *CurrentMetric) *CurrentMetricData {
14709	s.Metric = v
14710	return s
14711}
14712
14713// SetValue sets the Value field's value.
14714func (s *CurrentMetricData) SetValue(v float64) *CurrentMetricData {
14715	s.Value = &v
14716	return s
14717}
14718
14719// Contains information about a set of real-time metrics.
14720type CurrentMetricResult struct {
14721	_ struct{} `type:"structure"`
14722
14723	// The set of metrics.
14724	Collections []*CurrentMetricData `type:"list"`
14725
14726	// The dimensions for the metrics.
14727	Dimensions *Dimensions `type:"structure"`
14728}
14729
14730// String returns the string representation
14731func (s CurrentMetricResult) String() string {
14732	return awsutil.Prettify(s)
14733}
14734
14735// GoString returns the string representation
14736func (s CurrentMetricResult) GoString() string {
14737	return s.String()
14738}
14739
14740// SetCollections sets the Collections field's value.
14741func (s *CurrentMetricResult) SetCollections(v []*CurrentMetricData) *CurrentMetricResult {
14742	s.Collections = v
14743	return s
14744}
14745
14746// SetDimensions sets the Dimensions field's value.
14747func (s *CurrentMetricResult) SetDimensions(v *Dimensions) *CurrentMetricResult {
14748	s.Dimensions = v
14749	return s
14750}
14751
14752type DeleteHoursOfOperationInput struct {
14753	_ struct{} `type:"structure"`
14754
14755	// The identifier for the hours of operation.
14756	//
14757	// HoursOfOperationId is a required field
14758	HoursOfOperationId *string `location:"uri" locationName:"HoursOfOperationId" type:"string" required:"true"`
14759
14760	// The identifier of the Amazon Connect instance. You can find the instanceId
14761	// in the ARN of the instance.
14762	//
14763	// InstanceId is a required field
14764	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14765}
14766
14767// String returns the string representation
14768func (s DeleteHoursOfOperationInput) String() string {
14769	return awsutil.Prettify(s)
14770}
14771
14772// GoString returns the string representation
14773func (s DeleteHoursOfOperationInput) GoString() string {
14774	return s.String()
14775}
14776
14777// Validate inspects the fields of the type to determine if they are valid.
14778func (s *DeleteHoursOfOperationInput) Validate() error {
14779	invalidParams := request.ErrInvalidParams{Context: "DeleteHoursOfOperationInput"}
14780	if s.HoursOfOperationId == nil {
14781		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
14782	}
14783	if s.HoursOfOperationId != nil && len(*s.HoursOfOperationId) < 1 {
14784		invalidParams.Add(request.NewErrParamMinLen("HoursOfOperationId", 1))
14785	}
14786	if s.InstanceId == nil {
14787		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14788	}
14789	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14790		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14791	}
14792
14793	if invalidParams.Len() > 0 {
14794		return invalidParams
14795	}
14796	return nil
14797}
14798
14799// SetHoursOfOperationId sets the HoursOfOperationId field's value.
14800func (s *DeleteHoursOfOperationInput) SetHoursOfOperationId(v string) *DeleteHoursOfOperationInput {
14801	s.HoursOfOperationId = &v
14802	return s
14803}
14804
14805// SetInstanceId sets the InstanceId field's value.
14806func (s *DeleteHoursOfOperationInput) SetInstanceId(v string) *DeleteHoursOfOperationInput {
14807	s.InstanceId = &v
14808	return s
14809}
14810
14811type DeleteHoursOfOperationOutput struct {
14812	_ struct{} `type:"structure"`
14813}
14814
14815// String returns the string representation
14816func (s DeleteHoursOfOperationOutput) String() string {
14817	return awsutil.Prettify(s)
14818}
14819
14820// GoString returns the string representation
14821func (s DeleteHoursOfOperationOutput) GoString() string {
14822	return s.String()
14823}
14824
14825type DeleteInstanceInput struct {
14826	_ struct{} `type:"structure"`
14827
14828	// The identifier of the Amazon Connect instance. You can find the instanceId
14829	// in the ARN of the instance.
14830	//
14831	// InstanceId is a required field
14832	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14833}
14834
14835// String returns the string representation
14836func (s DeleteInstanceInput) String() string {
14837	return awsutil.Prettify(s)
14838}
14839
14840// GoString returns the string representation
14841func (s DeleteInstanceInput) GoString() string {
14842	return s.String()
14843}
14844
14845// Validate inspects the fields of the type to determine if they are valid.
14846func (s *DeleteInstanceInput) Validate() error {
14847	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
14848	if s.InstanceId == nil {
14849		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14850	}
14851	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14852		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14853	}
14854
14855	if invalidParams.Len() > 0 {
14856		return invalidParams
14857	}
14858	return nil
14859}
14860
14861// SetInstanceId sets the InstanceId field's value.
14862func (s *DeleteInstanceInput) SetInstanceId(v string) *DeleteInstanceInput {
14863	s.InstanceId = &v
14864	return s
14865}
14866
14867type DeleteInstanceOutput struct {
14868	_ struct{} `type:"structure"`
14869}
14870
14871// String returns the string representation
14872func (s DeleteInstanceOutput) String() string {
14873	return awsutil.Prettify(s)
14874}
14875
14876// GoString returns the string representation
14877func (s DeleteInstanceOutput) GoString() string {
14878	return s.String()
14879}
14880
14881type DeleteIntegrationAssociationInput struct {
14882	_ struct{} `type:"structure"`
14883
14884	// The identifier of the Amazon Connect instance. You can find the instanceId
14885	// in the ARN of the instance.
14886	//
14887	// InstanceId is a required field
14888	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14889
14890	// The identifier for the AppIntegration association.
14891	//
14892	// IntegrationAssociationId is a required field
14893	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
14894}
14895
14896// String returns the string representation
14897func (s DeleteIntegrationAssociationInput) String() string {
14898	return awsutil.Prettify(s)
14899}
14900
14901// GoString returns the string representation
14902func (s DeleteIntegrationAssociationInput) GoString() string {
14903	return s.String()
14904}
14905
14906// Validate inspects the fields of the type to determine if they are valid.
14907func (s *DeleteIntegrationAssociationInput) Validate() error {
14908	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationAssociationInput"}
14909	if s.InstanceId == nil {
14910		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14911	}
14912	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14913		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14914	}
14915	if s.IntegrationAssociationId == nil {
14916		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
14917	}
14918	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
14919		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
14920	}
14921
14922	if invalidParams.Len() > 0 {
14923		return invalidParams
14924	}
14925	return nil
14926}
14927
14928// SetInstanceId sets the InstanceId field's value.
14929func (s *DeleteIntegrationAssociationInput) SetInstanceId(v string) *DeleteIntegrationAssociationInput {
14930	s.InstanceId = &v
14931	return s
14932}
14933
14934// SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
14935func (s *DeleteIntegrationAssociationInput) SetIntegrationAssociationId(v string) *DeleteIntegrationAssociationInput {
14936	s.IntegrationAssociationId = &v
14937	return s
14938}
14939
14940type DeleteIntegrationAssociationOutput struct {
14941	_ struct{} `type:"structure"`
14942}
14943
14944// String returns the string representation
14945func (s DeleteIntegrationAssociationOutput) String() string {
14946	return awsutil.Prettify(s)
14947}
14948
14949// GoString returns the string representation
14950func (s DeleteIntegrationAssociationOutput) GoString() string {
14951	return s.String()
14952}
14953
14954type DeleteQuickConnectInput struct {
14955	_ struct{} `type:"structure"`
14956
14957	// The identifier of the Amazon Connect instance. You can find the instanceId
14958	// in the ARN of the instance.
14959	//
14960	// InstanceId is a required field
14961	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
14962
14963	// The identifier for the quick connect.
14964	//
14965	// QuickConnectId is a required field
14966	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
14967}
14968
14969// String returns the string representation
14970func (s DeleteQuickConnectInput) String() string {
14971	return awsutil.Prettify(s)
14972}
14973
14974// GoString returns the string representation
14975func (s DeleteQuickConnectInput) GoString() string {
14976	return s.String()
14977}
14978
14979// Validate inspects the fields of the type to determine if they are valid.
14980func (s *DeleteQuickConnectInput) Validate() error {
14981	invalidParams := request.ErrInvalidParams{Context: "DeleteQuickConnectInput"}
14982	if s.InstanceId == nil {
14983		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14984	}
14985	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
14986		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
14987	}
14988	if s.QuickConnectId == nil {
14989		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
14990	}
14991	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
14992		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
14993	}
14994
14995	if invalidParams.Len() > 0 {
14996		return invalidParams
14997	}
14998	return nil
14999}
15000
15001// SetInstanceId sets the InstanceId field's value.
15002func (s *DeleteQuickConnectInput) SetInstanceId(v string) *DeleteQuickConnectInput {
15003	s.InstanceId = &v
15004	return s
15005}
15006
15007// SetQuickConnectId sets the QuickConnectId field's value.
15008func (s *DeleteQuickConnectInput) SetQuickConnectId(v string) *DeleteQuickConnectInput {
15009	s.QuickConnectId = &v
15010	return s
15011}
15012
15013type DeleteQuickConnectOutput struct {
15014	_ struct{} `type:"structure"`
15015}
15016
15017// String returns the string representation
15018func (s DeleteQuickConnectOutput) String() string {
15019	return awsutil.Prettify(s)
15020}
15021
15022// GoString returns the string representation
15023func (s DeleteQuickConnectOutput) GoString() string {
15024	return s.String()
15025}
15026
15027type DeleteUseCaseInput struct {
15028	_ struct{} `type:"structure"`
15029
15030	// The identifier of the Amazon Connect instance. You can find the instanceId
15031	// in the ARN of the instance.
15032	//
15033	// InstanceId is a required field
15034	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15035
15036	// The identifier for the AppIntegration association.
15037	//
15038	// IntegrationAssociationId is a required field
15039	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
15040
15041	// The identifier for the use case.
15042	//
15043	// UseCaseId is a required field
15044	UseCaseId *string `location:"uri" locationName:"UseCaseId" min:"1" type:"string" required:"true"`
15045}
15046
15047// String returns the string representation
15048func (s DeleteUseCaseInput) String() string {
15049	return awsutil.Prettify(s)
15050}
15051
15052// GoString returns the string representation
15053func (s DeleteUseCaseInput) GoString() string {
15054	return s.String()
15055}
15056
15057// Validate inspects the fields of the type to determine if they are valid.
15058func (s *DeleteUseCaseInput) Validate() error {
15059	invalidParams := request.ErrInvalidParams{Context: "DeleteUseCaseInput"}
15060	if s.InstanceId == nil {
15061		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15062	}
15063	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15064		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15065	}
15066	if s.IntegrationAssociationId == nil {
15067		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
15068	}
15069	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
15070		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
15071	}
15072	if s.UseCaseId == nil {
15073		invalidParams.Add(request.NewErrParamRequired("UseCaseId"))
15074	}
15075	if s.UseCaseId != nil && len(*s.UseCaseId) < 1 {
15076		invalidParams.Add(request.NewErrParamMinLen("UseCaseId", 1))
15077	}
15078
15079	if invalidParams.Len() > 0 {
15080		return invalidParams
15081	}
15082	return nil
15083}
15084
15085// SetInstanceId sets the InstanceId field's value.
15086func (s *DeleteUseCaseInput) SetInstanceId(v string) *DeleteUseCaseInput {
15087	s.InstanceId = &v
15088	return s
15089}
15090
15091// SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
15092func (s *DeleteUseCaseInput) SetIntegrationAssociationId(v string) *DeleteUseCaseInput {
15093	s.IntegrationAssociationId = &v
15094	return s
15095}
15096
15097// SetUseCaseId sets the UseCaseId field's value.
15098func (s *DeleteUseCaseInput) SetUseCaseId(v string) *DeleteUseCaseInput {
15099	s.UseCaseId = &v
15100	return s
15101}
15102
15103type DeleteUseCaseOutput struct {
15104	_ struct{} `type:"structure"`
15105}
15106
15107// String returns the string representation
15108func (s DeleteUseCaseOutput) String() string {
15109	return awsutil.Prettify(s)
15110}
15111
15112// GoString returns the string representation
15113func (s DeleteUseCaseOutput) GoString() string {
15114	return s.String()
15115}
15116
15117type DeleteUserHierarchyGroupInput struct {
15118	_ struct{} `type:"structure"`
15119
15120	// The identifier of the hierarchy group.
15121	//
15122	// HierarchyGroupId is a required field
15123	HierarchyGroupId *string `location:"uri" locationName:"HierarchyGroupId" type:"string" required:"true"`
15124
15125	// The identifier of the Amazon Connect instance. You can find the instanceId
15126	// in the ARN of the instance.
15127	//
15128	// InstanceId is a required field
15129	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15130}
15131
15132// String returns the string representation
15133func (s DeleteUserHierarchyGroupInput) String() string {
15134	return awsutil.Prettify(s)
15135}
15136
15137// GoString returns the string representation
15138func (s DeleteUserHierarchyGroupInput) GoString() string {
15139	return s.String()
15140}
15141
15142// Validate inspects the fields of the type to determine if they are valid.
15143func (s *DeleteUserHierarchyGroupInput) Validate() error {
15144	invalidParams := request.ErrInvalidParams{Context: "DeleteUserHierarchyGroupInput"}
15145	if s.HierarchyGroupId == nil {
15146		invalidParams.Add(request.NewErrParamRequired("HierarchyGroupId"))
15147	}
15148	if s.HierarchyGroupId != nil && len(*s.HierarchyGroupId) < 1 {
15149		invalidParams.Add(request.NewErrParamMinLen("HierarchyGroupId", 1))
15150	}
15151	if s.InstanceId == nil {
15152		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15153	}
15154	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15155		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15156	}
15157
15158	if invalidParams.Len() > 0 {
15159		return invalidParams
15160	}
15161	return nil
15162}
15163
15164// SetHierarchyGroupId sets the HierarchyGroupId field's value.
15165func (s *DeleteUserHierarchyGroupInput) SetHierarchyGroupId(v string) *DeleteUserHierarchyGroupInput {
15166	s.HierarchyGroupId = &v
15167	return s
15168}
15169
15170// SetInstanceId sets the InstanceId field's value.
15171func (s *DeleteUserHierarchyGroupInput) SetInstanceId(v string) *DeleteUserHierarchyGroupInput {
15172	s.InstanceId = &v
15173	return s
15174}
15175
15176type DeleteUserHierarchyGroupOutput struct {
15177	_ struct{} `type:"structure"`
15178}
15179
15180// String returns the string representation
15181func (s DeleteUserHierarchyGroupOutput) String() string {
15182	return awsutil.Prettify(s)
15183}
15184
15185// GoString returns the string representation
15186func (s DeleteUserHierarchyGroupOutput) GoString() string {
15187	return s.String()
15188}
15189
15190type DeleteUserInput struct {
15191	_ struct{} `type:"structure"`
15192
15193	// The identifier of the Amazon Connect instance. You can find the instanceId
15194	// in the ARN of the instance.
15195	//
15196	// InstanceId is a required field
15197	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15198
15199	// The identifier of the user.
15200	//
15201	// UserId is a required field
15202	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
15203}
15204
15205// String returns the string representation
15206func (s DeleteUserInput) String() string {
15207	return awsutil.Prettify(s)
15208}
15209
15210// GoString returns the string representation
15211func (s DeleteUserInput) GoString() string {
15212	return s.String()
15213}
15214
15215// Validate inspects the fields of the type to determine if they are valid.
15216func (s *DeleteUserInput) Validate() error {
15217	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
15218	if s.InstanceId == nil {
15219		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15220	}
15221	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15222		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15223	}
15224	if s.UserId == nil {
15225		invalidParams.Add(request.NewErrParamRequired("UserId"))
15226	}
15227	if s.UserId != nil && len(*s.UserId) < 1 {
15228		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
15229	}
15230
15231	if invalidParams.Len() > 0 {
15232		return invalidParams
15233	}
15234	return nil
15235}
15236
15237// SetInstanceId sets the InstanceId field's value.
15238func (s *DeleteUserInput) SetInstanceId(v string) *DeleteUserInput {
15239	s.InstanceId = &v
15240	return s
15241}
15242
15243// SetUserId sets the UserId field's value.
15244func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput {
15245	s.UserId = &v
15246	return s
15247}
15248
15249type DeleteUserOutput struct {
15250	_ struct{} `type:"structure"`
15251}
15252
15253// String returns the string representation
15254func (s DeleteUserOutput) String() string {
15255	return awsutil.Prettify(s)
15256}
15257
15258// GoString returns the string representation
15259func (s DeleteUserOutput) GoString() string {
15260	return s.String()
15261}
15262
15263type DescribeAgentStatusInput struct {
15264	_ struct{} `type:"structure"`
15265
15266	// The identifier for the agent status.
15267	//
15268	// AgentStatusId is a required field
15269	AgentStatusId *string `location:"uri" locationName:"AgentStatusId" type:"string" required:"true"`
15270
15271	// The identifier of the Amazon Connect instance. You can find the instanceId
15272	// in the ARN of the instance.
15273	//
15274	// InstanceId is a required field
15275	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15276}
15277
15278// String returns the string representation
15279func (s DescribeAgentStatusInput) String() string {
15280	return awsutil.Prettify(s)
15281}
15282
15283// GoString returns the string representation
15284func (s DescribeAgentStatusInput) GoString() string {
15285	return s.String()
15286}
15287
15288// Validate inspects the fields of the type to determine if they are valid.
15289func (s *DescribeAgentStatusInput) Validate() error {
15290	invalidParams := request.ErrInvalidParams{Context: "DescribeAgentStatusInput"}
15291	if s.AgentStatusId == nil {
15292		invalidParams.Add(request.NewErrParamRequired("AgentStatusId"))
15293	}
15294	if s.AgentStatusId != nil && len(*s.AgentStatusId) < 1 {
15295		invalidParams.Add(request.NewErrParamMinLen("AgentStatusId", 1))
15296	}
15297	if s.InstanceId == nil {
15298		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15299	}
15300	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15301		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15302	}
15303
15304	if invalidParams.Len() > 0 {
15305		return invalidParams
15306	}
15307	return nil
15308}
15309
15310// SetAgentStatusId sets the AgentStatusId field's value.
15311func (s *DescribeAgentStatusInput) SetAgentStatusId(v string) *DescribeAgentStatusInput {
15312	s.AgentStatusId = &v
15313	return s
15314}
15315
15316// SetInstanceId sets the InstanceId field's value.
15317func (s *DescribeAgentStatusInput) SetInstanceId(v string) *DescribeAgentStatusInput {
15318	s.InstanceId = &v
15319	return s
15320}
15321
15322type DescribeAgentStatusOutput struct {
15323	_ struct{} `type:"structure"`
15324
15325	// The agent status.
15326	AgentStatus *AgentStatus `type:"structure"`
15327}
15328
15329// String returns the string representation
15330func (s DescribeAgentStatusOutput) String() string {
15331	return awsutil.Prettify(s)
15332}
15333
15334// GoString returns the string representation
15335func (s DescribeAgentStatusOutput) GoString() string {
15336	return s.String()
15337}
15338
15339// SetAgentStatus sets the AgentStatus field's value.
15340func (s *DescribeAgentStatusOutput) SetAgentStatus(v *AgentStatus) *DescribeAgentStatusOutput {
15341	s.AgentStatus = v
15342	return s
15343}
15344
15345type DescribeContactFlowInput struct {
15346	_ struct{} `type:"structure"`
15347
15348	// The identifier of the contact flow.
15349	//
15350	// ContactFlowId is a required field
15351	ContactFlowId *string `location:"uri" locationName:"ContactFlowId" type:"string" required:"true"`
15352
15353	// The identifier of the Amazon Connect instance.
15354	//
15355	// InstanceId is a required field
15356	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15357}
15358
15359// String returns the string representation
15360func (s DescribeContactFlowInput) String() string {
15361	return awsutil.Prettify(s)
15362}
15363
15364// GoString returns the string representation
15365func (s DescribeContactFlowInput) GoString() string {
15366	return s.String()
15367}
15368
15369// Validate inspects the fields of the type to determine if they are valid.
15370func (s *DescribeContactFlowInput) Validate() error {
15371	invalidParams := request.ErrInvalidParams{Context: "DescribeContactFlowInput"}
15372	if s.ContactFlowId == nil {
15373		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
15374	}
15375	if s.ContactFlowId != nil && len(*s.ContactFlowId) < 1 {
15376		invalidParams.Add(request.NewErrParamMinLen("ContactFlowId", 1))
15377	}
15378	if s.InstanceId == nil {
15379		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15380	}
15381	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15382		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15383	}
15384
15385	if invalidParams.Len() > 0 {
15386		return invalidParams
15387	}
15388	return nil
15389}
15390
15391// SetContactFlowId sets the ContactFlowId field's value.
15392func (s *DescribeContactFlowInput) SetContactFlowId(v string) *DescribeContactFlowInput {
15393	s.ContactFlowId = &v
15394	return s
15395}
15396
15397// SetInstanceId sets the InstanceId field's value.
15398func (s *DescribeContactFlowInput) SetInstanceId(v string) *DescribeContactFlowInput {
15399	s.InstanceId = &v
15400	return s
15401}
15402
15403type DescribeContactFlowOutput struct {
15404	_ struct{} `type:"structure"`
15405
15406	// Information about the contact flow.
15407	ContactFlow *ContactFlow `type:"structure"`
15408}
15409
15410// String returns the string representation
15411func (s DescribeContactFlowOutput) String() string {
15412	return awsutil.Prettify(s)
15413}
15414
15415// GoString returns the string representation
15416func (s DescribeContactFlowOutput) GoString() string {
15417	return s.String()
15418}
15419
15420// SetContactFlow sets the ContactFlow field's value.
15421func (s *DescribeContactFlowOutput) SetContactFlow(v *ContactFlow) *DescribeContactFlowOutput {
15422	s.ContactFlow = v
15423	return s
15424}
15425
15426type DescribeHoursOfOperationInput struct {
15427	_ struct{} `type:"structure"`
15428
15429	// The identifier for the hours of operation.
15430	//
15431	// HoursOfOperationId is a required field
15432	HoursOfOperationId *string `location:"uri" locationName:"HoursOfOperationId" type:"string" required:"true"`
15433
15434	// The identifier of the Amazon Connect instance. You can find the instanceId
15435	// in the ARN of the instance.
15436	//
15437	// InstanceId is a required field
15438	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15439}
15440
15441// String returns the string representation
15442func (s DescribeHoursOfOperationInput) String() string {
15443	return awsutil.Prettify(s)
15444}
15445
15446// GoString returns the string representation
15447func (s DescribeHoursOfOperationInput) GoString() string {
15448	return s.String()
15449}
15450
15451// Validate inspects the fields of the type to determine if they are valid.
15452func (s *DescribeHoursOfOperationInput) Validate() error {
15453	invalidParams := request.ErrInvalidParams{Context: "DescribeHoursOfOperationInput"}
15454	if s.HoursOfOperationId == nil {
15455		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
15456	}
15457	if s.HoursOfOperationId != nil && len(*s.HoursOfOperationId) < 1 {
15458		invalidParams.Add(request.NewErrParamMinLen("HoursOfOperationId", 1))
15459	}
15460	if s.InstanceId == nil {
15461		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15462	}
15463	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15464		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15465	}
15466
15467	if invalidParams.Len() > 0 {
15468		return invalidParams
15469	}
15470	return nil
15471}
15472
15473// SetHoursOfOperationId sets the HoursOfOperationId field's value.
15474func (s *DescribeHoursOfOperationInput) SetHoursOfOperationId(v string) *DescribeHoursOfOperationInput {
15475	s.HoursOfOperationId = &v
15476	return s
15477}
15478
15479// SetInstanceId sets the InstanceId field's value.
15480func (s *DescribeHoursOfOperationInput) SetInstanceId(v string) *DescribeHoursOfOperationInput {
15481	s.InstanceId = &v
15482	return s
15483}
15484
15485type DescribeHoursOfOperationOutput struct {
15486	_ struct{} `type:"structure"`
15487
15488	// The hours of operation.
15489	HoursOfOperation *HoursOfOperation `type:"structure"`
15490}
15491
15492// String returns the string representation
15493func (s DescribeHoursOfOperationOutput) String() string {
15494	return awsutil.Prettify(s)
15495}
15496
15497// GoString returns the string representation
15498func (s DescribeHoursOfOperationOutput) GoString() string {
15499	return s.String()
15500}
15501
15502// SetHoursOfOperation sets the HoursOfOperation field's value.
15503func (s *DescribeHoursOfOperationOutput) SetHoursOfOperation(v *HoursOfOperation) *DescribeHoursOfOperationOutput {
15504	s.HoursOfOperation = v
15505	return s
15506}
15507
15508type DescribeInstanceAttributeInput struct {
15509	_ struct{} `type:"structure"`
15510
15511	// The type of attribute.
15512	//
15513	// AttributeType is a required field
15514	AttributeType *string `location:"uri" locationName:"AttributeType" type:"string" required:"true" enum:"InstanceAttributeType"`
15515
15516	// The identifier of the Amazon Connect instance. You can find the instanceId
15517	// in the ARN of the instance.
15518	//
15519	// InstanceId is a required field
15520	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15521}
15522
15523// String returns the string representation
15524func (s DescribeInstanceAttributeInput) String() string {
15525	return awsutil.Prettify(s)
15526}
15527
15528// GoString returns the string representation
15529func (s DescribeInstanceAttributeInput) GoString() string {
15530	return s.String()
15531}
15532
15533// Validate inspects the fields of the type to determine if they are valid.
15534func (s *DescribeInstanceAttributeInput) Validate() error {
15535	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
15536	if s.AttributeType == nil {
15537		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
15538	}
15539	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
15540		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
15541	}
15542	if s.InstanceId == nil {
15543		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15544	}
15545	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15546		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15547	}
15548
15549	if invalidParams.Len() > 0 {
15550		return invalidParams
15551	}
15552	return nil
15553}
15554
15555// SetAttributeType sets the AttributeType field's value.
15556func (s *DescribeInstanceAttributeInput) SetAttributeType(v string) *DescribeInstanceAttributeInput {
15557	s.AttributeType = &v
15558	return s
15559}
15560
15561// SetInstanceId sets the InstanceId field's value.
15562func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
15563	s.InstanceId = &v
15564	return s
15565}
15566
15567type DescribeInstanceAttributeOutput struct {
15568	_ struct{} `type:"structure"`
15569
15570	// The type of attribute.
15571	Attribute *Attribute `type:"structure"`
15572}
15573
15574// String returns the string representation
15575func (s DescribeInstanceAttributeOutput) String() string {
15576	return awsutil.Prettify(s)
15577}
15578
15579// GoString returns the string representation
15580func (s DescribeInstanceAttributeOutput) GoString() string {
15581	return s.String()
15582}
15583
15584// SetAttribute sets the Attribute field's value.
15585func (s *DescribeInstanceAttributeOutput) SetAttribute(v *Attribute) *DescribeInstanceAttributeOutput {
15586	s.Attribute = v
15587	return s
15588}
15589
15590type DescribeInstanceInput struct {
15591	_ struct{} `type:"structure"`
15592
15593	// The identifier of the Amazon Connect instance. You can find the instanceId
15594	// in the ARN of the instance.
15595	//
15596	// InstanceId is a required field
15597	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15598}
15599
15600// String returns the string representation
15601func (s DescribeInstanceInput) String() string {
15602	return awsutil.Prettify(s)
15603}
15604
15605// GoString returns the string representation
15606func (s DescribeInstanceInput) GoString() string {
15607	return s.String()
15608}
15609
15610// Validate inspects the fields of the type to determine if they are valid.
15611func (s *DescribeInstanceInput) Validate() error {
15612	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInput"}
15613	if s.InstanceId == nil {
15614		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15615	}
15616	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15617		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15618	}
15619
15620	if invalidParams.Len() > 0 {
15621		return invalidParams
15622	}
15623	return nil
15624}
15625
15626// SetInstanceId sets the InstanceId field's value.
15627func (s *DescribeInstanceInput) SetInstanceId(v string) *DescribeInstanceInput {
15628	s.InstanceId = &v
15629	return s
15630}
15631
15632type DescribeInstanceOutput struct {
15633	_ struct{} `type:"structure"`
15634
15635	// The name of the instance.
15636	Instance *Instance `type:"structure"`
15637}
15638
15639// String returns the string representation
15640func (s DescribeInstanceOutput) String() string {
15641	return awsutil.Prettify(s)
15642}
15643
15644// GoString returns the string representation
15645func (s DescribeInstanceOutput) GoString() string {
15646	return s.String()
15647}
15648
15649// SetInstance sets the Instance field's value.
15650func (s *DescribeInstanceOutput) SetInstance(v *Instance) *DescribeInstanceOutput {
15651	s.Instance = v
15652	return s
15653}
15654
15655type DescribeInstanceStorageConfigInput struct {
15656	_ struct{} `type:"structure"`
15657
15658	// The existing association identifier that uniquely identifies the resource
15659	// type and storage config for the given instance ID.
15660	//
15661	// AssociationId is a required field
15662	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
15663
15664	// The identifier of the Amazon Connect instance. You can find the instanceId
15665	// in the ARN of the instance.
15666	//
15667	// InstanceId is a required field
15668	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15669
15670	// A valid resource type.
15671	//
15672	// ResourceType is a required field
15673	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
15674}
15675
15676// String returns the string representation
15677func (s DescribeInstanceStorageConfigInput) String() string {
15678	return awsutil.Prettify(s)
15679}
15680
15681// GoString returns the string representation
15682func (s DescribeInstanceStorageConfigInput) GoString() string {
15683	return s.String()
15684}
15685
15686// Validate inspects the fields of the type to determine if they are valid.
15687func (s *DescribeInstanceStorageConfigInput) Validate() error {
15688	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceStorageConfigInput"}
15689	if s.AssociationId == nil {
15690		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
15691	}
15692	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
15693		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
15694	}
15695	if s.InstanceId == nil {
15696		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15697	}
15698	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15699		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15700	}
15701	if s.ResourceType == nil {
15702		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
15703	}
15704
15705	if invalidParams.Len() > 0 {
15706		return invalidParams
15707	}
15708	return nil
15709}
15710
15711// SetAssociationId sets the AssociationId field's value.
15712func (s *DescribeInstanceStorageConfigInput) SetAssociationId(v string) *DescribeInstanceStorageConfigInput {
15713	s.AssociationId = &v
15714	return s
15715}
15716
15717// SetInstanceId sets the InstanceId field's value.
15718func (s *DescribeInstanceStorageConfigInput) SetInstanceId(v string) *DescribeInstanceStorageConfigInput {
15719	s.InstanceId = &v
15720	return s
15721}
15722
15723// SetResourceType sets the ResourceType field's value.
15724func (s *DescribeInstanceStorageConfigInput) SetResourceType(v string) *DescribeInstanceStorageConfigInput {
15725	s.ResourceType = &v
15726	return s
15727}
15728
15729type DescribeInstanceStorageConfigOutput struct {
15730	_ struct{} `type:"structure"`
15731
15732	// A valid storage type.
15733	StorageConfig *InstanceStorageConfig `type:"structure"`
15734}
15735
15736// String returns the string representation
15737func (s DescribeInstanceStorageConfigOutput) String() string {
15738	return awsutil.Prettify(s)
15739}
15740
15741// GoString returns the string representation
15742func (s DescribeInstanceStorageConfigOutput) GoString() string {
15743	return s.String()
15744}
15745
15746// SetStorageConfig sets the StorageConfig field's value.
15747func (s *DescribeInstanceStorageConfigOutput) SetStorageConfig(v *InstanceStorageConfig) *DescribeInstanceStorageConfigOutput {
15748	s.StorageConfig = v
15749	return s
15750}
15751
15752type DescribeQueueInput struct {
15753	_ struct{} `type:"structure"`
15754
15755	// The identifier of the Amazon Connect instance. You can find the instanceId
15756	// in the ARN of the instance.
15757	//
15758	// InstanceId is a required field
15759	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15760
15761	// The identifier for the queue.
15762	//
15763	// QueueId is a required field
15764	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
15765}
15766
15767// String returns the string representation
15768func (s DescribeQueueInput) String() string {
15769	return awsutil.Prettify(s)
15770}
15771
15772// GoString returns the string representation
15773func (s DescribeQueueInput) GoString() string {
15774	return s.String()
15775}
15776
15777// Validate inspects the fields of the type to determine if they are valid.
15778func (s *DescribeQueueInput) Validate() error {
15779	invalidParams := request.ErrInvalidParams{Context: "DescribeQueueInput"}
15780	if s.InstanceId == nil {
15781		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15782	}
15783	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15784		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15785	}
15786	if s.QueueId == nil {
15787		invalidParams.Add(request.NewErrParamRequired("QueueId"))
15788	}
15789	if s.QueueId != nil && len(*s.QueueId) < 1 {
15790		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
15791	}
15792
15793	if invalidParams.Len() > 0 {
15794		return invalidParams
15795	}
15796	return nil
15797}
15798
15799// SetInstanceId sets the InstanceId field's value.
15800func (s *DescribeQueueInput) SetInstanceId(v string) *DescribeQueueInput {
15801	s.InstanceId = &v
15802	return s
15803}
15804
15805// SetQueueId sets the QueueId field's value.
15806func (s *DescribeQueueInput) SetQueueId(v string) *DescribeQueueInput {
15807	s.QueueId = &v
15808	return s
15809}
15810
15811type DescribeQueueOutput struct {
15812	_ struct{} `type:"structure"`
15813
15814	// The name of the queue.
15815	Queue *Queue `type:"structure"`
15816}
15817
15818// String returns the string representation
15819func (s DescribeQueueOutput) String() string {
15820	return awsutil.Prettify(s)
15821}
15822
15823// GoString returns the string representation
15824func (s DescribeQueueOutput) GoString() string {
15825	return s.String()
15826}
15827
15828// SetQueue sets the Queue field's value.
15829func (s *DescribeQueueOutput) SetQueue(v *Queue) *DescribeQueueOutput {
15830	s.Queue = v
15831	return s
15832}
15833
15834type DescribeQuickConnectInput struct {
15835	_ struct{} `type:"structure"`
15836
15837	// The identifier of the Amazon Connect instance. You can find the instanceId
15838	// in the ARN of the instance.
15839	//
15840	// InstanceId is a required field
15841	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15842
15843	// The identifier for the quick connect.
15844	//
15845	// QuickConnectId is a required field
15846	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
15847}
15848
15849// String returns the string representation
15850func (s DescribeQuickConnectInput) String() string {
15851	return awsutil.Prettify(s)
15852}
15853
15854// GoString returns the string representation
15855func (s DescribeQuickConnectInput) GoString() string {
15856	return s.String()
15857}
15858
15859// Validate inspects the fields of the type to determine if they are valid.
15860func (s *DescribeQuickConnectInput) Validate() error {
15861	invalidParams := request.ErrInvalidParams{Context: "DescribeQuickConnectInput"}
15862	if s.InstanceId == nil {
15863		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15864	}
15865	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15866		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15867	}
15868	if s.QuickConnectId == nil {
15869		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
15870	}
15871	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
15872		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
15873	}
15874
15875	if invalidParams.Len() > 0 {
15876		return invalidParams
15877	}
15878	return nil
15879}
15880
15881// SetInstanceId sets the InstanceId field's value.
15882func (s *DescribeQuickConnectInput) SetInstanceId(v string) *DescribeQuickConnectInput {
15883	s.InstanceId = &v
15884	return s
15885}
15886
15887// SetQuickConnectId sets the QuickConnectId field's value.
15888func (s *DescribeQuickConnectInput) SetQuickConnectId(v string) *DescribeQuickConnectInput {
15889	s.QuickConnectId = &v
15890	return s
15891}
15892
15893type DescribeQuickConnectOutput struct {
15894	_ struct{} `type:"structure"`
15895
15896	// Information about the quick connect.
15897	QuickConnect *QuickConnect `type:"structure"`
15898}
15899
15900// String returns the string representation
15901func (s DescribeQuickConnectOutput) String() string {
15902	return awsutil.Prettify(s)
15903}
15904
15905// GoString returns the string representation
15906func (s DescribeQuickConnectOutput) GoString() string {
15907	return s.String()
15908}
15909
15910// SetQuickConnect sets the QuickConnect field's value.
15911func (s *DescribeQuickConnectOutput) SetQuickConnect(v *QuickConnect) *DescribeQuickConnectOutput {
15912	s.QuickConnect = v
15913	return s
15914}
15915
15916type DescribeRoutingProfileInput struct {
15917	_ struct{} `type:"structure"`
15918
15919	// The identifier of the Amazon Connect instance. You can find the instanceId
15920	// in the ARN of the instance.
15921	//
15922	// InstanceId is a required field
15923	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
15924
15925	// The identifier of the routing profile.
15926	//
15927	// RoutingProfileId is a required field
15928	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
15929}
15930
15931// String returns the string representation
15932func (s DescribeRoutingProfileInput) String() string {
15933	return awsutil.Prettify(s)
15934}
15935
15936// GoString returns the string representation
15937func (s DescribeRoutingProfileInput) GoString() string {
15938	return s.String()
15939}
15940
15941// Validate inspects the fields of the type to determine if they are valid.
15942func (s *DescribeRoutingProfileInput) Validate() error {
15943	invalidParams := request.ErrInvalidParams{Context: "DescribeRoutingProfileInput"}
15944	if s.InstanceId == nil {
15945		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
15946	}
15947	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
15948		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
15949	}
15950	if s.RoutingProfileId == nil {
15951		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
15952	}
15953	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
15954		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
15955	}
15956
15957	if invalidParams.Len() > 0 {
15958		return invalidParams
15959	}
15960	return nil
15961}
15962
15963// SetInstanceId sets the InstanceId field's value.
15964func (s *DescribeRoutingProfileInput) SetInstanceId(v string) *DescribeRoutingProfileInput {
15965	s.InstanceId = &v
15966	return s
15967}
15968
15969// SetRoutingProfileId sets the RoutingProfileId field's value.
15970func (s *DescribeRoutingProfileInput) SetRoutingProfileId(v string) *DescribeRoutingProfileInput {
15971	s.RoutingProfileId = &v
15972	return s
15973}
15974
15975type DescribeRoutingProfileOutput struct {
15976	_ struct{} `type:"structure"`
15977
15978	// The routing profile.
15979	RoutingProfile *RoutingProfile `type:"structure"`
15980}
15981
15982// String returns the string representation
15983func (s DescribeRoutingProfileOutput) String() string {
15984	return awsutil.Prettify(s)
15985}
15986
15987// GoString returns the string representation
15988func (s DescribeRoutingProfileOutput) GoString() string {
15989	return s.String()
15990}
15991
15992// SetRoutingProfile sets the RoutingProfile field's value.
15993func (s *DescribeRoutingProfileOutput) SetRoutingProfile(v *RoutingProfile) *DescribeRoutingProfileOutput {
15994	s.RoutingProfile = v
15995	return s
15996}
15997
15998type DescribeUserHierarchyGroupInput struct {
15999	_ struct{} `type:"structure"`
16000
16001	// The identifier of the hierarchy group.
16002	//
16003	// HierarchyGroupId is a required field
16004	HierarchyGroupId *string `location:"uri" locationName:"HierarchyGroupId" type:"string" required:"true"`
16005
16006	// The identifier of the Amazon Connect instance. You can find the instanceId
16007	// in the ARN of the instance.
16008	//
16009	// InstanceId is a required field
16010	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16011}
16012
16013// String returns the string representation
16014func (s DescribeUserHierarchyGroupInput) String() string {
16015	return awsutil.Prettify(s)
16016}
16017
16018// GoString returns the string representation
16019func (s DescribeUserHierarchyGroupInput) GoString() string {
16020	return s.String()
16021}
16022
16023// Validate inspects the fields of the type to determine if they are valid.
16024func (s *DescribeUserHierarchyGroupInput) Validate() error {
16025	invalidParams := request.ErrInvalidParams{Context: "DescribeUserHierarchyGroupInput"}
16026	if s.HierarchyGroupId == nil {
16027		invalidParams.Add(request.NewErrParamRequired("HierarchyGroupId"))
16028	}
16029	if s.HierarchyGroupId != nil && len(*s.HierarchyGroupId) < 1 {
16030		invalidParams.Add(request.NewErrParamMinLen("HierarchyGroupId", 1))
16031	}
16032	if s.InstanceId == nil {
16033		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16034	}
16035	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16036		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16037	}
16038
16039	if invalidParams.Len() > 0 {
16040		return invalidParams
16041	}
16042	return nil
16043}
16044
16045// SetHierarchyGroupId sets the HierarchyGroupId field's value.
16046func (s *DescribeUserHierarchyGroupInput) SetHierarchyGroupId(v string) *DescribeUserHierarchyGroupInput {
16047	s.HierarchyGroupId = &v
16048	return s
16049}
16050
16051// SetInstanceId sets the InstanceId field's value.
16052func (s *DescribeUserHierarchyGroupInput) SetInstanceId(v string) *DescribeUserHierarchyGroupInput {
16053	s.InstanceId = &v
16054	return s
16055}
16056
16057type DescribeUserHierarchyGroupOutput struct {
16058	_ struct{} `type:"structure"`
16059
16060	// Information about the hierarchy group.
16061	HierarchyGroup *HierarchyGroup `type:"structure"`
16062}
16063
16064// String returns the string representation
16065func (s DescribeUserHierarchyGroupOutput) String() string {
16066	return awsutil.Prettify(s)
16067}
16068
16069// GoString returns the string representation
16070func (s DescribeUserHierarchyGroupOutput) GoString() string {
16071	return s.String()
16072}
16073
16074// SetHierarchyGroup sets the HierarchyGroup field's value.
16075func (s *DescribeUserHierarchyGroupOutput) SetHierarchyGroup(v *HierarchyGroup) *DescribeUserHierarchyGroupOutput {
16076	s.HierarchyGroup = v
16077	return s
16078}
16079
16080type DescribeUserHierarchyStructureInput struct {
16081	_ struct{} `type:"structure"`
16082
16083	// The identifier of the Amazon Connect instance. You can find the instanceId
16084	// in the ARN of the instance.
16085	//
16086	// InstanceId is a required field
16087	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16088}
16089
16090// String returns the string representation
16091func (s DescribeUserHierarchyStructureInput) String() string {
16092	return awsutil.Prettify(s)
16093}
16094
16095// GoString returns the string representation
16096func (s DescribeUserHierarchyStructureInput) GoString() string {
16097	return s.String()
16098}
16099
16100// Validate inspects the fields of the type to determine if they are valid.
16101func (s *DescribeUserHierarchyStructureInput) Validate() error {
16102	invalidParams := request.ErrInvalidParams{Context: "DescribeUserHierarchyStructureInput"}
16103	if s.InstanceId == nil {
16104		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16105	}
16106	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16107		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16108	}
16109
16110	if invalidParams.Len() > 0 {
16111		return invalidParams
16112	}
16113	return nil
16114}
16115
16116// SetInstanceId sets the InstanceId field's value.
16117func (s *DescribeUserHierarchyStructureInput) SetInstanceId(v string) *DescribeUserHierarchyStructureInput {
16118	s.InstanceId = &v
16119	return s
16120}
16121
16122type DescribeUserHierarchyStructureOutput struct {
16123	_ struct{} `type:"structure"`
16124
16125	// Information about the hierarchy structure.
16126	HierarchyStructure *HierarchyStructure `type:"structure"`
16127}
16128
16129// String returns the string representation
16130func (s DescribeUserHierarchyStructureOutput) String() string {
16131	return awsutil.Prettify(s)
16132}
16133
16134// GoString returns the string representation
16135func (s DescribeUserHierarchyStructureOutput) GoString() string {
16136	return s.String()
16137}
16138
16139// SetHierarchyStructure sets the HierarchyStructure field's value.
16140func (s *DescribeUserHierarchyStructureOutput) SetHierarchyStructure(v *HierarchyStructure) *DescribeUserHierarchyStructureOutput {
16141	s.HierarchyStructure = v
16142	return s
16143}
16144
16145type DescribeUserInput struct {
16146	_ struct{} `type:"structure"`
16147
16148	// The identifier of the Amazon Connect instance. You can find the instanceId
16149	// in the ARN of the instance.
16150	//
16151	// InstanceId is a required field
16152	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16153
16154	// The identifier of the user account.
16155	//
16156	// UserId is a required field
16157	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
16158}
16159
16160// String returns the string representation
16161func (s DescribeUserInput) String() string {
16162	return awsutil.Prettify(s)
16163}
16164
16165// GoString returns the string representation
16166func (s DescribeUserInput) GoString() string {
16167	return s.String()
16168}
16169
16170// Validate inspects the fields of the type to determine if they are valid.
16171func (s *DescribeUserInput) Validate() error {
16172	invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"}
16173	if s.InstanceId == nil {
16174		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16175	}
16176	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16177		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16178	}
16179	if s.UserId == nil {
16180		invalidParams.Add(request.NewErrParamRequired("UserId"))
16181	}
16182	if s.UserId != nil && len(*s.UserId) < 1 {
16183		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
16184	}
16185
16186	if invalidParams.Len() > 0 {
16187		return invalidParams
16188	}
16189	return nil
16190}
16191
16192// SetInstanceId sets the InstanceId field's value.
16193func (s *DescribeUserInput) SetInstanceId(v string) *DescribeUserInput {
16194	s.InstanceId = &v
16195	return s
16196}
16197
16198// SetUserId sets the UserId field's value.
16199func (s *DescribeUserInput) SetUserId(v string) *DescribeUserInput {
16200	s.UserId = &v
16201	return s
16202}
16203
16204type DescribeUserOutput struct {
16205	_ struct{} `type:"structure"`
16206
16207	// Information about the user account and configuration settings.
16208	User *User `type:"structure"`
16209}
16210
16211// String returns the string representation
16212func (s DescribeUserOutput) String() string {
16213	return awsutil.Prettify(s)
16214}
16215
16216// GoString returns the string representation
16217func (s DescribeUserOutput) GoString() string {
16218	return s.String()
16219}
16220
16221// SetUser sets the User field's value.
16222func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput {
16223	s.User = v
16224	return s
16225}
16226
16227// Outbound calls to the destination number are not allowed.
16228type DestinationNotAllowedException struct {
16229	_            struct{}                  `type:"structure"`
16230	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16231
16232	// The message about the outbound calls.
16233	Message_ *string `locationName:"Message" type:"string"`
16234}
16235
16236// String returns the string representation
16237func (s DestinationNotAllowedException) String() string {
16238	return awsutil.Prettify(s)
16239}
16240
16241// GoString returns the string representation
16242func (s DestinationNotAllowedException) GoString() string {
16243	return s.String()
16244}
16245
16246func newErrorDestinationNotAllowedException(v protocol.ResponseMetadata) error {
16247	return &DestinationNotAllowedException{
16248		RespMetadata: v,
16249	}
16250}
16251
16252// Code returns the exception type name.
16253func (s *DestinationNotAllowedException) Code() string {
16254	return "DestinationNotAllowedException"
16255}
16256
16257// Message returns the exception's message.
16258func (s *DestinationNotAllowedException) Message() string {
16259	if s.Message_ != nil {
16260		return *s.Message_
16261	}
16262	return ""
16263}
16264
16265// OrigErr always returns nil, satisfies awserr.Error interface.
16266func (s *DestinationNotAllowedException) OrigErr() error {
16267	return nil
16268}
16269
16270func (s *DestinationNotAllowedException) Error() string {
16271	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16272}
16273
16274// Status code returns the HTTP status code for the request's response error.
16275func (s *DestinationNotAllowedException) StatusCode() int {
16276	return s.RespMetadata.StatusCode
16277}
16278
16279// RequestID returns the service's response RequestID for request.
16280func (s *DestinationNotAllowedException) RequestID() string {
16281	return s.RespMetadata.RequestID
16282}
16283
16284// Contains information about the dimensions for a set of metrics.
16285type Dimensions struct {
16286	_ struct{} `type:"structure"`
16287
16288	// The channel used for grouping and filters.
16289	Channel *string `type:"string" enum:"Channel"`
16290
16291	// Information about the queue for which metrics are returned.
16292	Queue *QueueReference `type:"structure"`
16293}
16294
16295// String returns the string representation
16296func (s Dimensions) String() string {
16297	return awsutil.Prettify(s)
16298}
16299
16300// GoString returns the string representation
16301func (s Dimensions) GoString() string {
16302	return s.String()
16303}
16304
16305// SetChannel sets the Channel field's value.
16306func (s *Dimensions) SetChannel(v string) *Dimensions {
16307	s.Channel = &v
16308	return s
16309}
16310
16311// SetQueue sets the Queue field's value.
16312func (s *Dimensions) SetQueue(v *QueueReference) *Dimensions {
16313	s.Queue = v
16314	return s
16315}
16316
16317type DisassociateApprovedOriginInput struct {
16318	_ struct{} `type:"structure"`
16319
16320	// The identifier of the Amazon Connect instance. You can find the instanceId
16321	// in the ARN of the instance.
16322	//
16323	// InstanceId is a required field
16324	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16325
16326	// The domain URL of the integrated application.
16327	//
16328	// Origin is a required field
16329	Origin *string `location:"querystring" locationName:"origin" type:"string" required:"true"`
16330}
16331
16332// String returns the string representation
16333func (s DisassociateApprovedOriginInput) String() string {
16334	return awsutil.Prettify(s)
16335}
16336
16337// GoString returns the string representation
16338func (s DisassociateApprovedOriginInput) GoString() string {
16339	return s.String()
16340}
16341
16342// Validate inspects the fields of the type to determine if they are valid.
16343func (s *DisassociateApprovedOriginInput) Validate() error {
16344	invalidParams := request.ErrInvalidParams{Context: "DisassociateApprovedOriginInput"}
16345	if s.InstanceId == nil {
16346		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16347	}
16348	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16349		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16350	}
16351	if s.Origin == nil {
16352		invalidParams.Add(request.NewErrParamRequired("Origin"))
16353	}
16354
16355	if invalidParams.Len() > 0 {
16356		return invalidParams
16357	}
16358	return nil
16359}
16360
16361// SetInstanceId sets the InstanceId field's value.
16362func (s *DisassociateApprovedOriginInput) SetInstanceId(v string) *DisassociateApprovedOriginInput {
16363	s.InstanceId = &v
16364	return s
16365}
16366
16367// SetOrigin sets the Origin field's value.
16368func (s *DisassociateApprovedOriginInput) SetOrigin(v string) *DisassociateApprovedOriginInput {
16369	s.Origin = &v
16370	return s
16371}
16372
16373type DisassociateApprovedOriginOutput struct {
16374	_ struct{} `type:"structure"`
16375}
16376
16377// String returns the string representation
16378func (s DisassociateApprovedOriginOutput) String() string {
16379	return awsutil.Prettify(s)
16380}
16381
16382// GoString returns the string representation
16383func (s DisassociateApprovedOriginOutput) GoString() string {
16384	return s.String()
16385}
16386
16387type DisassociateBotInput struct {
16388	_ struct{} `type:"structure"`
16389
16390	// The identifier of the Amazon Connect instance. You can find the instanceId
16391	// in the ARN of the instance.
16392	//
16393	// InstanceId is a required field
16394	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16395
16396	// Configuration information of an Amazon Lex bot.
16397	LexBot *LexBot `type:"structure"`
16398
16399	// The Amazon Lex V2 bot to disassociate from the instance.
16400	LexV2Bot *LexV2Bot `type:"structure"`
16401}
16402
16403// String returns the string representation
16404func (s DisassociateBotInput) String() string {
16405	return awsutil.Prettify(s)
16406}
16407
16408// GoString returns the string representation
16409func (s DisassociateBotInput) GoString() string {
16410	return s.String()
16411}
16412
16413// Validate inspects the fields of the type to determine if they are valid.
16414func (s *DisassociateBotInput) Validate() error {
16415	invalidParams := request.ErrInvalidParams{Context: "DisassociateBotInput"}
16416	if s.InstanceId == nil {
16417		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16418	}
16419	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16420		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16421	}
16422	if s.LexV2Bot != nil {
16423		if err := s.LexV2Bot.Validate(); err != nil {
16424			invalidParams.AddNested("LexV2Bot", err.(request.ErrInvalidParams))
16425		}
16426	}
16427
16428	if invalidParams.Len() > 0 {
16429		return invalidParams
16430	}
16431	return nil
16432}
16433
16434// SetInstanceId sets the InstanceId field's value.
16435func (s *DisassociateBotInput) SetInstanceId(v string) *DisassociateBotInput {
16436	s.InstanceId = &v
16437	return s
16438}
16439
16440// SetLexBot sets the LexBot field's value.
16441func (s *DisassociateBotInput) SetLexBot(v *LexBot) *DisassociateBotInput {
16442	s.LexBot = v
16443	return s
16444}
16445
16446// SetLexV2Bot sets the LexV2Bot field's value.
16447func (s *DisassociateBotInput) SetLexV2Bot(v *LexV2Bot) *DisassociateBotInput {
16448	s.LexV2Bot = v
16449	return s
16450}
16451
16452type DisassociateBotOutput struct {
16453	_ struct{} `type:"structure"`
16454}
16455
16456// String returns the string representation
16457func (s DisassociateBotOutput) String() string {
16458	return awsutil.Prettify(s)
16459}
16460
16461// GoString returns the string representation
16462func (s DisassociateBotOutput) GoString() string {
16463	return s.String()
16464}
16465
16466type DisassociateInstanceStorageConfigInput struct {
16467	_ struct{} `type:"structure"`
16468
16469	// The existing association identifier that uniquely identifies the resource
16470	// type and storage config for the given instance ID.
16471	//
16472	// AssociationId is a required field
16473	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
16474
16475	// The identifier of the Amazon Connect instance. You can find the instanceId
16476	// in the ARN of the instance.
16477	//
16478	// InstanceId is a required field
16479	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16480
16481	// A valid resource type.
16482	//
16483	// ResourceType is a required field
16484	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
16485}
16486
16487// String returns the string representation
16488func (s DisassociateInstanceStorageConfigInput) String() string {
16489	return awsutil.Prettify(s)
16490}
16491
16492// GoString returns the string representation
16493func (s DisassociateInstanceStorageConfigInput) GoString() string {
16494	return s.String()
16495}
16496
16497// Validate inspects the fields of the type to determine if they are valid.
16498func (s *DisassociateInstanceStorageConfigInput) Validate() error {
16499	invalidParams := request.ErrInvalidParams{Context: "DisassociateInstanceStorageConfigInput"}
16500	if s.AssociationId == nil {
16501		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
16502	}
16503	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
16504		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
16505	}
16506	if s.InstanceId == nil {
16507		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16508	}
16509	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16510		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16511	}
16512	if s.ResourceType == nil {
16513		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
16514	}
16515
16516	if invalidParams.Len() > 0 {
16517		return invalidParams
16518	}
16519	return nil
16520}
16521
16522// SetAssociationId sets the AssociationId field's value.
16523func (s *DisassociateInstanceStorageConfigInput) SetAssociationId(v string) *DisassociateInstanceStorageConfigInput {
16524	s.AssociationId = &v
16525	return s
16526}
16527
16528// SetInstanceId sets the InstanceId field's value.
16529func (s *DisassociateInstanceStorageConfigInput) SetInstanceId(v string) *DisassociateInstanceStorageConfigInput {
16530	s.InstanceId = &v
16531	return s
16532}
16533
16534// SetResourceType sets the ResourceType field's value.
16535func (s *DisassociateInstanceStorageConfigInput) SetResourceType(v string) *DisassociateInstanceStorageConfigInput {
16536	s.ResourceType = &v
16537	return s
16538}
16539
16540type DisassociateInstanceStorageConfigOutput struct {
16541	_ struct{} `type:"structure"`
16542}
16543
16544// String returns the string representation
16545func (s DisassociateInstanceStorageConfigOutput) String() string {
16546	return awsutil.Prettify(s)
16547}
16548
16549// GoString returns the string representation
16550func (s DisassociateInstanceStorageConfigOutput) GoString() string {
16551	return s.String()
16552}
16553
16554type DisassociateLambdaFunctionInput struct {
16555	_ struct{} `type:"structure"`
16556
16557	// The Amazon Resource Name (ARN) of the Lambda function being disassociated.
16558	//
16559	// FunctionArn is a required field
16560	FunctionArn *string `location:"querystring" locationName:"functionArn" min:"1" type:"string" required:"true"`
16561
16562	// The identifier of the Amazon Connect instance. You can find the instanceId
16563	// in the ARN of the instance..
16564	//
16565	// InstanceId is a required field
16566	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16567}
16568
16569// String returns the string representation
16570func (s DisassociateLambdaFunctionInput) String() string {
16571	return awsutil.Prettify(s)
16572}
16573
16574// GoString returns the string representation
16575func (s DisassociateLambdaFunctionInput) GoString() string {
16576	return s.String()
16577}
16578
16579// Validate inspects the fields of the type to determine if they are valid.
16580func (s *DisassociateLambdaFunctionInput) Validate() error {
16581	invalidParams := request.ErrInvalidParams{Context: "DisassociateLambdaFunctionInput"}
16582	if s.FunctionArn == nil {
16583		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
16584	}
16585	if s.FunctionArn != nil && len(*s.FunctionArn) < 1 {
16586		invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1))
16587	}
16588	if s.InstanceId == nil {
16589		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16590	}
16591	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16592		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16593	}
16594
16595	if invalidParams.Len() > 0 {
16596		return invalidParams
16597	}
16598	return nil
16599}
16600
16601// SetFunctionArn sets the FunctionArn field's value.
16602func (s *DisassociateLambdaFunctionInput) SetFunctionArn(v string) *DisassociateLambdaFunctionInput {
16603	s.FunctionArn = &v
16604	return s
16605}
16606
16607// SetInstanceId sets the InstanceId field's value.
16608func (s *DisassociateLambdaFunctionInput) SetInstanceId(v string) *DisassociateLambdaFunctionInput {
16609	s.InstanceId = &v
16610	return s
16611}
16612
16613type DisassociateLambdaFunctionOutput struct {
16614	_ struct{} `type:"structure"`
16615}
16616
16617// String returns the string representation
16618func (s DisassociateLambdaFunctionOutput) String() string {
16619	return awsutil.Prettify(s)
16620}
16621
16622// GoString returns the string representation
16623func (s DisassociateLambdaFunctionOutput) GoString() string {
16624	return s.String()
16625}
16626
16627type DisassociateLexBotInput struct {
16628	_ struct{} `type:"structure"`
16629
16630	// The name of the Amazon Lex bot. Maximum character limit of 50.
16631	//
16632	// BotName is a required field
16633	BotName *string `location:"querystring" locationName:"botName" type:"string" required:"true"`
16634
16635	// The identifier of the Amazon Connect instance. You can find the instanceId
16636	// in the ARN of the instance.
16637	//
16638	// InstanceId is a required field
16639	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16640
16641	// The Region in which the Amazon Lex bot has been created.
16642	//
16643	// LexRegion is a required field
16644	LexRegion *string `location:"querystring" locationName:"lexRegion" type:"string" required:"true"`
16645}
16646
16647// String returns the string representation
16648func (s DisassociateLexBotInput) String() string {
16649	return awsutil.Prettify(s)
16650}
16651
16652// GoString returns the string representation
16653func (s DisassociateLexBotInput) GoString() string {
16654	return s.String()
16655}
16656
16657// Validate inspects the fields of the type to determine if they are valid.
16658func (s *DisassociateLexBotInput) Validate() error {
16659	invalidParams := request.ErrInvalidParams{Context: "DisassociateLexBotInput"}
16660	if s.BotName == nil {
16661		invalidParams.Add(request.NewErrParamRequired("BotName"))
16662	}
16663	if s.InstanceId == nil {
16664		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16665	}
16666	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16667		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16668	}
16669	if s.LexRegion == nil {
16670		invalidParams.Add(request.NewErrParamRequired("LexRegion"))
16671	}
16672
16673	if invalidParams.Len() > 0 {
16674		return invalidParams
16675	}
16676	return nil
16677}
16678
16679// SetBotName sets the BotName field's value.
16680func (s *DisassociateLexBotInput) SetBotName(v string) *DisassociateLexBotInput {
16681	s.BotName = &v
16682	return s
16683}
16684
16685// SetInstanceId sets the InstanceId field's value.
16686func (s *DisassociateLexBotInput) SetInstanceId(v string) *DisassociateLexBotInput {
16687	s.InstanceId = &v
16688	return s
16689}
16690
16691// SetLexRegion sets the LexRegion field's value.
16692func (s *DisassociateLexBotInput) SetLexRegion(v string) *DisassociateLexBotInput {
16693	s.LexRegion = &v
16694	return s
16695}
16696
16697type DisassociateLexBotOutput struct {
16698	_ struct{} `type:"structure"`
16699}
16700
16701// String returns the string representation
16702func (s DisassociateLexBotOutput) String() string {
16703	return awsutil.Prettify(s)
16704}
16705
16706// GoString returns the string representation
16707func (s DisassociateLexBotOutput) GoString() string {
16708	return s.String()
16709}
16710
16711type DisassociateQueueQuickConnectsInput struct {
16712	_ struct{} `type:"structure"`
16713
16714	// The identifier of the Amazon Connect instance. You can find the instanceId
16715	// in the ARN of the instance.
16716	//
16717	// InstanceId is a required field
16718	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16719
16720	// The identifier for the queue.
16721	//
16722	// QueueId is a required field
16723	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
16724
16725	// The quick connects to disassociate from the queue.
16726	//
16727	// QuickConnectIds is a required field
16728	QuickConnectIds []*string `min:"1" type:"list" required:"true"`
16729}
16730
16731// String returns the string representation
16732func (s DisassociateQueueQuickConnectsInput) String() string {
16733	return awsutil.Prettify(s)
16734}
16735
16736// GoString returns the string representation
16737func (s DisassociateQueueQuickConnectsInput) GoString() string {
16738	return s.String()
16739}
16740
16741// Validate inspects the fields of the type to determine if they are valid.
16742func (s *DisassociateQueueQuickConnectsInput) Validate() error {
16743	invalidParams := request.ErrInvalidParams{Context: "DisassociateQueueQuickConnectsInput"}
16744	if s.InstanceId == nil {
16745		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16746	}
16747	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16748		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16749	}
16750	if s.QueueId == nil {
16751		invalidParams.Add(request.NewErrParamRequired("QueueId"))
16752	}
16753	if s.QueueId != nil && len(*s.QueueId) < 1 {
16754		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
16755	}
16756	if s.QuickConnectIds == nil {
16757		invalidParams.Add(request.NewErrParamRequired("QuickConnectIds"))
16758	}
16759	if s.QuickConnectIds != nil && len(s.QuickConnectIds) < 1 {
16760		invalidParams.Add(request.NewErrParamMinLen("QuickConnectIds", 1))
16761	}
16762
16763	if invalidParams.Len() > 0 {
16764		return invalidParams
16765	}
16766	return nil
16767}
16768
16769// SetInstanceId sets the InstanceId field's value.
16770func (s *DisassociateQueueQuickConnectsInput) SetInstanceId(v string) *DisassociateQueueQuickConnectsInput {
16771	s.InstanceId = &v
16772	return s
16773}
16774
16775// SetQueueId sets the QueueId field's value.
16776func (s *DisassociateQueueQuickConnectsInput) SetQueueId(v string) *DisassociateQueueQuickConnectsInput {
16777	s.QueueId = &v
16778	return s
16779}
16780
16781// SetQuickConnectIds sets the QuickConnectIds field's value.
16782func (s *DisassociateQueueQuickConnectsInput) SetQuickConnectIds(v []*string) *DisassociateQueueQuickConnectsInput {
16783	s.QuickConnectIds = v
16784	return s
16785}
16786
16787type DisassociateQueueQuickConnectsOutput struct {
16788	_ struct{} `type:"structure"`
16789}
16790
16791// String returns the string representation
16792func (s DisassociateQueueQuickConnectsOutput) String() string {
16793	return awsutil.Prettify(s)
16794}
16795
16796// GoString returns the string representation
16797func (s DisassociateQueueQuickConnectsOutput) GoString() string {
16798	return s.String()
16799}
16800
16801type DisassociateRoutingProfileQueuesInput struct {
16802	_ struct{} `type:"structure"`
16803
16804	// The identifier of the Amazon Connect instance. You can find the instanceId
16805	// in the ARN of the instance.
16806	//
16807	// InstanceId is a required field
16808	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16809
16810	// The queues to disassociate from this routing profile.
16811	//
16812	// QueueReferences is a required field
16813	QueueReferences []*RoutingProfileQueueReference `type:"list" required:"true"`
16814
16815	// The identifier of the routing profile.
16816	//
16817	// RoutingProfileId is a required field
16818	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
16819}
16820
16821// String returns the string representation
16822func (s DisassociateRoutingProfileQueuesInput) String() string {
16823	return awsutil.Prettify(s)
16824}
16825
16826// GoString returns the string representation
16827func (s DisassociateRoutingProfileQueuesInput) GoString() string {
16828	return s.String()
16829}
16830
16831// Validate inspects the fields of the type to determine if they are valid.
16832func (s *DisassociateRoutingProfileQueuesInput) Validate() error {
16833	invalidParams := request.ErrInvalidParams{Context: "DisassociateRoutingProfileQueuesInput"}
16834	if s.InstanceId == nil {
16835		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16836	}
16837	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16838		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16839	}
16840	if s.QueueReferences == nil {
16841		invalidParams.Add(request.NewErrParamRequired("QueueReferences"))
16842	}
16843	if s.RoutingProfileId == nil {
16844		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
16845	}
16846	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
16847		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
16848	}
16849	if s.QueueReferences != nil {
16850		for i, v := range s.QueueReferences {
16851			if v == nil {
16852				continue
16853			}
16854			if err := v.Validate(); err != nil {
16855				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueReferences", i), err.(request.ErrInvalidParams))
16856			}
16857		}
16858	}
16859
16860	if invalidParams.Len() > 0 {
16861		return invalidParams
16862	}
16863	return nil
16864}
16865
16866// SetInstanceId sets the InstanceId field's value.
16867func (s *DisassociateRoutingProfileQueuesInput) SetInstanceId(v string) *DisassociateRoutingProfileQueuesInput {
16868	s.InstanceId = &v
16869	return s
16870}
16871
16872// SetQueueReferences sets the QueueReferences field's value.
16873func (s *DisassociateRoutingProfileQueuesInput) SetQueueReferences(v []*RoutingProfileQueueReference) *DisassociateRoutingProfileQueuesInput {
16874	s.QueueReferences = v
16875	return s
16876}
16877
16878// SetRoutingProfileId sets the RoutingProfileId field's value.
16879func (s *DisassociateRoutingProfileQueuesInput) SetRoutingProfileId(v string) *DisassociateRoutingProfileQueuesInput {
16880	s.RoutingProfileId = &v
16881	return s
16882}
16883
16884type DisassociateRoutingProfileQueuesOutput struct {
16885	_ struct{} `type:"structure"`
16886}
16887
16888// String returns the string representation
16889func (s DisassociateRoutingProfileQueuesOutput) String() string {
16890	return awsutil.Prettify(s)
16891}
16892
16893// GoString returns the string representation
16894func (s DisassociateRoutingProfileQueuesOutput) GoString() string {
16895	return s.String()
16896}
16897
16898type DisassociateSecurityKeyInput struct {
16899	_ struct{} `type:"structure"`
16900
16901	// The existing association identifier that uniquely identifies the resource
16902	// type and storage config for the given instance ID.
16903	//
16904	// AssociationId is a required field
16905	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
16906
16907	// The identifier of the Amazon Connect instance. You can find the instanceId
16908	// in the ARN of the instance.
16909	//
16910	// InstanceId is a required field
16911	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
16912}
16913
16914// String returns the string representation
16915func (s DisassociateSecurityKeyInput) String() string {
16916	return awsutil.Prettify(s)
16917}
16918
16919// GoString returns the string representation
16920func (s DisassociateSecurityKeyInput) GoString() string {
16921	return s.String()
16922}
16923
16924// Validate inspects the fields of the type to determine if they are valid.
16925func (s *DisassociateSecurityKeyInput) Validate() error {
16926	invalidParams := request.ErrInvalidParams{Context: "DisassociateSecurityKeyInput"}
16927	if s.AssociationId == nil {
16928		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
16929	}
16930	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
16931		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
16932	}
16933	if s.InstanceId == nil {
16934		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
16935	}
16936	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
16937		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
16938	}
16939
16940	if invalidParams.Len() > 0 {
16941		return invalidParams
16942	}
16943	return nil
16944}
16945
16946// SetAssociationId sets the AssociationId field's value.
16947func (s *DisassociateSecurityKeyInput) SetAssociationId(v string) *DisassociateSecurityKeyInput {
16948	s.AssociationId = &v
16949	return s
16950}
16951
16952// SetInstanceId sets the InstanceId field's value.
16953func (s *DisassociateSecurityKeyInput) SetInstanceId(v string) *DisassociateSecurityKeyInput {
16954	s.InstanceId = &v
16955	return s
16956}
16957
16958type DisassociateSecurityKeyOutput struct {
16959	_ struct{} `type:"structure"`
16960}
16961
16962// String returns the string representation
16963func (s DisassociateSecurityKeyOutput) String() string {
16964	return awsutil.Prettify(s)
16965}
16966
16967// GoString returns the string representation
16968func (s DisassociateSecurityKeyOutput) GoString() string {
16969	return s.String()
16970}
16971
16972// A resource with the specified name already exists.
16973type DuplicateResourceException struct {
16974	_            struct{}                  `type:"structure"`
16975	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16976
16977	Message_ *string `locationName:"Message" type:"string"`
16978}
16979
16980// String returns the string representation
16981func (s DuplicateResourceException) String() string {
16982	return awsutil.Prettify(s)
16983}
16984
16985// GoString returns the string representation
16986func (s DuplicateResourceException) GoString() string {
16987	return s.String()
16988}
16989
16990func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
16991	return &DuplicateResourceException{
16992		RespMetadata: v,
16993	}
16994}
16995
16996// Code returns the exception type name.
16997func (s *DuplicateResourceException) Code() string {
16998	return "DuplicateResourceException"
16999}
17000
17001// Message returns the exception's message.
17002func (s *DuplicateResourceException) Message() string {
17003	if s.Message_ != nil {
17004		return *s.Message_
17005	}
17006	return ""
17007}
17008
17009// OrigErr always returns nil, satisfies awserr.Error interface.
17010func (s *DuplicateResourceException) OrigErr() error {
17011	return nil
17012}
17013
17014func (s *DuplicateResourceException) Error() string {
17015	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17016}
17017
17018// Status code returns the HTTP status code for the request's response error.
17019func (s *DuplicateResourceException) StatusCode() int {
17020	return s.RespMetadata.StatusCode
17021}
17022
17023// RequestID returns the service's response RequestID for request.
17024func (s *DuplicateResourceException) RequestID() string {
17025	return s.RespMetadata.RequestID
17026}
17027
17028// The encryption configuration.
17029type EncryptionConfig struct {
17030	_ struct{} `type:"structure"`
17031
17032	// The type of encryption.
17033	//
17034	// EncryptionType is a required field
17035	EncryptionType *string `type:"string" required:"true" enum:"EncryptionType"`
17036
17037	// The identifier of the encryption key.
17038	//
17039	// KeyId is a required field
17040	KeyId *string `min:"1" type:"string" required:"true"`
17041}
17042
17043// String returns the string representation
17044func (s EncryptionConfig) String() string {
17045	return awsutil.Prettify(s)
17046}
17047
17048// GoString returns the string representation
17049func (s EncryptionConfig) GoString() string {
17050	return s.String()
17051}
17052
17053// Validate inspects the fields of the type to determine if they are valid.
17054func (s *EncryptionConfig) Validate() error {
17055	invalidParams := request.ErrInvalidParams{Context: "EncryptionConfig"}
17056	if s.EncryptionType == nil {
17057		invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
17058	}
17059	if s.KeyId == nil {
17060		invalidParams.Add(request.NewErrParamRequired("KeyId"))
17061	}
17062	if s.KeyId != nil && len(*s.KeyId) < 1 {
17063		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
17064	}
17065
17066	if invalidParams.Len() > 0 {
17067		return invalidParams
17068	}
17069	return nil
17070}
17071
17072// SetEncryptionType sets the EncryptionType field's value.
17073func (s *EncryptionConfig) SetEncryptionType(v string) *EncryptionConfig {
17074	s.EncryptionType = &v
17075	return s
17076}
17077
17078// SetKeyId sets the KeyId field's value.
17079func (s *EncryptionConfig) SetKeyId(v string) *EncryptionConfig {
17080	s.KeyId = &v
17081	return s
17082}
17083
17084// Contains the filter to apply when retrieving metrics.
17085type Filters struct {
17086	_ struct{} `type:"structure"`
17087
17088	// The channel to use to filter the metrics.
17089	Channels []*string `type:"list"`
17090
17091	// The queues to use to filter the metrics. You can specify up to 100 queues
17092	// per request.
17093	Queues []*string `min:"1" type:"list"`
17094}
17095
17096// String returns the string representation
17097func (s Filters) String() string {
17098	return awsutil.Prettify(s)
17099}
17100
17101// GoString returns the string representation
17102func (s Filters) GoString() string {
17103	return s.String()
17104}
17105
17106// Validate inspects the fields of the type to determine if they are valid.
17107func (s *Filters) Validate() error {
17108	invalidParams := request.ErrInvalidParams{Context: "Filters"}
17109	if s.Queues != nil && len(s.Queues) < 1 {
17110		invalidParams.Add(request.NewErrParamMinLen("Queues", 1))
17111	}
17112
17113	if invalidParams.Len() > 0 {
17114		return invalidParams
17115	}
17116	return nil
17117}
17118
17119// SetChannels sets the Channels field's value.
17120func (s *Filters) SetChannels(v []*string) *Filters {
17121	s.Channels = v
17122	return s
17123}
17124
17125// SetQueues sets the Queues field's value.
17126func (s *Filters) SetQueues(v []*string) *Filters {
17127	s.Queues = v
17128	return s
17129}
17130
17131type GetContactAttributesInput struct {
17132	_ struct{} `type:"structure"`
17133
17134	// The identifier of the initial contact.
17135	//
17136	// InitialContactId is a required field
17137	InitialContactId *string `location:"uri" locationName:"InitialContactId" min:"1" type:"string" required:"true"`
17138
17139	// The identifier of the Amazon Connect instance.
17140	//
17141	// InstanceId is a required field
17142	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
17143}
17144
17145// String returns the string representation
17146func (s GetContactAttributesInput) String() string {
17147	return awsutil.Prettify(s)
17148}
17149
17150// GoString returns the string representation
17151func (s GetContactAttributesInput) GoString() string {
17152	return s.String()
17153}
17154
17155// Validate inspects the fields of the type to determine if they are valid.
17156func (s *GetContactAttributesInput) Validate() error {
17157	invalidParams := request.ErrInvalidParams{Context: "GetContactAttributesInput"}
17158	if s.InitialContactId == nil {
17159		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
17160	}
17161	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
17162		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
17163	}
17164	if s.InstanceId == nil {
17165		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17166	}
17167	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
17168		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
17169	}
17170
17171	if invalidParams.Len() > 0 {
17172		return invalidParams
17173	}
17174	return nil
17175}
17176
17177// SetInitialContactId sets the InitialContactId field's value.
17178func (s *GetContactAttributesInput) SetInitialContactId(v string) *GetContactAttributesInput {
17179	s.InitialContactId = &v
17180	return s
17181}
17182
17183// SetInstanceId sets the InstanceId field's value.
17184func (s *GetContactAttributesInput) SetInstanceId(v string) *GetContactAttributesInput {
17185	s.InstanceId = &v
17186	return s
17187}
17188
17189type GetContactAttributesOutput struct {
17190	_ struct{} `type:"structure"`
17191
17192	// Information about the attributes.
17193	Attributes map[string]*string `type:"map"`
17194}
17195
17196// String returns the string representation
17197func (s GetContactAttributesOutput) String() string {
17198	return awsutil.Prettify(s)
17199}
17200
17201// GoString returns the string representation
17202func (s GetContactAttributesOutput) GoString() string {
17203	return s.String()
17204}
17205
17206// SetAttributes sets the Attributes field's value.
17207func (s *GetContactAttributesOutput) SetAttributes(v map[string]*string) *GetContactAttributesOutput {
17208	s.Attributes = v
17209	return s
17210}
17211
17212type GetCurrentMetricDataInput struct {
17213	_ struct{} `type:"structure"`
17214
17215	// The metrics to retrieve. Specify the name and unit for each metric. The following
17216	// metrics are available. For a description of all the metrics, see Real-time
17217	// Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html)
17218	// in the Amazon Connect Administrator Guide.
17219	//
17220	// AGENTS_AFTER_CONTACT_WORK
17221	//
17222	// Unit: COUNT
17223	//
17224	// Name in real-time metrics report: ACW (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#aftercallwork-real-time)
17225	//
17226	// AGENTS_AVAILABLE
17227	//
17228	// Unit: COUNT
17229	//
17230	// Name in real-time metrics report: Available (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#available-real-time)
17231	//
17232	// AGENTS_ERROR
17233	//
17234	// Unit: COUNT
17235	//
17236	// Name in real-time metrics report: Error (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#error-real-time)
17237	//
17238	// AGENTS_NON_PRODUCTIVE
17239	//
17240	// Unit: COUNT
17241	//
17242	// Name in real-time metrics report: NPT (Non-Productive Time) (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#non-productive-time-real-time)
17243	//
17244	// AGENTS_ON_CALL
17245	//
17246	// Unit: COUNT
17247	//
17248	// Name in real-time metrics report: On contact (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#on-call-real-time)
17249	//
17250	// AGENTS_ON_CONTACT
17251	//
17252	// Unit: COUNT
17253	//
17254	// Name in real-time metrics report: On contact (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#on-call-real-time)
17255	//
17256	// AGENTS_ONLINE
17257	//
17258	// Unit: COUNT
17259	//
17260	// Name in real-time metrics report: Online (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#online-real-time)
17261	//
17262	// AGENTS_STAFFED
17263	//
17264	// Unit: COUNT
17265	//
17266	// Name in real-time metrics report: Staffed (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#staffed-real-time)
17267	//
17268	// CONTACTS_IN_QUEUE
17269	//
17270	// Unit: COUNT
17271	//
17272	// Name in real-time metrics report: In queue (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#in-queue-real-time)
17273	//
17274	// CONTACTS_SCHEDULED
17275	//
17276	// Unit: COUNT
17277	//
17278	// Name in real-time metrics report: Scheduled (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#scheduled-real-time)
17279	//
17280	// OLDEST_CONTACT_AGE
17281	//
17282	// Unit: SECONDS
17283	//
17284	// When you use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS.
17285	// For example, if you get a response like this:
17286	//
17287	// { "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value":
17288	// 24113.0 }
17289	//
17290	// The actual OLDEST_CONTACT_AGE is 24 seconds.
17291	//
17292	// Name in real-time metrics report: Oldest (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#oldest-real-time)
17293	//
17294	// SLOTS_ACTIVE
17295	//
17296	// Unit: COUNT
17297	//
17298	// Name in real-time metrics report: Active (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#active-real-time)
17299	//
17300	// SLOTS_AVAILABLE
17301	//
17302	// Unit: COUNT
17303	//
17304	// Name in real-time metrics report: Availability (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#availability-real-time)
17305	//
17306	// CurrentMetrics is a required field
17307	CurrentMetrics []*CurrentMetric `type:"list" required:"true"`
17308
17309	// The queues, up to 100, or channels, to use to filter the metrics returned.
17310	// Metric data is retrieved only for the resources associated with the queues
17311	// or channels included in the filter. You can include both queue IDs and queue
17312	// ARNs in the same request. VOICE, CHAT, and TASK channels are supported.
17313	//
17314	// Filters is a required field
17315	Filters *Filters `type:"structure" required:"true"`
17316
17317	// The grouping applied to the metrics returned. For example, when grouped by
17318	// QUEUE, the metrics returned apply to each queue rather than aggregated for
17319	// all queues. If you group by CHANNEL, you should include a Channels filter.
17320	// VOICE, CHAT, and TASK channels are supported.
17321	//
17322	// If no Grouping is included in the request, a summary of metrics is returned.
17323	Groupings []*string `type:"list"`
17324
17325	// The identifier of the Amazon Connect instance. You can find the instanceId
17326	// in the ARN of the instance.
17327	//
17328	// InstanceId is a required field
17329	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
17330
17331	// The maximum number of results to return per page.
17332	MaxResults *int64 `min:"1" type:"integer"`
17333
17334	// The token for the next set of results. Use the value returned in the previous
17335	// response in the next request to retrieve the next set of results.
17336	//
17337	// The token expires after 5 minutes from the time it is created. Subsequent
17338	// requests that use the token must use the same request parameters as the request
17339	// that generated the token.
17340	NextToken *string `type:"string"`
17341}
17342
17343// String returns the string representation
17344func (s GetCurrentMetricDataInput) String() string {
17345	return awsutil.Prettify(s)
17346}
17347
17348// GoString returns the string representation
17349func (s GetCurrentMetricDataInput) GoString() string {
17350	return s.String()
17351}
17352
17353// Validate inspects the fields of the type to determine if they are valid.
17354func (s *GetCurrentMetricDataInput) Validate() error {
17355	invalidParams := request.ErrInvalidParams{Context: "GetCurrentMetricDataInput"}
17356	if s.CurrentMetrics == nil {
17357		invalidParams.Add(request.NewErrParamRequired("CurrentMetrics"))
17358	}
17359	if s.Filters == nil {
17360		invalidParams.Add(request.NewErrParamRequired("Filters"))
17361	}
17362	if s.InstanceId == nil {
17363		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17364	}
17365	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
17366		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
17367	}
17368	if s.MaxResults != nil && *s.MaxResults < 1 {
17369		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17370	}
17371	if s.Filters != nil {
17372		if err := s.Filters.Validate(); err != nil {
17373			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
17374		}
17375	}
17376
17377	if invalidParams.Len() > 0 {
17378		return invalidParams
17379	}
17380	return nil
17381}
17382
17383// SetCurrentMetrics sets the CurrentMetrics field's value.
17384func (s *GetCurrentMetricDataInput) SetCurrentMetrics(v []*CurrentMetric) *GetCurrentMetricDataInput {
17385	s.CurrentMetrics = v
17386	return s
17387}
17388
17389// SetFilters sets the Filters field's value.
17390func (s *GetCurrentMetricDataInput) SetFilters(v *Filters) *GetCurrentMetricDataInput {
17391	s.Filters = v
17392	return s
17393}
17394
17395// SetGroupings sets the Groupings field's value.
17396func (s *GetCurrentMetricDataInput) SetGroupings(v []*string) *GetCurrentMetricDataInput {
17397	s.Groupings = v
17398	return s
17399}
17400
17401// SetInstanceId sets the InstanceId field's value.
17402func (s *GetCurrentMetricDataInput) SetInstanceId(v string) *GetCurrentMetricDataInput {
17403	s.InstanceId = &v
17404	return s
17405}
17406
17407// SetMaxResults sets the MaxResults field's value.
17408func (s *GetCurrentMetricDataInput) SetMaxResults(v int64) *GetCurrentMetricDataInput {
17409	s.MaxResults = &v
17410	return s
17411}
17412
17413// SetNextToken sets the NextToken field's value.
17414func (s *GetCurrentMetricDataInput) SetNextToken(v string) *GetCurrentMetricDataInput {
17415	s.NextToken = &v
17416	return s
17417}
17418
17419type GetCurrentMetricDataOutput struct {
17420	_ struct{} `type:"structure"`
17421
17422	// The time at which the metrics were retrieved and cached for pagination.
17423	DataSnapshotTime *time.Time `type:"timestamp"`
17424
17425	// Information about the real-time metrics.
17426	MetricResults []*CurrentMetricResult `type:"list"`
17427
17428	// If there are additional results, this is the token for the next set of results.
17429	//
17430	// The token expires after 5 minutes from the time it is created. Subsequent
17431	// requests that use the token must use the same request parameters as the request
17432	// that generated the token.
17433	NextToken *string `type:"string"`
17434}
17435
17436// String returns the string representation
17437func (s GetCurrentMetricDataOutput) String() string {
17438	return awsutil.Prettify(s)
17439}
17440
17441// GoString returns the string representation
17442func (s GetCurrentMetricDataOutput) GoString() string {
17443	return s.String()
17444}
17445
17446// SetDataSnapshotTime sets the DataSnapshotTime field's value.
17447func (s *GetCurrentMetricDataOutput) SetDataSnapshotTime(v time.Time) *GetCurrentMetricDataOutput {
17448	s.DataSnapshotTime = &v
17449	return s
17450}
17451
17452// SetMetricResults sets the MetricResults field's value.
17453func (s *GetCurrentMetricDataOutput) SetMetricResults(v []*CurrentMetricResult) *GetCurrentMetricDataOutput {
17454	s.MetricResults = v
17455	return s
17456}
17457
17458// SetNextToken sets the NextToken field's value.
17459func (s *GetCurrentMetricDataOutput) SetNextToken(v string) *GetCurrentMetricDataOutput {
17460	s.NextToken = &v
17461	return s
17462}
17463
17464type GetFederationTokenInput struct {
17465	_ struct{} `type:"structure"`
17466
17467	// The identifier of the Amazon Connect instance. You can find the instanceId
17468	// in the ARN of the instance.
17469	//
17470	// InstanceId is a required field
17471	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
17472}
17473
17474// String returns the string representation
17475func (s GetFederationTokenInput) String() string {
17476	return awsutil.Prettify(s)
17477}
17478
17479// GoString returns the string representation
17480func (s GetFederationTokenInput) GoString() string {
17481	return s.String()
17482}
17483
17484// Validate inspects the fields of the type to determine if they are valid.
17485func (s *GetFederationTokenInput) Validate() error {
17486	invalidParams := request.ErrInvalidParams{Context: "GetFederationTokenInput"}
17487	if s.InstanceId == nil {
17488		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17489	}
17490	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
17491		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
17492	}
17493
17494	if invalidParams.Len() > 0 {
17495		return invalidParams
17496	}
17497	return nil
17498}
17499
17500// SetInstanceId sets the InstanceId field's value.
17501func (s *GetFederationTokenInput) SetInstanceId(v string) *GetFederationTokenInput {
17502	s.InstanceId = &v
17503	return s
17504}
17505
17506type GetFederationTokenOutput struct {
17507	_ struct{} `type:"structure"`
17508
17509	// The credentials to use for federation.
17510	Credentials *Credentials `type:"structure"`
17511}
17512
17513// String returns the string representation
17514func (s GetFederationTokenOutput) String() string {
17515	return awsutil.Prettify(s)
17516}
17517
17518// GoString returns the string representation
17519func (s GetFederationTokenOutput) GoString() string {
17520	return s.String()
17521}
17522
17523// SetCredentials sets the Credentials field's value.
17524func (s *GetFederationTokenOutput) SetCredentials(v *Credentials) *GetFederationTokenOutput {
17525	s.Credentials = v
17526	return s
17527}
17528
17529type GetMetricDataInput struct {
17530	_ struct{} `type:"structure"`
17531
17532	// The timestamp, in UNIX Epoch time format, at which to end the reporting interval
17533	// for the retrieval of historical metrics data. The time must be specified
17534	// using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be
17535	// later than the start time timestamp.
17536	//
17537	// The time range between the start and end time must be less than 24 hours.
17538	//
17539	// EndTime is a required field
17540	EndTime *time.Time `type:"timestamp" required:"true"`
17541
17542	// The queues, up to 100, or channels, to use to filter the metrics returned.
17543	// Metric data is retrieved only for the resources associated with the queues
17544	// or channels included in the filter. You can include both queue IDs and queue
17545	// ARNs in the same request. VOICE, CHAT, and TASK channels are supported.
17546	//
17547	// To filter by Queues, enter the queue ID/ARN, not the name of the queue.
17548	//
17549	// Filters is a required field
17550	Filters *Filters `type:"structure" required:"true"`
17551
17552	// The grouping applied to the metrics returned. For example, when results are
17553	// grouped by queue, the metrics returned are grouped by queue. The values returned
17554	// apply to the metrics for each queue rather than aggregated for all queues.
17555	//
17556	// If no grouping is specified, a summary of metrics for all queues is returned.
17557	Groupings []*string `type:"list"`
17558
17559	// The metrics to retrieve. Specify the name, unit, and statistic for each metric.
17560	// The following historical metrics are available. For a description of each
17561	// metric, see Historical Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html)
17562	// in the Amazon Connect Administrator Guide.
17563	//
17564	// This API does not support a contacts incoming metric (there's no CONTACTS_INCOMING
17565	// metric missing from the documented list).
17566	//
17567	// ABANDON_TIME
17568	//
17569	// Unit: SECONDS
17570	//
17571	// Statistic: AVG
17572	//
17573	// AFTER_CONTACT_WORK_TIME
17574	//
17575	// Unit: SECONDS
17576	//
17577	// Statistic: AVG
17578	//
17579	// API_CONTACTS_HANDLED
17580	//
17581	// Unit: COUNT
17582	//
17583	// Statistic: SUM
17584	//
17585	// CALLBACK_CONTACTS_HANDLED
17586	//
17587	// Unit: COUNT
17588	//
17589	// Statistic: SUM
17590	//
17591	// CONTACTS_ABANDONED
17592	//
17593	// Unit: COUNT
17594	//
17595	// Statistic: SUM
17596	//
17597	// CONTACTS_AGENT_HUNG_UP_FIRST
17598	//
17599	// Unit: COUNT
17600	//
17601	// Statistic: SUM
17602	//
17603	// CONTACTS_CONSULTED
17604	//
17605	// Unit: COUNT
17606	//
17607	// Statistic: SUM
17608	//
17609	// CONTACTS_HANDLED
17610	//
17611	// Unit: COUNT
17612	//
17613	// Statistic: SUM
17614	//
17615	// CONTACTS_HANDLED_INCOMING
17616	//
17617	// Unit: COUNT
17618	//
17619	// Statistic: SUM
17620	//
17621	// CONTACTS_HANDLED_OUTBOUND
17622	//
17623	// Unit: COUNT
17624	//
17625	// Statistic: SUM
17626	//
17627	// CONTACTS_HOLD_ABANDONS
17628	//
17629	// Unit: COUNT
17630	//
17631	// Statistic: SUM
17632	//
17633	// CONTACTS_MISSED
17634	//
17635	// Unit: COUNT
17636	//
17637	// Statistic: SUM
17638	//
17639	// CONTACTS_QUEUED
17640	//
17641	// Unit: COUNT
17642	//
17643	// Statistic: SUM
17644	//
17645	// CONTACTS_TRANSFERRED_IN
17646	//
17647	// Unit: COUNT
17648	//
17649	// Statistic: SUM
17650	//
17651	// CONTACTS_TRANSFERRED_IN_FROM_QUEUE
17652	//
17653	// Unit: COUNT
17654	//
17655	// Statistic: SUM
17656	//
17657	// CONTACTS_TRANSFERRED_OUT
17658	//
17659	// Unit: COUNT
17660	//
17661	// Statistic: SUM
17662	//
17663	// CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
17664	//
17665	// Unit: COUNT
17666	//
17667	// Statistic: SUM
17668	//
17669	// HANDLE_TIME
17670	//
17671	// Unit: SECONDS
17672	//
17673	// Statistic: AVG
17674	//
17675	// HOLD_TIME
17676	//
17677	// Unit: SECONDS
17678	//
17679	// Statistic: AVG
17680	//
17681	// INTERACTION_AND_HOLD_TIME
17682	//
17683	// Unit: SECONDS
17684	//
17685	// Statistic: AVG
17686	//
17687	// INTERACTION_TIME
17688	//
17689	// Unit: SECONDS
17690	//
17691	// Statistic: AVG
17692	//
17693	// OCCUPANCY
17694	//
17695	// Unit: PERCENT
17696	//
17697	// Statistic: AVG
17698	//
17699	// QUEUE_ANSWER_TIME
17700	//
17701	// Unit: SECONDS
17702	//
17703	// Statistic: AVG
17704	//
17705	// QUEUED_TIME
17706	//
17707	// Unit: SECONDS
17708	//
17709	// Statistic: MAX
17710	//
17711	// SERVICE_LEVEL
17712	//
17713	// You can include up to 20 SERVICE_LEVEL metrics in a request.
17714	//
17715	// Unit: PERCENT
17716	//
17717	// Statistic: AVG
17718	//
17719	// Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive),
17720	// in seconds. For Comparison, you must enter LT (for "Less than").
17721	//
17722	// HistoricalMetrics is a required field
17723	HistoricalMetrics []*HistoricalMetric `type:"list" required:"true"`
17724
17725	// The identifier of the Amazon Connect instance. You can find the instanceId
17726	// in the ARN of the instance.
17727	//
17728	// InstanceId is a required field
17729	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
17730
17731	// The maximum number of results to return per page.
17732	MaxResults *int64 `min:"1" type:"integer"`
17733
17734	// The token for the next set of results. Use the value returned in the previous
17735	// response in the next request to retrieve the next set of results.
17736	NextToken *string `type:"string"`
17737
17738	// The timestamp, in UNIX Epoch time format, at which to start the reporting
17739	// interval for the retrieval of historical metrics data. The time must be specified
17740	// using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.
17741	//
17742	// The start time cannot be earlier than 24 hours before the time of the request.
17743	// Historical metrics are available only for 24 hours.
17744	//
17745	// StartTime is a required field
17746	StartTime *time.Time `type:"timestamp" required:"true"`
17747}
17748
17749// String returns the string representation
17750func (s GetMetricDataInput) String() string {
17751	return awsutil.Prettify(s)
17752}
17753
17754// GoString returns the string representation
17755func (s GetMetricDataInput) GoString() string {
17756	return s.String()
17757}
17758
17759// Validate inspects the fields of the type to determine if they are valid.
17760func (s *GetMetricDataInput) Validate() error {
17761	invalidParams := request.ErrInvalidParams{Context: "GetMetricDataInput"}
17762	if s.EndTime == nil {
17763		invalidParams.Add(request.NewErrParamRequired("EndTime"))
17764	}
17765	if s.Filters == nil {
17766		invalidParams.Add(request.NewErrParamRequired("Filters"))
17767	}
17768	if s.HistoricalMetrics == nil {
17769		invalidParams.Add(request.NewErrParamRequired("HistoricalMetrics"))
17770	}
17771	if s.InstanceId == nil {
17772		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
17773	}
17774	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
17775		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
17776	}
17777	if s.MaxResults != nil && *s.MaxResults < 1 {
17778		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
17779	}
17780	if s.StartTime == nil {
17781		invalidParams.Add(request.NewErrParamRequired("StartTime"))
17782	}
17783	if s.Filters != nil {
17784		if err := s.Filters.Validate(); err != nil {
17785			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
17786		}
17787	}
17788
17789	if invalidParams.Len() > 0 {
17790		return invalidParams
17791	}
17792	return nil
17793}
17794
17795// SetEndTime sets the EndTime field's value.
17796func (s *GetMetricDataInput) SetEndTime(v time.Time) *GetMetricDataInput {
17797	s.EndTime = &v
17798	return s
17799}
17800
17801// SetFilters sets the Filters field's value.
17802func (s *GetMetricDataInput) SetFilters(v *Filters) *GetMetricDataInput {
17803	s.Filters = v
17804	return s
17805}
17806
17807// SetGroupings sets the Groupings field's value.
17808func (s *GetMetricDataInput) SetGroupings(v []*string) *GetMetricDataInput {
17809	s.Groupings = v
17810	return s
17811}
17812
17813// SetHistoricalMetrics sets the HistoricalMetrics field's value.
17814func (s *GetMetricDataInput) SetHistoricalMetrics(v []*HistoricalMetric) *GetMetricDataInput {
17815	s.HistoricalMetrics = v
17816	return s
17817}
17818
17819// SetInstanceId sets the InstanceId field's value.
17820func (s *GetMetricDataInput) SetInstanceId(v string) *GetMetricDataInput {
17821	s.InstanceId = &v
17822	return s
17823}
17824
17825// SetMaxResults sets the MaxResults field's value.
17826func (s *GetMetricDataInput) SetMaxResults(v int64) *GetMetricDataInput {
17827	s.MaxResults = &v
17828	return s
17829}
17830
17831// SetNextToken sets the NextToken field's value.
17832func (s *GetMetricDataInput) SetNextToken(v string) *GetMetricDataInput {
17833	s.NextToken = &v
17834	return s
17835}
17836
17837// SetStartTime sets the StartTime field's value.
17838func (s *GetMetricDataInput) SetStartTime(v time.Time) *GetMetricDataInput {
17839	s.StartTime = &v
17840	return s
17841}
17842
17843type GetMetricDataOutput struct {
17844	_ struct{} `type:"structure"`
17845
17846	// Information about the historical metrics.
17847	//
17848	// If no grouping is specified, a summary of metric data is returned.
17849	MetricResults []*HistoricalMetricResult `type:"list"`
17850
17851	// If there are additional results, this is the token for the next set of results.
17852	//
17853	// The token expires after 5 minutes from the time it is created. Subsequent
17854	// requests that use the token must use the same request parameters as the request
17855	// that generated the token.
17856	NextToken *string `type:"string"`
17857}
17858
17859// String returns the string representation
17860func (s GetMetricDataOutput) String() string {
17861	return awsutil.Prettify(s)
17862}
17863
17864// GoString returns the string representation
17865func (s GetMetricDataOutput) GoString() string {
17866	return s.String()
17867}
17868
17869// SetMetricResults sets the MetricResults field's value.
17870func (s *GetMetricDataOutput) SetMetricResults(v []*HistoricalMetricResult) *GetMetricDataOutput {
17871	s.MetricResults = v
17872	return s
17873}
17874
17875// SetNextToken sets the NextToken field's value.
17876func (s *GetMetricDataOutput) SetNextToken(v string) *GetMetricDataOutput {
17877	s.NextToken = &v
17878	return s
17879}
17880
17881// Contains information about a hierarchy group.
17882type HierarchyGroup struct {
17883	_ struct{} `type:"structure"`
17884
17885	// The Amazon Resource Name (ARN) of the hierarchy group.
17886	Arn *string `type:"string"`
17887
17888	// Information about the levels in the hierarchy group.
17889	HierarchyPath *HierarchyPath `type:"structure"`
17890
17891	// The identifier of the hierarchy group.
17892	Id *string `type:"string"`
17893
17894	// The identifier of the level in the hierarchy group.
17895	LevelId *string `type:"string"`
17896
17897	// The name of the hierarchy group.
17898	Name *string `type:"string"`
17899}
17900
17901// String returns the string representation
17902func (s HierarchyGroup) String() string {
17903	return awsutil.Prettify(s)
17904}
17905
17906// GoString returns the string representation
17907func (s HierarchyGroup) GoString() string {
17908	return s.String()
17909}
17910
17911// SetArn sets the Arn field's value.
17912func (s *HierarchyGroup) SetArn(v string) *HierarchyGroup {
17913	s.Arn = &v
17914	return s
17915}
17916
17917// SetHierarchyPath sets the HierarchyPath field's value.
17918func (s *HierarchyGroup) SetHierarchyPath(v *HierarchyPath) *HierarchyGroup {
17919	s.HierarchyPath = v
17920	return s
17921}
17922
17923// SetId sets the Id field's value.
17924func (s *HierarchyGroup) SetId(v string) *HierarchyGroup {
17925	s.Id = &v
17926	return s
17927}
17928
17929// SetLevelId sets the LevelId field's value.
17930func (s *HierarchyGroup) SetLevelId(v string) *HierarchyGroup {
17931	s.LevelId = &v
17932	return s
17933}
17934
17935// SetName sets the Name field's value.
17936func (s *HierarchyGroup) SetName(v string) *HierarchyGroup {
17937	s.Name = &v
17938	return s
17939}
17940
17941// Contains summary information about a hierarchy group.
17942type HierarchyGroupSummary struct {
17943	_ struct{} `type:"structure"`
17944
17945	// The Amazon Resource Name (ARN) of the hierarchy group.
17946	Arn *string `type:"string"`
17947
17948	// The identifier of the hierarchy group.
17949	Id *string `type:"string"`
17950
17951	// The name of the hierarchy group.
17952	Name *string `type:"string"`
17953}
17954
17955// String returns the string representation
17956func (s HierarchyGroupSummary) String() string {
17957	return awsutil.Prettify(s)
17958}
17959
17960// GoString returns the string representation
17961func (s HierarchyGroupSummary) GoString() string {
17962	return s.String()
17963}
17964
17965// SetArn sets the Arn field's value.
17966func (s *HierarchyGroupSummary) SetArn(v string) *HierarchyGroupSummary {
17967	s.Arn = &v
17968	return s
17969}
17970
17971// SetId sets the Id field's value.
17972func (s *HierarchyGroupSummary) SetId(v string) *HierarchyGroupSummary {
17973	s.Id = &v
17974	return s
17975}
17976
17977// SetName sets the Name field's value.
17978func (s *HierarchyGroupSummary) SetName(v string) *HierarchyGroupSummary {
17979	s.Name = &v
17980	return s
17981}
17982
17983// Contains information about a hierarchy level.
17984type HierarchyLevel struct {
17985	_ struct{} `type:"structure"`
17986
17987	// The Amazon Resource Name (ARN) of the hierarchy level.
17988	Arn *string `type:"string"`
17989
17990	// The identifier of the hierarchy level.
17991	Id *string `type:"string"`
17992
17993	// The name of the hierarchy level.
17994	Name *string `type:"string"`
17995}
17996
17997// String returns the string representation
17998func (s HierarchyLevel) String() string {
17999	return awsutil.Prettify(s)
18000}
18001
18002// GoString returns the string representation
18003func (s HierarchyLevel) GoString() string {
18004	return s.String()
18005}
18006
18007// SetArn sets the Arn field's value.
18008func (s *HierarchyLevel) SetArn(v string) *HierarchyLevel {
18009	s.Arn = &v
18010	return s
18011}
18012
18013// SetId sets the Id field's value.
18014func (s *HierarchyLevel) SetId(v string) *HierarchyLevel {
18015	s.Id = &v
18016	return s
18017}
18018
18019// SetName sets the Name field's value.
18020func (s *HierarchyLevel) SetName(v string) *HierarchyLevel {
18021	s.Name = &v
18022	return s
18023}
18024
18025// Contains information about the hierarchy level to update.
18026type HierarchyLevelUpdate struct {
18027	_ struct{} `type:"structure"`
18028
18029	// The name of the user hierarchy level. Must not be more than 50 characters.
18030	//
18031	// Name is a required field
18032	Name *string `type:"string" required:"true"`
18033}
18034
18035// String returns the string representation
18036func (s HierarchyLevelUpdate) String() string {
18037	return awsutil.Prettify(s)
18038}
18039
18040// GoString returns the string representation
18041func (s HierarchyLevelUpdate) GoString() string {
18042	return s.String()
18043}
18044
18045// Validate inspects the fields of the type to determine if they are valid.
18046func (s *HierarchyLevelUpdate) Validate() error {
18047	invalidParams := request.ErrInvalidParams{Context: "HierarchyLevelUpdate"}
18048	if s.Name == nil {
18049		invalidParams.Add(request.NewErrParamRequired("Name"))
18050	}
18051
18052	if invalidParams.Len() > 0 {
18053		return invalidParams
18054	}
18055	return nil
18056}
18057
18058// SetName sets the Name field's value.
18059func (s *HierarchyLevelUpdate) SetName(v string) *HierarchyLevelUpdate {
18060	s.Name = &v
18061	return s
18062}
18063
18064// Contains information about the levels of a hierarchy group.
18065type HierarchyPath struct {
18066	_ struct{} `type:"structure"`
18067
18068	// Information about level five.
18069	LevelFive *HierarchyGroupSummary `type:"structure"`
18070
18071	// Information about level four.
18072	LevelFour *HierarchyGroupSummary `type:"structure"`
18073
18074	// Information about level one.
18075	LevelOne *HierarchyGroupSummary `type:"structure"`
18076
18077	// Information about level three.
18078	LevelThree *HierarchyGroupSummary `type:"structure"`
18079
18080	// Information about level two.
18081	LevelTwo *HierarchyGroupSummary `type:"structure"`
18082}
18083
18084// String returns the string representation
18085func (s HierarchyPath) String() string {
18086	return awsutil.Prettify(s)
18087}
18088
18089// GoString returns the string representation
18090func (s HierarchyPath) GoString() string {
18091	return s.String()
18092}
18093
18094// SetLevelFive sets the LevelFive field's value.
18095func (s *HierarchyPath) SetLevelFive(v *HierarchyGroupSummary) *HierarchyPath {
18096	s.LevelFive = v
18097	return s
18098}
18099
18100// SetLevelFour sets the LevelFour field's value.
18101func (s *HierarchyPath) SetLevelFour(v *HierarchyGroupSummary) *HierarchyPath {
18102	s.LevelFour = v
18103	return s
18104}
18105
18106// SetLevelOne sets the LevelOne field's value.
18107func (s *HierarchyPath) SetLevelOne(v *HierarchyGroupSummary) *HierarchyPath {
18108	s.LevelOne = v
18109	return s
18110}
18111
18112// SetLevelThree sets the LevelThree field's value.
18113func (s *HierarchyPath) SetLevelThree(v *HierarchyGroupSummary) *HierarchyPath {
18114	s.LevelThree = v
18115	return s
18116}
18117
18118// SetLevelTwo sets the LevelTwo field's value.
18119func (s *HierarchyPath) SetLevelTwo(v *HierarchyGroupSummary) *HierarchyPath {
18120	s.LevelTwo = v
18121	return s
18122}
18123
18124// Contains information about a hierarchy structure.
18125type HierarchyStructure struct {
18126	_ struct{} `type:"structure"`
18127
18128	// Information about level five.
18129	LevelFive *HierarchyLevel `type:"structure"`
18130
18131	// Information about level four.
18132	LevelFour *HierarchyLevel `type:"structure"`
18133
18134	// Information about level one.
18135	LevelOne *HierarchyLevel `type:"structure"`
18136
18137	// Information about level three.
18138	LevelThree *HierarchyLevel `type:"structure"`
18139
18140	// Information about level two.
18141	LevelTwo *HierarchyLevel `type:"structure"`
18142}
18143
18144// String returns the string representation
18145func (s HierarchyStructure) String() string {
18146	return awsutil.Prettify(s)
18147}
18148
18149// GoString returns the string representation
18150func (s HierarchyStructure) GoString() string {
18151	return s.String()
18152}
18153
18154// SetLevelFive sets the LevelFive field's value.
18155func (s *HierarchyStructure) SetLevelFive(v *HierarchyLevel) *HierarchyStructure {
18156	s.LevelFive = v
18157	return s
18158}
18159
18160// SetLevelFour sets the LevelFour field's value.
18161func (s *HierarchyStructure) SetLevelFour(v *HierarchyLevel) *HierarchyStructure {
18162	s.LevelFour = v
18163	return s
18164}
18165
18166// SetLevelOne sets the LevelOne field's value.
18167func (s *HierarchyStructure) SetLevelOne(v *HierarchyLevel) *HierarchyStructure {
18168	s.LevelOne = v
18169	return s
18170}
18171
18172// SetLevelThree sets the LevelThree field's value.
18173func (s *HierarchyStructure) SetLevelThree(v *HierarchyLevel) *HierarchyStructure {
18174	s.LevelThree = v
18175	return s
18176}
18177
18178// SetLevelTwo sets the LevelTwo field's value.
18179func (s *HierarchyStructure) SetLevelTwo(v *HierarchyLevel) *HierarchyStructure {
18180	s.LevelTwo = v
18181	return s
18182}
18183
18184// Contains information about the level hierarchy to update.
18185type HierarchyStructureUpdate struct {
18186	_ struct{} `type:"structure"`
18187
18188	// The update for level five.
18189	LevelFive *HierarchyLevelUpdate `type:"structure"`
18190
18191	// The update for level four.
18192	LevelFour *HierarchyLevelUpdate `type:"structure"`
18193
18194	// The update for level one.
18195	LevelOne *HierarchyLevelUpdate `type:"structure"`
18196
18197	// The update for level three.
18198	LevelThree *HierarchyLevelUpdate `type:"structure"`
18199
18200	// The update for level two.
18201	LevelTwo *HierarchyLevelUpdate `type:"structure"`
18202}
18203
18204// String returns the string representation
18205func (s HierarchyStructureUpdate) String() string {
18206	return awsutil.Prettify(s)
18207}
18208
18209// GoString returns the string representation
18210func (s HierarchyStructureUpdate) GoString() string {
18211	return s.String()
18212}
18213
18214// Validate inspects the fields of the type to determine if they are valid.
18215func (s *HierarchyStructureUpdate) Validate() error {
18216	invalidParams := request.ErrInvalidParams{Context: "HierarchyStructureUpdate"}
18217	if s.LevelFive != nil {
18218		if err := s.LevelFive.Validate(); err != nil {
18219			invalidParams.AddNested("LevelFive", err.(request.ErrInvalidParams))
18220		}
18221	}
18222	if s.LevelFour != nil {
18223		if err := s.LevelFour.Validate(); err != nil {
18224			invalidParams.AddNested("LevelFour", err.(request.ErrInvalidParams))
18225		}
18226	}
18227	if s.LevelOne != nil {
18228		if err := s.LevelOne.Validate(); err != nil {
18229			invalidParams.AddNested("LevelOne", err.(request.ErrInvalidParams))
18230		}
18231	}
18232	if s.LevelThree != nil {
18233		if err := s.LevelThree.Validate(); err != nil {
18234			invalidParams.AddNested("LevelThree", err.(request.ErrInvalidParams))
18235		}
18236	}
18237	if s.LevelTwo != nil {
18238		if err := s.LevelTwo.Validate(); err != nil {
18239			invalidParams.AddNested("LevelTwo", err.(request.ErrInvalidParams))
18240		}
18241	}
18242
18243	if invalidParams.Len() > 0 {
18244		return invalidParams
18245	}
18246	return nil
18247}
18248
18249// SetLevelFive sets the LevelFive field's value.
18250func (s *HierarchyStructureUpdate) SetLevelFive(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
18251	s.LevelFive = v
18252	return s
18253}
18254
18255// SetLevelFour sets the LevelFour field's value.
18256func (s *HierarchyStructureUpdate) SetLevelFour(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
18257	s.LevelFour = v
18258	return s
18259}
18260
18261// SetLevelOne sets the LevelOne field's value.
18262func (s *HierarchyStructureUpdate) SetLevelOne(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
18263	s.LevelOne = v
18264	return s
18265}
18266
18267// SetLevelThree sets the LevelThree field's value.
18268func (s *HierarchyStructureUpdate) SetLevelThree(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
18269	s.LevelThree = v
18270	return s
18271}
18272
18273// SetLevelTwo sets the LevelTwo field's value.
18274func (s *HierarchyStructureUpdate) SetLevelTwo(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
18275	s.LevelTwo = v
18276	return s
18277}
18278
18279// Contains information about a historical metric. For a description of each
18280// metric, see Historical Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html)
18281// in the Amazon Connect Administrator Guide.
18282type HistoricalMetric struct {
18283	_ struct{} `type:"structure"`
18284
18285	// The name of the metric.
18286	Name *string `type:"string" enum:"HistoricalMetricName"`
18287
18288	// The statistic for the metric.
18289	Statistic *string `type:"string" enum:"Statistic"`
18290
18291	// The threshold for the metric, used with service level metrics.
18292	Threshold *Threshold `type:"structure"`
18293
18294	// The unit for the metric.
18295	Unit *string `type:"string" enum:"Unit"`
18296}
18297
18298// String returns the string representation
18299func (s HistoricalMetric) String() string {
18300	return awsutil.Prettify(s)
18301}
18302
18303// GoString returns the string representation
18304func (s HistoricalMetric) GoString() string {
18305	return s.String()
18306}
18307
18308// SetName sets the Name field's value.
18309func (s *HistoricalMetric) SetName(v string) *HistoricalMetric {
18310	s.Name = &v
18311	return s
18312}
18313
18314// SetStatistic sets the Statistic field's value.
18315func (s *HistoricalMetric) SetStatistic(v string) *HistoricalMetric {
18316	s.Statistic = &v
18317	return s
18318}
18319
18320// SetThreshold sets the Threshold field's value.
18321func (s *HistoricalMetric) SetThreshold(v *Threshold) *HistoricalMetric {
18322	s.Threshold = v
18323	return s
18324}
18325
18326// SetUnit sets the Unit field's value.
18327func (s *HistoricalMetric) SetUnit(v string) *HistoricalMetric {
18328	s.Unit = &v
18329	return s
18330}
18331
18332// Contains the data for a historical metric.
18333type HistoricalMetricData struct {
18334	_ struct{} `type:"structure"`
18335
18336	// Information about the metric.
18337	Metric *HistoricalMetric `type:"structure"`
18338
18339	// The value of the metric.
18340	Value *float64 `type:"double"`
18341}
18342
18343// String returns the string representation
18344func (s HistoricalMetricData) String() string {
18345	return awsutil.Prettify(s)
18346}
18347
18348// GoString returns the string representation
18349func (s HistoricalMetricData) GoString() string {
18350	return s.String()
18351}
18352
18353// SetMetric sets the Metric field's value.
18354func (s *HistoricalMetricData) SetMetric(v *HistoricalMetric) *HistoricalMetricData {
18355	s.Metric = v
18356	return s
18357}
18358
18359// SetValue sets the Value field's value.
18360func (s *HistoricalMetricData) SetValue(v float64) *HistoricalMetricData {
18361	s.Value = &v
18362	return s
18363}
18364
18365// Contains information about the historical metrics retrieved.
18366type HistoricalMetricResult struct {
18367	_ struct{} `type:"structure"`
18368
18369	// The set of metrics.
18370	Collections []*HistoricalMetricData `type:"list"`
18371
18372	// The dimension for the metrics.
18373	Dimensions *Dimensions `type:"structure"`
18374}
18375
18376// String returns the string representation
18377func (s HistoricalMetricResult) String() string {
18378	return awsutil.Prettify(s)
18379}
18380
18381// GoString returns the string representation
18382func (s HistoricalMetricResult) GoString() string {
18383	return s.String()
18384}
18385
18386// SetCollections sets the Collections field's value.
18387func (s *HistoricalMetricResult) SetCollections(v []*HistoricalMetricData) *HistoricalMetricResult {
18388	s.Collections = v
18389	return s
18390}
18391
18392// SetDimensions sets the Dimensions field's value.
18393func (s *HistoricalMetricResult) SetDimensions(v *Dimensions) *HistoricalMetricResult {
18394	s.Dimensions = v
18395	return s
18396}
18397
18398// Information about of the hours of operation.
18399type HoursOfOperation struct {
18400	_ struct{} `type:"structure"`
18401
18402	// Configuration information for the hours of operation.
18403	Config []*HoursOfOperationConfig `type:"list"`
18404
18405	// The description for the hours of operation.
18406	Description *string `min:"1" type:"string"`
18407
18408	// The Amazon Resource Name (ARN) for the hours of operation.
18409	HoursOfOperationArn *string `type:"string"`
18410
18411	// The identifier for the hours of operation.
18412	HoursOfOperationId *string `type:"string"`
18413
18414	// The name for the hours of operation.
18415	Name *string `min:"1" type:"string"`
18416
18417	// One or more tags.
18418	Tags map[string]*string `min:"1" type:"map"`
18419
18420	// The time zone for the hours of operation.
18421	TimeZone *string `type:"string"`
18422}
18423
18424// String returns the string representation
18425func (s HoursOfOperation) String() string {
18426	return awsutil.Prettify(s)
18427}
18428
18429// GoString returns the string representation
18430func (s HoursOfOperation) GoString() string {
18431	return s.String()
18432}
18433
18434// SetConfig sets the Config field's value.
18435func (s *HoursOfOperation) SetConfig(v []*HoursOfOperationConfig) *HoursOfOperation {
18436	s.Config = v
18437	return s
18438}
18439
18440// SetDescription sets the Description field's value.
18441func (s *HoursOfOperation) SetDescription(v string) *HoursOfOperation {
18442	s.Description = &v
18443	return s
18444}
18445
18446// SetHoursOfOperationArn sets the HoursOfOperationArn field's value.
18447func (s *HoursOfOperation) SetHoursOfOperationArn(v string) *HoursOfOperation {
18448	s.HoursOfOperationArn = &v
18449	return s
18450}
18451
18452// SetHoursOfOperationId sets the HoursOfOperationId field's value.
18453func (s *HoursOfOperation) SetHoursOfOperationId(v string) *HoursOfOperation {
18454	s.HoursOfOperationId = &v
18455	return s
18456}
18457
18458// SetName sets the Name field's value.
18459func (s *HoursOfOperation) SetName(v string) *HoursOfOperation {
18460	s.Name = &v
18461	return s
18462}
18463
18464// SetTags sets the Tags field's value.
18465func (s *HoursOfOperation) SetTags(v map[string]*string) *HoursOfOperation {
18466	s.Tags = v
18467	return s
18468}
18469
18470// SetTimeZone sets the TimeZone field's value.
18471func (s *HoursOfOperation) SetTimeZone(v string) *HoursOfOperation {
18472	s.TimeZone = &v
18473	return s
18474}
18475
18476// Contains information about the hours of operation.
18477type HoursOfOperationConfig struct {
18478	_ struct{} `type:"structure"`
18479
18480	// The day that the hours of operation applies to.
18481	//
18482	// Day is a required field
18483	Day *string `type:"string" required:"true" enum:"HoursOfOperationDays"`
18484
18485	// The end time that your contact center is closes.
18486	//
18487	// EndTime is a required field
18488	EndTime *HoursOfOperationTimeSlice `type:"structure" required:"true"`
18489
18490	// The start time that your contact center is open.
18491	//
18492	// StartTime is a required field
18493	StartTime *HoursOfOperationTimeSlice `type:"structure" required:"true"`
18494}
18495
18496// String returns the string representation
18497func (s HoursOfOperationConfig) String() string {
18498	return awsutil.Prettify(s)
18499}
18500
18501// GoString returns the string representation
18502func (s HoursOfOperationConfig) GoString() string {
18503	return s.String()
18504}
18505
18506// Validate inspects the fields of the type to determine if they are valid.
18507func (s *HoursOfOperationConfig) Validate() error {
18508	invalidParams := request.ErrInvalidParams{Context: "HoursOfOperationConfig"}
18509	if s.Day == nil {
18510		invalidParams.Add(request.NewErrParamRequired("Day"))
18511	}
18512	if s.EndTime == nil {
18513		invalidParams.Add(request.NewErrParamRequired("EndTime"))
18514	}
18515	if s.StartTime == nil {
18516		invalidParams.Add(request.NewErrParamRequired("StartTime"))
18517	}
18518	if s.EndTime != nil {
18519		if err := s.EndTime.Validate(); err != nil {
18520			invalidParams.AddNested("EndTime", err.(request.ErrInvalidParams))
18521		}
18522	}
18523	if s.StartTime != nil {
18524		if err := s.StartTime.Validate(); err != nil {
18525			invalidParams.AddNested("StartTime", err.(request.ErrInvalidParams))
18526		}
18527	}
18528
18529	if invalidParams.Len() > 0 {
18530		return invalidParams
18531	}
18532	return nil
18533}
18534
18535// SetDay sets the Day field's value.
18536func (s *HoursOfOperationConfig) SetDay(v string) *HoursOfOperationConfig {
18537	s.Day = &v
18538	return s
18539}
18540
18541// SetEndTime sets the EndTime field's value.
18542func (s *HoursOfOperationConfig) SetEndTime(v *HoursOfOperationTimeSlice) *HoursOfOperationConfig {
18543	s.EndTime = v
18544	return s
18545}
18546
18547// SetStartTime sets the StartTime field's value.
18548func (s *HoursOfOperationConfig) SetStartTime(v *HoursOfOperationTimeSlice) *HoursOfOperationConfig {
18549	s.StartTime = v
18550	return s
18551}
18552
18553// Contains summary information about hours of operation for a contact center.
18554type HoursOfOperationSummary struct {
18555	_ struct{} `type:"structure"`
18556
18557	// The Amazon Resource Name (ARN) of the hours of operation.
18558	Arn *string `type:"string"`
18559
18560	// The identifier of the hours of operation.
18561	Id *string `type:"string"`
18562
18563	// The name of the hours of operation.
18564	Name *string `type:"string"`
18565}
18566
18567// String returns the string representation
18568func (s HoursOfOperationSummary) String() string {
18569	return awsutil.Prettify(s)
18570}
18571
18572// GoString returns the string representation
18573func (s HoursOfOperationSummary) GoString() string {
18574	return s.String()
18575}
18576
18577// SetArn sets the Arn field's value.
18578func (s *HoursOfOperationSummary) SetArn(v string) *HoursOfOperationSummary {
18579	s.Arn = &v
18580	return s
18581}
18582
18583// SetId sets the Id field's value.
18584func (s *HoursOfOperationSummary) SetId(v string) *HoursOfOperationSummary {
18585	s.Id = &v
18586	return s
18587}
18588
18589// SetName sets the Name field's value.
18590func (s *HoursOfOperationSummary) SetName(v string) *HoursOfOperationSummary {
18591	s.Name = &v
18592	return s
18593}
18594
18595// The start time or end time for an hours of operation.
18596type HoursOfOperationTimeSlice struct {
18597	_ struct{} `type:"structure"`
18598
18599	// The hours.
18600	//
18601	// Hours is a required field
18602	Hours *int64 `type:"integer" required:"true"`
18603
18604	// The minutes.
18605	//
18606	// Minutes is a required field
18607	Minutes *int64 `type:"integer" required:"true"`
18608}
18609
18610// String returns the string representation
18611func (s HoursOfOperationTimeSlice) String() string {
18612	return awsutil.Prettify(s)
18613}
18614
18615// GoString returns the string representation
18616func (s HoursOfOperationTimeSlice) GoString() string {
18617	return s.String()
18618}
18619
18620// Validate inspects the fields of the type to determine if they are valid.
18621func (s *HoursOfOperationTimeSlice) Validate() error {
18622	invalidParams := request.ErrInvalidParams{Context: "HoursOfOperationTimeSlice"}
18623	if s.Hours == nil {
18624		invalidParams.Add(request.NewErrParamRequired("Hours"))
18625	}
18626	if s.Minutes == nil {
18627		invalidParams.Add(request.NewErrParamRequired("Minutes"))
18628	}
18629
18630	if invalidParams.Len() > 0 {
18631		return invalidParams
18632	}
18633	return nil
18634}
18635
18636// SetHours sets the Hours field's value.
18637func (s *HoursOfOperationTimeSlice) SetHours(v int64) *HoursOfOperationTimeSlice {
18638	s.Hours = &v
18639	return s
18640}
18641
18642// SetMinutes sets the Minutes field's value.
18643func (s *HoursOfOperationTimeSlice) SetMinutes(v int64) *HoursOfOperationTimeSlice {
18644	s.Minutes = &v
18645	return s
18646}
18647
18648// The Amazon Connect instance.
18649type Instance struct {
18650	_ struct{} `type:"structure"`
18651
18652	// The Amazon Resource Name (ARN) of the instance.
18653	Arn *string `type:"string"`
18654
18655	// When the instance was created.
18656	CreatedTime *time.Time `type:"timestamp"`
18657
18658	// The identifier of the Amazon Connect instance. You can find the instanceId
18659	// in the ARN of the instance.
18660	Id *string `min:"1" type:"string"`
18661
18662	// The identity management type.
18663	IdentityManagementType *string `type:"string" enum:"DirectoryType"`
18664
18665	// Whether inbound calls are enabled.
18666	InboundCallsEnabled *bool `type:"boolean"`
18667
18668	// The alias of instance.
18669	InstanceAlias *string `min:"1" type:"string" sensitive:"true"`
18670
18671	// The state of the instance.
18672	InstanceStatus *string `type:"string" enum:"InstanceStatus"`
18673
18674	// Whether outbound calls are enabled.
18675	OutboundCallsEnabled *bool `type:"boolean"`
18676
18677	// The service role of the instance.
18678	ServiceRole *string `type:"string"`
18679
18680	// Relevant details why the instance was not successfully created.
18681	StatusReason *InstanceStatusReason `type:"structure"`
18682}
18683
18684// String returns the string representation
18685func (s Instance) String() string {
18686	return awsutil.Prettify(s)
18687}
18688
18689// GoString returns the string representation
18690func (s Instance) GoString() string {
18691	return s.String()
18692}
18693
18694// SetArn sets the Arn field's value.
18695func (s *Instance) SetArn(v string) *Instance {
18696	s.Arn = &v
18697	return s
18698}
18699
18700// SetCreatedTime sets the CreatedTime field's value.
18701func (s *Instance) SetCreatedTime(v time.Time) *Instance {
18702	s.CreatedTime = &v
18703	return s
18704}
18705
18706// SetId sets the Id field's value.
18707func (s *Instance) SetId(v string) *Instance {
18708	s.Id = &v
18709	return s
18710}
18711
18712// SetIdentityManagementType sets the IdentityManagementType field's value.
18713func (s *Instance) SetIdentityManagementType(v string) *Instance {
18714	s.IdentityManagementType = &v
18715	return s
18716}
18717
18718// SetInboundCallsEnabled sets the InboundCallsEnabled field's value.
18719func (s *Instance) SetInboundCallsEnabled(v bool) *Instance {
18720	s.InboundCallsEnabled = &v
18721	return s
18722}
18723
18724// SetInstanceAlias sets the InstanceAlias field's value.
18725func (s *Instance) SetInstanceAlias(v string) *Instance {
18726	s.InstanceAlias = &v
18727	return s
18728}
18729
18730// SetInstanceStatus sets the InstanceStatus field's value.
18731func (s *Instance) SetInstanceStatus(v string) *Instance {
18732	s.InstanceStatus = &v
18733	return s
18734}
18735
18736// SetOutboundCallsEnabled sets the OutboundCallsEnabled field's value.
18737func (s *Instance) SetOutboundCallsEnabled(v bool) *Instance {
18738	s.OutboundCallsEnabled = &v
18739	return s
18740}
18741
18742// SetServiceRole sets the ServiceRole field's value.
18743func (s *Instance) SetServiceRole(v string) *Instance {
18744	s.ServiceRole = &v
18745	return s
18746}
18747
18748// SetStatusReason sets the StatusReason field's value.
18749func (s *Instance) SetStatusReason(v *InstanceStatusReason) *Instance {
18750	s.StatusReason = v
18751	return s
18752}
18753
18754// Relevant details why the instance was not successfully created.
18755type InstanceStatusReason struct {
18756	_ struct{} `type:"structure"`
18757
18758	// The message.
18759	Message *string `type:"string"`
18760}
18761
18762// String returns the string representation
18763func (s InstanceStatusReason) String() string {
18764	return awsutil.Prettify(s)
18765}
18766
18767// GoString returns the string representation
18768func (s InstanceStatusReason) GoString() string {
18769	return s.String()
18770}
18771
18772// SetMessage sets the Message field's value.
18773func (s *InstanceStatusReason) SetMessage(v string) *InstanceStatusReason {
18774	s.Message = &v
18775	return s
18776}
18777
18778// The storage configuration for the instance.
18779type InstanceStorageConfig struct {
18780	_ struct{} `type:"structure"`
18781
18782	// The existing association identifier that uniquely identifies the resource
18783	// type and storage config for the given instance ID.
18784	AssociationId *string `min:"1" type:"string"`
18785
18786	// The configuration of the Kinesis Firehose delivery stream.
18787	KinesisFirehoseConfig *KinesisFirehoseConfig `type:"structure"`
18788
18789	// The configuration of the Kinesis data stream.
18790	KinesisStreamConfig *KinesisStreamConfig `type:"structure"`
18791
18792	// The configuration of the Kinesis video stream.
18793	KinesisVideoStreamConfig *KinesisVideoStreamConfig `type:"structure"`
18794
18795	// The S3 bucket configuration.
18796	S3Config *S3Config `type:"structure"`
18797
18798	// A valid storage type.
18799	//
18800	// StorageType is a required field
18801	StorageType *string `type:"string" required:"true" enum:"StorageType"`
18802}
18803
18804// String returns the string representation
18805func (s InstanceStorageConfig) String() string {
18806	return awsutil.Prettify(s)
18807}
18808
18809// GoString returns the string representation
18810func (s InstanceStorageConfig) GoString() string {
18811	return s.String()
18812}
18813
18814// Validate inspects the fields of the type to determine if they are valid.
18815func (s *InstanceStorageConfig) Validate() error {
18816	invalidParams := request.ErrInvalidParams{Context: "InstanceStorageConfig"}
18817	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
18818		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
18819	}
18820	if s.StorageType == nil {
18821		invalidParams.Add(request.NewErrParamRequired("StorageType"))
18822	}
18823	if s.KinesisFirehoseConfig != nil {
18824		if err := s.KinesisFirehoseConfig.Validate(); err != nil {
18825			invalidParams.AddNested("KinesisFirehoseConfig", err.(request.ErrInvalidParams))
18826		}
18827	}
18828	if s.KinesisStreamConfig != nil {
18829		if err := s.KinesisStreamConfig.Validate(); err != nil {
18830			invalidParams.AddNested("KinesisStreamConfig", err.(request.ErrInvalidParams))
18831		}
18832	}
18833	if s.KinesisVideoStreamConfig != nil {
18834		if err := s.KinesisVideoStreamConfig.Validate(); err != nil {
18835			invalidParams.AddNested("KinesisVideoStreamConfig", err.(request.ErrInvalidParams))
18836		}
18837	}
18838	if s.S3Config != nil {
18839		if err := s.S3Config.Validate(); err != nil {
18840			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
18841		}
18842	}
18843
18844	if invalidParams.Len() > 0 {
18845		return invalidParams
18846	}
18847	return nil
18848}
18849
18850// SetAssociationId sets the AssociationId field's value.
18851func (s *InstanceStorageConfig) SetAssociationId(v string) *InstanceStorageConfig {
18852	s.AssociationId = &v
18853	return s
18854}
18855
18856// SetKinesisFirehoseConfig sets the KinesisFirehoseConfig field's value.
18857func (s *InstanceStorageConfig) SetKinesisFirehoseConfig(v *KinesisFirehoseConfig) *InstanceStorageConfig {
18858	s.KinesisFirehoseConfig = v
18859	return s
18860}
18861
18862// SetKinesisStreamConfig sets the KinesisStreamConfig field's value.
18863func (s *InstanceStorageConfig) SetKinesisStreamConfig(v *KinesisStreamConfig) *InstanceStorageConfig {
18864	s.KinesisStreamConfig = v
18865	return s
18866}
18867
18868// SetKinesisVideoStreamConfig sets the KinesisVideoStreamConfig field's value.
18869func (s *InstanceStorageConfig) SetKinesisVideoStreamConfig(v *KinesisVideoStreamConfig) *InstanceStorageConfig {
18870	s.KinesisVideoStreamConfig = v
18871	return s
18872}
18873
18874// SetS3Config sets the S3Config field's value.
18875func (s *InstanceStorageConfig) SetS3Config(v *S3Config) *InstanceStorageConfig {
18876	s.S3Config = v
18877	return s
18878}
18879
18880// SetStorageType sets the StorageType field's value.
18881func (s *InstanceStorageConfig) SetStorageType(v string) *InstanceStorageConfig {
18882	s.StorageType = &v
18883	return s
18884}
18885
18886// Information about the instance.
18887type InstanceSummary struct {
18888	_ struct{} `type:"structure"`
18889
18890	// The Amazon Resource Name (ARN) of the instance.
18891	Arn *string `type:"string"`
18892
18893	// When the instance was created.
18894	CreatedTime *time.Time `type:"timestamp"`
18895
18896	// The identifier of the instance.
18897	Id *string `min:"1" type:"string"`
18898
18899	// The identity management type of the instance.
18900	IdentityManagementType *string `type:"string" enum:"DirectoryType"`
18901
18902	// Whether inbound calls are enabled.
18903	InboundCallsEnabled *bool `type:"boolean"`
18904
18905	// The alias of the instance.
18906	InstanceAlias *string `min:"1" type:"string" sensitive:"true"`
18907
18908	// The state of the instance.
18909	InstanceStatus *string `type:"string" enum:"InstanceStatus"`
18910
18911	// Whether outbound calls are enabled.
18912	OutboundCallsEnabled *bool `type:"boolean"`
18913
18914	// The service role of the instance.
18915	ServiceRole *string `type:"string"`
18916}
18917
18918// String returns the string representation
18919func (s InstanceSummary) String() string {
18920	return awsutil.Prettify(s)
18921}
18922
18923// GoString returns the string representation
18924func (s InstanceSummary) GoString() string {
18925	return s.String()
18926}
18927
18928// SetArn sets the Arn field's value.
18929func (s *InstanceSummary) SetArn(v string) *InstanceSummary {
18930	s.Arn = &v
18931	return s
18932}
18933
18934// SetCreatedTime sets the CreatedTime field's value.
18935func (s *InstanceSummary) SetCreatedTime(v time.Time) *InstanceSummary {
18936	s.CreatedTime = &v
18937	return s
18938}
18939
18940// SetId sets the Id field's value.
18941func (s *InstanceSummary) SetId(v string) *InstanceSummary {
18942	s.Id = &v
18943	return s
18944}
18945
18946// SetIdentityManagementType sets the IdentityManagementType field's value.
18947func (s *InstanceSummary) SetIdentityManagementType(v string) *InstanceSummary {
18948	s.IdentityManagementType = &v
18949	return s
18950}
18951
18952// SetInboundCallsEnabled sets the InboundCallsEnabled field's value.
18953func (s *InstanceSummary) SetInboundCallsEnabled(v bool) *InstanceSummary {
18954	s.InboundCallsEnabled = &v
18955	return s
18956}
18957
18958// SetInstanceAlias sets the InstanceAlias field's value.
18959func (s *InstanceSummary) SetInstanceAlias(v string) *InstanceSummary {
18960	s.InstanceAlias = &v
18961	return s
18962}
18963
18964// SetInstanceStatus sets the InstanceStatus field's value.
18965func (s *InstanceSummary) SetInstanceStatus(v string) *InstanceSummary {
18966	s.InstanceStatus = &v
18967	return s
18968}
18969
18970// SetOutboundCallsEnabled sets the OutboundCallsEnabled field's value.
18971func (s *InstanceSummary) SetOutboundCallsEnabled(v bool) *InstanceSummary {
18972	s.OutboundCallsEnabled = &v
18973	return s
18974}
18975
18976// SetServiceRole sets the ServiceRole field's value.
18977func (s *InstanceSummary) SetServiceRole(v string) *InstanceSummary {
18978	s.ServiceRole = &v
18979	return s
18980}
18981
18982// Contains summary information about the associated AppIntegrations.
18983type IntegrationAssociationSummary struct {
18984	_ struct{} `type:"structure"`
18985
18986	// The identifier of the Amazon Connect instance. You can find the instanceId
18987	// in the ARN of the instance.
18988	InstanceId *string `min:"1" type:"string"`
18989
18990	// The Amazon Resource Name (ARN) for the AppIntegration.
18991	IntegrationArn *string `type:"string"`
18992
18993	// The Amazon Resource Name (ARN) for the AppIntegration association.
18994	IntegrationAssociationArn *string `type:"string"`
18995
18996	// The identifier for the AppIntegration association.
18997	IntegrationAssociationId *string `min:"1" type:"string"`
18998
18999	// The integration type.
19000	IntegrationType *string `type:"string" enum:"IntegrationType"`
19001
19002	// The user-provided, friendly name for the external application.
19003	SourceApplicationName *string `min:"1" type:"string"`
19004
19005	// The URL for the external application.
19006	SourceApplicationUrl *string `min:"1" type:"string"`
19007
19008	// The name of the source.
19009	SourceType *string `type:"string" enum:"SourceType"`
19010}
19011
19012// String returns the string representation
19013func (s IntegrationAssociationSummary) String() string {
19014	return awsutil.Prettify(s)
19015}
19016
19017// GoString returns the string representation
19018func (s IntegrationAssociationSummary) GoString() string {
19019	return s.String()
19020}
19021
19022// SetInstanceId sets the InstanceId field's value.
19023func (s *IntegrationAssociationSummary) SetInstanceId(v string) *IntegrationAssociationSummary {
19024	s.InstanceId = &v
19025	return s
19026}
19027
19028// SetIntegrationArn sets the IntegrationArn field's value.
19029func (s *IntegrationAssociationSummary) SetIntegrationArn(v string) *IntegrationAssociationSummary {
19030	s.IntegrationArn = &v
19031	return s
19032}
19033
19034// SetIntegrationAssociationArn sets the IntegrationAssociationArn field's value.
19035func (s *IntegrationAssociationSummary) SetIntegrationAssociationArn(v string) *IntegrationAssociationSummary {
19036	s.IntegrationAssociationArn = &v
19037	return s
19038}
19039
19040// SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
19041func (s *IntegrationAssociationSummary) SetIntegrationAssociationId(v string) *IntegrationAssociationSummary {
19042	s.IntegrationAssociationId = &v
19043	return s
19044}
19045
19046// SetIntegrationType sets the IntegrationType field's value.
19047func (s *IntegrationAssociationSummary) SetIntegrationType(v string) *IntegrationAssociationSummary {
19048	s.IntegrationType = &v
19049	return s
19050}
19051
19052// SetSourceApplicationName sets the SourceApplicationName field's value.
19053func (s *IntegrationAssociationSummary) SetSourceApplicationName(v string) *IntegrationAssociationSummary {
19054	s.SourceApplicationName = &v
19055	return s
19056}
19057
19058// SetSourceApplicationUrl sets the SourceApplicationUrl field's value.
19059func (s *IntegrationAssociationSummary) SetSourceApplicationUrl(v string) *IntegrationAssociationSummary {
19060	s.SourceApplicationUrl = &v
19061	return s
19062}
19063
19064// SetSourceType sets the SourceType field's value.
19065func (s *IntegrationAssociationSummary) SetSourceType(v string) *IntegrationAssociationSummary {
19066	s.SourceType = &v
19067	return s
19068}
19069
19070// Request processing failed because of an error or failure with the service.
19071type InternalServiceException struct {
19072	_            struct{}                  `type:"structure"`
19073	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19074
19075	// The message.
19076	Message_ *string `locationName:"Message" type:"string"`
19077}
19078
19079// String returns the string representation
19080func (s InternalServiceException) String() string {
19081	return awsutil.Prettify(s)
19082}
19083
19084// GoString returns the string representation
19085func (s InternalServiceException) GoString() string {
19086	return s.String()
19087}
19088
19089func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
19090	return &InternalServiceException{
19091		RespMetadata: v,
19092	}
19093}
19094
19095// Code returns the exception type name.
19096func (s *InternalServiceException) Code() string {
19097	return "InternalServiceException"
19098}
19099
19100// Message returns the exception's message.
19101func (s *InternalServiceException) Message() string {
19102	if s.Message_ != nil {
19103		return *s.Message_
19104	}
19105	return ""
19106}
19107
19108// OrigErr always returns nil, satisfies awserr.Error interface.
19109func (s *InternalServiceException) OrigErr() error {
19110	return nil
19111}
19112
19113func (s *InternalServiceException) Error() string {
19114	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19115}
19116
19117// Status code returns the HTTP status code for the request's response error.
19118func (s *InternalServiceException) StatusCode() int {
19119	return s.RespMetadata.StatusCode
19120}
19121
19122// RequestID returns the service's response RequestID for request.
19123func (s *InternalServiceException) RequestID() string {
19124	return s.RespMetadata.RequestID
19125}
19126
19127// The contact flow is not valid.
19128type InvalidContactFlowException struct {
19129	_            struct{}                  `type:"structure"`
19130	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19131
19132	Message_ *string `locationName:"message" type:"string"`
19133
19134	// The problems with the contact flow. Please fix before trying again.
19135	Problems []*ProblemDetail `locationName:"problems" min:"1" type:"list"`
19136}
19137
19138// String returns the string representation
19139func (s InvalidContactFlowException) String() string {
19140	return awsutil.Prettify(s)
19141}
19142
19143// GoString returns the string representation
19144func (s InvalidContactFlowException) GoString() string {
19145	return s.String()
19146}
19147
19148func newErrorInvalidContactFlowException(v protocol.ResponseMetadata) error {
19149	return &InvalidContactFlowException{
19150		RespMetadata: v,
19151	}
19152}
19153
19154// Code returns the exception type name.
19155func (s *InvalidContactFlowException) Code() string {
19156	return "InvalidContactFlowException"
19157}
19158
19159// Message returns the exception's message.
19160func (s *InvalidContactFlowException) Message() string {
19161	if s.Message_ != nil {
19162		return *s.Message_
19163	}
19164	return ""
19165}
19166
19167// OrigErr always returns nil, satisfies awserr.Error interface.
19168func (s *InvalidContactFlowException) OrigErr() error {
19169	return nil
19170}
19171
19172func (s *InvalidContactFlowException) Error() string {
19173	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
19174}
19175
19176// Status code returns the HTTP status code for the request's response error.
19177func (s *InvalidContactFlowException) StatusCode() int {
19178	return s.RespMetadata.StatusCode
19179}
19180
19181// RequestID returns the service's response RequestID for request.
19182func (s *InvalidContactFlowException) RequestID() string {
19183	return s.RespMetadata.RequestID
19184}
19185
19186// One or more of the specified parameters are not valid.
19187type InvalidParameterException struct {
19188	_            struct{}                  `type:"structure"`
19189	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19190
19191	// The message about the parameters.
19192	Message_ *string `locationName:"Message" type:"string"`
19193}
19194
19195// String returns the string representation
19196func (s InvalidParameterException) String() string {
19197	return awsutil.Prettify(s)
19198}
19199
19200// GoString returns the string representation
19201func (s InvalidParameterException) GoString() string {
19202	return s.String()
19203}
19204
19205func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
19206	return &InvalidParameterException{
19207		RespMetadata: v,
19208	}
19209}
19210
19211// Code returns the exception type name.
19212func (s *InvalidParameterException) Code() string {
19213	return "InvalidParameterException"
19214}
19215
19216// Message returns the exception's message.
19217func (s *InvalidParameterException) Message() string {
19218	if s.Message_ != nil {
19219		return *s.Message_
19220	}
19221	return ""
19222}
19223
19224// OrigErr always returns nil, satisfies awserr.Error interface.
19225func (s *InvalidParameterException) OrigErr() error {
19226	return nil
19227}
19228
19229func (s *InvalidParameterException) Error() string {
19230	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19231}
19232
19233// Status code returns the HTTP status code for the request's response error.
19234func (s *InvalidParameterException) StatusCode() int {
19235	return s.RespMetadata.StatusCode
19236}
19237
19238// RequestID returns the service's response RequestID for request.
19239func (s *InvalidParameterException) RequestID() string {
19240	return s.RespMetadata.RequestID
19241}
19242
19243// The request is not valid.
19244type InvalidRequestException struct {
19245	_            struct{}                  `type:"structure"`
19246	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19247
19248	// The message about the request.
19249	Message_ *string `locationName:"Message" type:"string"`
19250}
19251
19252// String returns the string representation
19253func (s InvalidRequestException) String() string {
19254	return awsutil.Prettify(s)
19255}
19256
19257// GoString returns the string representation
19258func (s InvalidRequestException) GoString() string {
19259	return s.String()
19260}
19261
19262func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
19263	return &InvalidRequestException{
19264		RespMetadata: v,
19265	}
19266}
19267
19268// Code returns the exception type name.
19269func (s *InvalidRequestException) Code() string {
19270	return "InvalidRequestException"
19271}
19272
19273// Message returns the exception's message.
19274func (s *InvalidRequestException) Message() string {
19275	if s.Message_ != nil {
19276		return *s.Message_
19277	}
19278	return ""
19279}
19280
19281// OrigErr always returns nil, satisfies awserr.Error interface.
19282func (s *InvalidRequestException) OrigErr() error {
19283	return nil
19284}
19285
19286func (s *InvalidRequestException) Error() string {
19287	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19288}
19289
19290// Status code returns the HTTP status code for the request's response error.
19291func (s *InvalidRequestException) StatusCode() int {
19292	return s.RespMetadata.StatusCode
19293}
19294
19295// RequestID returns the service's response RequestID for request.
19296func (s *InvalidRequestException) RequestID() string {
19297	return s.RespMetadata.RequestID
19298}
19299
19300// Configuration information of a Kinesis Data Firehose delivery stream.
19301type KinesisFirehoseConfig struct {
19302	_ struct{} `type:"structure"`
19303
19304	// The Amazon Resource Name (ARN) of the delivery stream.
19305	//
19306	// FirehoseArn is a required field
19307	FirehoseArn *string `type:"string" required:"true"`
19308}
19309
19310// String returns the string representation
19311func (s KinesisFirehoseConfig) String() string {
19312	return awsutil.Prettify(s)
19313}
19314
19315// GoString returns the string representation
19316func (s KinesisFirehoseConfig) GoString() string {
19317	return s.String()
19318}
19319
19320// Validate inspects the fields of the type to determine if they are valid.
19321func (s *KinesisFirehoseConfig) Validate() error {
19322	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseConfig"}
19323	if s.FirehoseArn == nil {
19324		invalidParams.Add(request.NewErrParamRequired("FirehoseArn"))
19325	}
19326
19327	if invalidParams.Len() > 0 {
19328		return invalidParams
19329	}
19330	return nil
19331}
19332
19333// SetFirehoseArn sets the FirehoseArn field's value.
19334func (s *KinesisFirehoseConfig) SetFirehoseArn(v string) *KinesisFirehoseConfig {
19335	s.FirehoseArn = &v
19336	return s
19337}
19338
19339// Configuration information of a Kinesis data stream.
19340type KinesisStreamConfig struct {
19341	_ struct{} `type:"structure"`
19342
19343	// The Amazon Resource Name (ARN) of the data stream.
19344	//
19345	// StreamArn is a required field
19346	StreamArn *string `type:"string" required:"true"`
19347}
19348
19349// String returns the string representation
19350func (s KinesisStreamConfig) String() string {
19351	return awsutil.Prettify(s)
19352}
19353
19354// GoString returns the string representation
19355func (s KinesisStreamConfig) GoString() string {
19356	return s.String()
19357}
19358
19359// Validate inspects the fields of the type to determine if they are valid.
19360func (s *KinesisStreamConfig) Validate() error {
19361	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamConfig"}
19362	if s.StreamArn == nil {
19363		invalidParams.Add(request.NewErrParamRequired("StreamArn"))
19364	}
19365
19366	if invalidParams.Len() > 0 {
19367		return invalidParams
19368	}
19369	return nil
19370}
19371
19372// SetStreamArn sets the StreamArn field's value.
19373func (s *KinesisStreamConfig) SetStreamArn(v string) *KinesisStreamConfig {
19374	s.StreamArn = &v
19375	return s
19376}
19377
19378// Configuration information of a Kinesis video stream.
19379type KinesisVideoStreamConfig struct {
19380	_ struct{} `type:"structure"`
19381
19382	// The encryption configuration.
19383	//
19384	// EncryptionConfig is a required field
19385	EncryptionConfig *EncryptionConfig `type:"structure" required:"true"`
19386
19387	// The prefix of the video stream.
19388	//
19389	// Prefix is a required field
19390	Prefix *string `min:"1" type:"string" required:"true"`
19391
19392	// The number of hours data is retained in the stream. Kinesis Video Streams
19393	// retains the data in a data store that is associated with the stream.
19394	//
19395	// The default value is 0, indicating that the stream does not persist data.
19396	//
19397	// RetentionPeriodHours is a required field
19398	RetentionPeriodHours *int64 `type:"integer" required:"true"`
19399}
19400
19401// String returns the string representation
19402func (s KinesisVideoStreamConfig) String() string {
19403	return awsutil.Prettify(s)
19404}
19405
19406// GoString returns the string representation
19407func (s KinesisVideoStreamConfig) GoString() string {
19408	return s.String()
19409}
19410
19411// Validate inspects the fields of the type to determine if they are valid.
19412func (s *KinesisVideoStreamConfig) Validate() error {
19413	invalidParams := request.ErrInvalidParams{Context: "KinesisVideoStreamConfig"}
19414	if s.EncryptionConfig == nil {
19415		invalidParams.Add(request.NewErrParamRequired("EncryptionConfig"))
19416	}
19417	if s.Prefix == nil {
19418		invalidParams.Add(request.NewErrParamRequired("Prefix"))
19419	}
19420	if s.Prefix != nil && len(*s.Prefix) < 1 {
19421		invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
19422	}
19423	if s.RetentionPeriodHours == nil {
19424		invalidParams.Add(request.NewErrParamRequired("RetentionPeriodHours"))
19425	}
19426	if s.EncryptionConfig != nil {
19427		if err := s.EncryptionConfig.Validate(); err != nil {
19428			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
19429		}
19430	}
19431
19432	if invalidParams.Len() > 0 {
19433		return invalidParams
19434	}
19435	return nil
19436}
19437
19438// SetEncryptionConfig sets the EncryptionConfig field's value.
19439func (s *KinesisVideoStreamConfig) SetEncryptionConfig(v *EncryptionConfig) *KinesisVideoStreamConfig {
19440	s.EncryptionConfig = v
19441	return s
19442}
19443
19444// SetPrefix sets the Prefix field's value.
19445func (s *KinesisVideoStreamConfig) SetPrefix(v string) *KinesisVideoStreamConfig {
19446	s.Prefix = &v
19447	return s
19448}
19449
19450// SetRetentionPeriodHours sets the RetentionPeriodHours field's value.
19451func (s *KinesisVideoStreamConfig) SetRetentionPeriodHours(v int64) *KinesisVideoStreamConfig {
19452	s.RetentionPeriodHours = &v
19453	return s
19454}
19455
19456// Configuration information of an Amazon Lex bot.
19457type LexBot struct {
19458	_ struct{} `type:"structure"`
19459
19460	// The Region that the Amazon Lex bot was created in.
19461	LexRegion *string `type:"string"`
19462
19463	// The name of the Amazon Lex bot.
19464	Name *string `type:"string"`
19465}
19466
19467// String returns the string representation
19468func (s LexBot) String() string {
19469	return awsutil.Prettify(s)
19470}
19471
19472// GoString returns the string representation
19473func (s LexBot) GoString() string {
19474	return s.String()
19475}
19476
19477// SetLexRegion sets the LexRegion field's value.
19478func (s *LexBot) SetLexRegion(v string) *LexBot {
19479	s.LexRegion = &v
19480	return s
19481}
19482
19483// SetName sets the Name field's value.
19484func (s *LexBot) SetName(v string) *LexBot {
19485	s.Name = &v
19486	return s
19487}
19488
19489// Configuration information of an Amazon Lex or Amazon Lex V2 bot.
19490type LexBotConfig struct {
19491	_ struct{} `type:"structure"`
19492
19493	// Configuration information of an Amazon Lex bot.
19494	LexBot *LexBot `type:"structure"`
19495
19496	// Configuration information of an Amazon Lex V2 bot.
19497	LexV2Bot *LexV2Bot `type:"structure"`
19498}
19499
19500// String returns the string representation
19501func (s LexBotConfig) String() string {
19502	return awsutil.Prettify(s)
19503}
19504
19505// GoString returns the string representation
19506func (s LexBotConfig) GoString() string {
19507	return s.String()
19508}
19509
19510// SetLexBot sets the LexBot field's value.
19511func (s *LexBotConfig) SetLexBot(v *LexBot) *LexBotConfig {
19512	s.LexBot = v
19513	return s
19514}
19515
19516// SetLexV2Bot sets the LexV2Bot field's value.
19517func (s *LexBotConfig) SetLexV2Bot(v *LexV2Bot) *LexBotConfig {
19518	s.LexV2Bot = v
19519	return s
19520}
19521
19522// Configuration information of an Amazon Lex V2 bot.
19523type LexV2Bot struct {
19524	_ struct{} `type:"structure"`
19525
19526	// The Amazon Resource Name (ARN) of the Amazon Lex V2 bot.
19527	AliasArn *string `min:"1" type:"string"`
19528}
19529
19530// String returns the string representation
19531func (s LexV2Bot) String() string {
19532	return awsutil.Prettify(s)
19533}
19534
19535// GoString returns the string representation
19536func (s LexV2Bot) GoString() string {
19537	return s.String()
19538}
19539
19540// Validate inspects the fields of the type to determine if they are valid.
19541func (s *LexV2Bot) Validate() error {
19542	invalidParams := request.ErrInvalidParams{Context: "LexV2Bot"}
19543	if s.AliasArn != nil && len(*s.AliasArn) < 1 {
19544		invalidParams.Add(request.NewErrParamMinLen("AliasArn", 1))
19545	}
19546
19547	if invalidParams.Len() > 0 {
19548		return invalidParams
19549	}
19550	return nil
19551}
19552
19553// SetAliasArn sets the AliasArn field's value.
19554func (s *LexV2Bot) SetAliasArn(v string) *LexV2Bot {
19555	s.AliasArn = &v
19556	return s
19557}
19558
19559// The allowed limit for the resource has been exceeded.
19560type LimitExceededException struct {
19561	_            struct{}                  `type:"structure"`
19562	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
19563
19564	// The message about the limit.
19565	Message_ *string `locationName:"Message" type:"string"`
19566}
19567
19568// String returns the string representation
19569func (s LimitExceededException) String() string {
19570	return awsutil.Prettify(s)
19571}
19572
19573// GoString returns the string representation
19574func (s LimitExceededException) GoString() string {
19575	return s.String()
19576}
19577
19578func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
19579	return &LimitExceededException{
19580		RespMetadata: v,
19581	}
19582}
19583
19584// Code returns the exception type name.
19585func (s *LimitExceededException) Code() string {
19586	return "LimitExceededException"
19587}
19588
19589// Message returns the exception's message.
19590func (s *LimitExceededException) Message() string {
19591	if s.Message_ != nil {
19592		return *s.Message_
19593	}
19594	return ""
19595}
19596
19597// OrigErr always returns nil, satisfies awserr.Error interface.
19598func (s *LimitExceededException) OrigErr() error {
19599	return nil
19600}
19601
19602func (s *LimitExceededException) Error() string {
19603	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
19604}
19605
19606// Status code returns the HTTP status code for the request's response error.
19607func (s *LimitExceededException) StatusCode() int {
19608	return s.RespMetadata.StatusCode
19609}
19610
19611// RequestID returns the service's response RequestID for request.
19612func (s *LimitExceededException) RequestID() string {
19613	return s.RespMetadata.RequestID
19614}
19615
19616type ListAgentStatusesInput struct {
19617	_ struct{} `type:"structure"`
19618
19619	// Available agent status types.
19620	AgentStatusTypes []*string `location:"querystring" locationName:"AgentStatusTypes" type:"list"`
19621
19622	// The identifier of the Amazon Connect instance. You can find the instanceId
19623	// in the ARN of the instance.
19624	//
19625	// InstanceId is a required field
19626	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
19627
19628	// The maximum number of results to return per page.
19629	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
19630
19631	// The token for the next set of results. Use the value returned in the previous
19632	// response in the next request to retrieve the next set of results.
19633	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
19634}
19635
19636// String returns the string representation
19637func (s ListAgentStatusesInput) String() string {
19638	return awsutil.Prettify(s)
19639}
19640
19641// GoString returns the string representation
19642func (s ListAgentStatusesInput) GoString() string {
19643	return s.String()
19644}
19645
19646// Validate inspects the fields of the type to determine if they are valid.
19647func (s *ListAgentStatusesInput) Validate() error {
19648	invalidParams := request.ErrInvalidParams{Context: "ListAgentStatusesInput"}
19649	if s.InstanceId == nil {
19650		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
19651	}
19652	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
19653		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
19654	}
19655	if s.MaxResults != nil && *s.MaxResults < 1 {
19656		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19657	}
19658
19659	if invalidParams.Len() > 0 {
19660		return invalidParams
19661	}
19662	return nil
19663}
19664
19665// SetAgentStatusTypes sets the AgentStatusTypes field's value.
19666func (s *ListAgentStatusesInput) SetAgentStatusTypes(v []*string) *ListAgentStatusesInput {
19667	s.AgentStatusTypes = v
19668	return s
19669}
19670
19671// SetInstanceId sets the InstanceId field's value.
19672func (s *ListAgentStatusesInput) SetInstanceId(v string) *ListAgentStatusesInput {
19673	s.InstanceId = &v
19674	return s
19675}
19676
19677// SetMaxResults sets the MaxResults field's value.
19678func (s *ListAgentStatusesInput) SetMaxResults(v int64) *ListAgentStatusesInput {
19679	s.MaxResults = &v
19680	return s
19681}
19682
19683// SetNextToken sets the NextToken field's value.
19684func (s *ListAgentStatusesInput) SetNextToken(v string) *ListAgentStatusesInput {
19685	s.NextToken = &v
19686	return s
19687}
19688
19689type ListAgentStatusesOutput struct {
19690	_ struct{} `type:"structure"`
19691
19692	// A summary of agent statuses.
19693	AgentStatusSummaryList []*AgentStatusSummary `type:"list"`
19694
19695	// If there are additional results, this is the token for the next set of results.
19696	NextToken *string `type:"string"`
19697}
19698
19699// String returns the string representation
19700func (s ListAgentStatusesOutput) String() string {
19701	return awsutil.Prettify(s)
19702}
19703
19704// GoString returns the string representation
19705func (s ListAgentStatusesOutput) GoString() string {
19706	return s.String()
19707}
19708
19709// SetAgentStatusSummaryList sets the AgentStatusSummaryList field's value.
19710func (s *ListAgentStatusesOutput) SetAgentStatusSummaryList(v []*AgentStatusSummary) *ListAgentStatusesOutput {
19711	s.AgentStatusSummaryList = v
19712	return s
19713}
19714
19715// SetNextToken sets the NextToken field's value.
19716func (s *ListAgentStatusesOutput) SetNextToken(v string) *ListAgentStatusesOutput {
19717	s.NextToken = &v
19718	return s
19719}
19720
19721type ListApprovedOriginsInput struct {
19722	_ struct{} `type:"structure"`
19723
19724	// The identifier of the Amazon Connect instance. You can find the instanceId
19725	// in the ARN of the instance.
19726	//
19727	// InstanceId is a required field
19728	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
19729
19730	// The maximum number of results to return per page.
19731	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
19732
19733	// The token for the next set of results. Use the value returned in the previous
19734	// response in the next request to retrieve the next set of results.
19735	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
19736}
19737
19738// String returns the string representation
19739func (s ListApprovedOriginsInput) String() string {
19740	return awsutil.Prettify(s)
19741}
19742
19743// GoString returns the string representation
19744func (s ListApprovedOriginsInput) GoString() string {
19745	return s.String()
19746}
19747
19748// Validate inspects the fields of the type to determine if they are valid.
19749func (s *ListApprovedOriginsInput) Validate() error {
19750	invalidParams := request.ErrInvalidParams{Context: "ListApprovedOriginsInput"}
19751	if s.InstanceId == nil {
19752		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
19753	}
19754	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
19755		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
19756	}
19757	if s.MaxResults != nil && *s.MaxResults < 1 {
19758		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19759	}
19760
19761	if invalidParams.Len() > 0 {
19762		return invalidParams
19763	}
19764	return nil
19765}
19766
19767// SetInstanceId sets the InstanceId field's value.
19768func (s *ListApprovedOriginsInput) SetInstanceId(v string) *ListApprovedOriginsInput {
19769	s.InstanceId = &v
19770	return s
19771}
19772
19773// SetMaxResults sets the MaxResults field's value.
19774func (s *ListApprovedOriginsInput) SetMaxResults(v int64) *ListApprovedOriginsInput {
19775	s.MaxResults = &v
19776	return s
19777}
19778
19779// SetNextToken sets the NextToken field's value.
19780func (s *ListApprovedOriginsInput) SetNextToken(v string) *ListApprovedOriginsInput {
19781	s.NextToken = &v
19782	return s
19783}
19784
19785type ListApprovedOriginsOutput struct {
19786	_ struct{} `type:"structure"`
19787
19788	// If there are additional results, this is the token for the next set of results.
19789	NextToken *string `type:"string"`
19790
19791	// The approved origins.
19792	Origins []*string `type:"list"`
19793}
19794
19795// String returns the string representation
19796func (s ListApprovedOriginsOutput) String() string {
19797	return awsutil.Prettify(s)
19798}
19799
19800// GoString returns the string representation
19801func (s ListApprovedOriginsOutput) GoString() string {
19802	return s.String()
19803}
19804
19805// SetNextToken sets the NextToken field's value.
19806func (s *ListApprovedOriginsOutput) SetNextToken(v string) *ListApprovedOriginsOutput {
19807	s.NextToken = &v
19808	return s
19809}
19810
19811// SetOrigins sets the Origins field's value.
19812func (s *ListApprovedOriginsOutput) SetOrigins(v []*string) *ListApprovedOriginsOutput {
19813	s.Origins = v
19814	return s
19815}
19816
19817type ListBotsInput struct {
19818	_ struct{} `type:"structure"`
19819
19820	// The identifier of the Amazon Connect instance. You can find the instanceId
19821	// in the ARN of the instance.
19822	//
19823	// InstanceId is a required field
19824	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
19825
19826	// The version of Amazon Lex or Amazon Lex V2.
19827	//
19828	// LexVersion is a required field
19829	LexVersion *string `location:"querystring" locationName:"lexVersion" type:"string" required:"true" enum:"LexVersion"`
19830
19831	// The maximum number of results to return per page.
19832	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
19833
19834	// The token for the next set of results. Use the value returned in the previous
19835	// response in the next request to retrieve the next set of results.
19836	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
19837}
19838
19839// String returns the string representation
19840func (s ListBotsInput) String() string {
19841	return awsutil.Prettify(s)
19842}
19843
19844// GoString returns the string representation
19845func (s ListBotsInput) GoString() string {
19846	return s.String()
19847}
19848
19849// Validate inspects the fields of the type to determine if they are valid.
19850func (s *ListBotsInput) Validate() error {
19851	invalidParams := request.ErrInvalidParams{Context: "ListBotsInput"}
19852	if s.InstanceId == nil {
19853		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
19854	}
19855	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
19856		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
19857	}
19858	if s.LexVersion == nil {
19859		invalidParams.Add(request.NewErrParamRequired("LexVersion"))
19860	}
19861	if s.MaxResults != nil && *s.MaxResults < 1 {
19862		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19863	}
19864
19865	if invalidParams.Len() > 0 {
19866		return invalidParams
19867	}
19868	return nil
19869}
19870
19871// SetInstanceId sets the InstanceId field's value.
19872func (s *ListBotsInput) SetInstanceId(v string) *ListBotsInput {
19873	s.InstanceId = &v
19874	return s
19875}
19876
19877// SetLexVersion sets the LexVersion field's value.
19878func (s *ListBotsInput) SetLexVersion(v string) *ListBotsInput {
19879	s.LexVersion = &v
19880	return s
19881}
19882
19883// SetMaxResults sets the MaxResults field's value.
19884func (s *ListBotsInput) SetMaxResults(v int64) *ListBotsInput {
19885	s.MaxResults = &v
19886	return s
19887}
19888
19889// SetNextToken sets the NextToken field's value.
19890func (s *ListBotsInput) SetNextToken(v string) *ListBotsInput {
19891	s.NextToken = &v
19892	return s
19893}
19894
19895type ListBotsOutput struct {
19896	_ struct{} `type:"structure"`
19897
19898	// The names and Regions of the Amazon Lex or Amazon Lex V2 bots associated
19899	// with the specified instance.
19900	LexBots []*LexBotConfig `type:"list"`
19901
19902	// If there are additional results, this is the token for the next set of results.
19903	NextToken *string `type:"string"`
19904}
19905
19906// String returns the string representation
19907func (s ListBotsOutput) String() string {
19908	return awsutil.Prettify(s)
19909}
19910
19911// GoString returns the string representation
19912func (s ListBotsOutput) GoString() string {
19913	return s.String()
19914}
19915
19916// SetLexBots sets the LexBots field's value.
19917func (s *ListBotsOutput) SetLexBots(v []*LexBotConfig) *ListBotsOutput {
19918	s.LexBots = v
19919	return s
19920}
19921
19922// SetNextToken sets the NextToken field's value.
19923func (s *ListBotsOutput) SetNextToken(v string) *ListBotsOutput {
19924	s.NextToken = &v
19925	return s
19926}
19927
19928type ListContactFlowsInput struct {
19929	_ struct{} `type:"structure"`
19930
19931	// The type of contact flow.
19932	ContactFlowTypes []*string `location:"querystring" locationName:"contactFlowTypes" type:"list"`
19933
19934	// The identifier of the Amazon Connect instance. You can find the instanceId
19935	// in the ARN of the instance.
19936	//
19937	// InstanceId is a required field
19938	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
19939
19940	// The maximum number of results to return per page.
19941	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
19942
19943	// The token for the next set of results. Use the value returned in the previous
19944	// response in the next request to retrieve the next set of results.
19945	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
19946}
19947
19948// String returns the string representation
19949func (s ListContactFlowsInput) String() string {
19950	return awsutil.Prettify(s)
19951}
19952
19953// GoString returns the string representation
19954func (s ListContactFlowsInput) GoString() string {
19955	return s.String()
19956}
19957
19958// Validate inspects the fields of the type to determine if they are valid.
19959func (s *ListContactFlowsInput) Validate() error {
19960	invalidParams := request.ErrInvalidParams{Context: "ListContactFlowsInput"}
19961	if s.InstanceId == nil {
19962		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
19963	}
19964	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
19965		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
19966	}
19967	if s.MaxResults != nil && *s.MaxResults < 1 {
19968		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
19969	}
19970
19971	if invalidParams.Len() > 0 {
19972		return invalidParams
19973	}
19974	return nil
19975}
19976
19977// SetContactFlowTypes sets the ContactFlowTypes field's value.
19978func (s *ListContactFlowsInput) SetContactFlowTypes(v []*string) *ListContactFlowsInput {
19979	s.ContactFlowTypes = v
19980	return s
19981}
19982
19983// SetInstanceId sets the InstanceId field's value.
19984func (s *ListContactFlowsInput) SetInstanceId(v string) *ListContactFlowsInput {
19985	s.InstanceId = &v
19986	return s
19987}
19988
19989// SetMaxResults sets the MaxResults field's value.
19990func (s *ListContactFlowsInput) SetMaxResults(v int64) *ListContactFlowsInput {
19991	s.MaxResults = &v
19992	return s
19993}
19994
19995// SetNextToken sets the NextToken field's value.
19996func (s *ListContactFlowsInput) SetNextToken(v string) *ListContactFlowsInput {
19997	s.NextToken = &v
19998	return s
19999}
20000
20001type ListContactFlowsOutput struct {
20002	_ struct{} `type:"structure"`
20003
20004	// Information about the contact flows.
20005	ContactFlowSummaryList []*ContactFlowSummary `type:"list"`
20006
20007	// If there are additional results, this is the token for the next set of results.
20008	NextToken *string `type:"string"`
20009}
20010
20011// String returns the string representation
20012func (s ListContactFlowsOutput) String() string {
20013	return awsutil.Prettify(s)
20014}
20015
20016// GoString returns the string representation
20017func (s ListContactFlowsOutput) GoString() string {
20018	return s.String()
20019}
20020
20021// SetContactFlowSummaryList sets the ContactFlowSummaryList field's value.
20022func (s *ListContactFlowsOutput) SetContactFlowSummaryList(v []*ContactFlowSummary) *ListContactFlowsOutput {
20023	s.ContactFlowSummaryList = v
20024	return s
20025}
20026
20027// SetNextToken sets the NextToken field's value.
20028func (s *ListContactFlowsOutput) SetNextToken(v string) *ListContactFlowsOutput {
20029	s.NextToken = &v
20030	return s
20031}
20032
20033type ListHoursOfOperationsInput struct {
20034	_ struct{} `type:"structure"`
20035
20036	// The identifier of the Amazon Connect instance. You can find the instanceId
20037	// in the ARN of the instance.
20038	//
20039	// InstanceId is a required field
20040	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20041
20042	// The maximum number of results to return per page.
20043	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20044
20045	// The token for the next set of results. Use the value returned in the previous
20046	// response in the next request to retrieve the next set of results.
20047	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20048}
20049
20050// String returns the string representation
20051func (s ListHoursOfOperationsInput) String() string {
20052	return awsutil.Prettify(s)
20053}
20054
20055// GoString returns the string representation
20056func (s ListHoursOfOperationsInput) GoString() string {
20057	return s.String()
20058}
20059
20060// Validate inspects the fields of the type to determine if they are valid.
20061func (s *ListHoursOfOperationsInput) Validate() error {
20062	invalidParams := request.ErrInvalidParams{Context: "ListHoursOfOperationsInput"}
20063	if s.InstanceId == nil {
20064		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20065	}
20066	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20067		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20068	}
20069	if s.MaxResults != nil && *s.MaxResults < 1 {
20070		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20071	}
20072
20073	if invalidParams.Len() > 0 {
20074		return invalidParams
20075	}
20076	return nil
20077}
20078
20079// SetInstanceId sets the InstanceId field's value.
20080func (s *ListHoursOfOperationsInput) SetInstanceId(v string) *ListHoursOfOperationsInput {
20081	s.InstanceId = &v
20082	return s
20083}
20084
20085// SetMaxResults sets the MaxResults field's value.
20086func (s *ListHoursOfOperationsInput) SetMaxResults(v int64) *ListHoursOfOperationsInput {
20087	s.MaxResults = &v
20088	return s
20089}
20090
20091// SetNextToken sets the NextToken field's value.
20092func (s *ListHoursOfOperationsInput) SetNextToken(v string) *ListHoursOfOperationsInput {
20093	s.NextToken = &v
20094	return s
20095}
20096
20097type ListHoursOfOperationsOutput struct {
20098	_ struct{} `type:"structure"`
20099
20100	// Information about the hours of operation.
20101	HoursOfOperationSummaryList []*HoursOfOperationSummary `type:"list"`
20102
20103	// If there are additional results, this is the token for the next set of results.
20104	NextToken *string `type:"string"`
20105}
20106
20107// String returns the string representation
20108func (s ListHoursOfOperationsOutput) String() string {
20109	return awsutil.Prettify(s)
20110}
20111
20112// GoString returns the string representation
20113func (s ListHoursOfOperationsOutput) GoString() string {
20114	return s.String()
20115}
20116
20117// SetHoursOfOperationSummaryList sets the HoursOfOperationSummaryList field's value.
20118func (s *ListHoursOfOperationsOutput) SetHoursOfOperationSummaryList(v []*HoursOfOperationSummary) *ListHoursOfOperationsOutput {
20119	s.HoursOfOperationSummaryList = v
20120	return s
20121}
20122
20123// SetNextToken sets the NextToken field's value.
20124func (s *ListHoursOfOperationsOutput) SetNextToken(v string) *ListHoursOfOperationsOutput {
20125	s.NextToken = &v
20126	return s
20127}
20128
20129type ListInstanceAttributesInput struct {
20130	_ struct{} `type:"structure"`
20131
20132	// The identifier of the Amazon Connect instance. You can find the instanceId
20133	// in the ARN of the instance.
20134	//
20135	// InstanceId is a required field
20136	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20137
20138	// The maximum number of results to return per page.
20139	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20140
20141	// The token for the next set of results. Use the value returned in the previous
20142	// response in the next request to retrieve the next set of results.
20143	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20144}
20145
20146// String returns the string representation
20147func (s ListInstanceAttributesInput) String() string {
20148	return awsutil.Prettify(s)
20149}
20150
20151// GoString returns the string representation
20152func (s ListInstanceAttributesInput) GoString() string {
20153	return s.String()
20154}
20155
20156// Validate inspects the fields of the type to determine if they are valid.
20157func (s *ListInstanceAttributesInput) Validate() error {
20158	invalidParams := request.ErrInvalidParams{Context: "ListInstanceAttributesInput"}
20159	if s.InstanceId == nil {
20160		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20161	}
20162	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20163		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20164	}
20165	if s.MaxResults != nil && *s.MaxResults < 1 {
20166		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20167	}
20168
20169	if invalidParams.Len() > 0 {
20170		return invalidParams
20171	}
20172	return nil
20173}
20174
20175// SetInstanceId sets the InstanceId field's value.
20176func (s *ListInstanceAttributesInput) SetInstanceId(v string) *ListInstanceAttributesInput {
20177	s.InstanceId = &v
20178	return s
20179}
20180
20181// SetMaxResults sets the MaxResults field's value.
20182func (s *ListInstanceAttributesInput) SetMaxResults(v int64) *ListInstanceAttributesInput {
20183	s.MaxResults = &v
20184	return s
20185}
20186
20187// SetNextToken sets the NextToken field's value.
20188func (s *ListInstanceAttributesInput) SetNextToken(v string) *ListInstanceAttributesInput {
20189	s.NextToken = &v
20190	return s
20191}
20192
20193type ListInstanceAttributesOutput struct {
20194	_ struct{} `type:"structure"`
20195
20196	// The attribute types.
20197	Attributes []*Attribute `type:"list"`
20198
20199	// If there are additional results, this is the token for the next set of results.
20200	NextToken *string `type:"string"`
20201}
20202
20203// String returns the string representation
20204func (s ListInstanceAttributesOutput) String() string {
20205	return awsutil.Prettify(s)
20206}
20207
20208// GoString returns the string representation
20209func (s ListInstanceAttributesOutput) GoString() string {
20210	return s.String()
20211}
20212
20213// SetAttributes sets the Attributes field's value.
20214func (s *ListInstanceAttributesOutput) SetAttributes(v []*Attribute) *ListInstanceAttributesOutput {
20215	s.Attributes = v
20216	return s
20217}
20218
20219// SetNextToken sets the NextToken field's value.
20220func (s *ListInstanceAttributesOutput) SetNextToken(v string) *ListInstanceAttributesOutput {
20221	s.NextToken = &v
20222	return s
20223}
20224
20225type ListInstanceStorageConfigsInput struct {
20226	_ struct{} `type:"structure"`
20227
20228	// The identifier of the Amazon Connect instance. You can find the instanceId
20229	// in the ARN of the instance.
20230	//
20231	// InstanceId is a required field
20232	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20233
20234	// The maximum number of results to return per page.
20235	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20236
20237	// The token for the next set of results. Use the value returned in the previous
20238	// response in the next request to retrieve the next set of results.
20239	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20240
20241	// A valid resource type.
20242	//
20243	// ResourceType is a required field
20244	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
20245}
20246
20247// String returns the string representation
20248func (s ListInstanceStorageConfigsInput) String() string {
20249	return awsutil.Prettify(s)
20250}
20251
20252// GoString returns the string representation
20253func (s ListInstanceStorageConfigsInput) GoString() string {
20254	return s.String()
20255}
20256
20257// Validate inspects the fields of the type to determine if they are valid.
20258func (s *ListInstanceStorageConfigsInput) Validate() error {
20259	invalidParams := request.ErrInvalidParams{Context: "ListInstanceStorageConfigsInput"}
20260	if s.InstanceId == nil {
20261		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20262	}
20263	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20264		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20265	}
20266	if s.MaxResults != nil && *s.MaxResults < 1 {
20267		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20268	}
20269	if s.ResourceType == nil {
20270		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
20271	}
20272
20273	if invalidParams.Len() > 0 {
20274		return invalidParams
20275	}
20276	return nil
20277}
20278
20279// SetInstanceId sets the InstanceId field's value.
20280func (s *ListInstanceStorageConfigsInput) SetInstanceId(v string) *ListInstanceStorageConfigsInput {
20281	s.InstanceId = &v
20282	return s
20283}
20284
20285// SetMaxResults sets the MaxResults field's value.
20286func (s *ListInstanceStorageConfigsInput) SetMaxResults(v int64) *ListInstanceStorageConfigsInput {
20287	s.MaxResults = &v
20288	return s
20289}
20290
20291// SetNextToken sets the NextToken field's value.
20292func (s *ListInstanceStorageConfigsInput) SetNextToken(v string) *ListInstanceStorageConfigsInput {
20293	s.NextToken = &v
20294	return s
20295}
20296
20297// SetResourceType sets the ResourceType field's value.
20298func (s *ListInstanceStorageConfigsInput) SetResourceType(v string) *ListInstanceStorageConfigsInput {
20299	s.ResourceType = &v
20300	return s
20301}
20302
20303type ListInstanceStorageConfigsOutput struct {
20304	_ struct{} `type:"structure"`
20305
20306	// If there are additional results, this is the token for the next set of results.
20307	NextToken *string `type:"string"`
20308
20309	// A valid storage type.
20310	StorageConfigs []*InstanceStorageConfig `type:"list"`
20311}
20312
20313// String returns the string representation
20314func (s ListInstanceStorageConfigsOutput) String() string {
20315	return awsutil.Prettify(s)
20316}
20317
20318// GoString returns the string representation
20319func (s ListInstanceStorageConfigsOutput) GoString() string {
20320	return s.String()
20321}
20322
20323// SetNextToken sets the NextToken field's value.
20324func (s *ListInstanceStorageConfigsOutput) SetNextToken(v string) *ListInstanceStorageConfigsOutput {
20325	s.NextToken = &v
20326	return s
20327}
20328
20329// SetStorageConfigs sets the StorageConfigs field's value.
20330func (s *ListInstanceStorageConfigsOutput) SetStorageConfigs(v []*InstanceStorageConfig) *ListInstanceStorageConfigsOutput {
20331	s.StorageConfigs = v
20332	return s
20333}
20334
20335type ListInstancesInput struct {
20336	_ struct{} `type:"structure"`
20337
20338	// The maximum number of results to return per page.
20339	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20340
20341	// The token for the next set of results. Use the value returned in the previous
20342	// response in the next request to retrieve the next set of results.
20343	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20344}
20345
20346// String returns the string representation
20347func (s ListInstancesInput) String() string {
20348	return awsutil.Prettify(s)
20349}
20350
20351// GoString returns the string representation
20352func (s ListInstancesInput) GoString() string {
20353	return s.String()
20354}
20355
20356// Validate inspects the fields of the type to determine if they are valid.
20357func (s *ListInstancesInput) Validate() error {
20358	invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"}
20359	if s.MaxResults != nil && *s.MaxResults < 1 {
20360		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20361	}
20362
20363	if invalidParams.Len() > 0 {
20364		return invalidParams
20365	}
20366	return nil
20367}
20368
20369// SetMaxResults sets the MaxResults field's value.
20370func (s *ListInstancesInput) SetMaxResults(v int64) *ListInstancesInput {
20371	s.MaxResults = &v
20372	return s
20373}
20374
20375// SetNextToken sets the NextToken field's value.
20376func (s *ListInstancesInput) SetNextToken(v string) *ListInstancesInput {
20377	s.NextToken = &v
20378	return s
20379}
20380
20381type ListInstancesOutput struct {
20382	_ struct{} `type:"structure"`
20383
20384	// Information about the instances.
20385	InstanceSummaryList []*InstanceSummary `type:"list"`
20386
20387	// If there are additional results, this is the token for the next set of results.
20388	NextToken *string `type:"string"`
20389}
20390
20391// String returns the string representation
20392func (s ListInstancesOutput) String() string {
20393	return awsutil.Prettify(s)
20394}
20395
20396// GoString returns the string representation
20397func (s ListInstancesOutput) GoString() string {
20398	return s.String()
20399}
20400
20401// SetInstanceSummaryList sets the InstanceSummaryList field's value.
20402func (s *ListInstancesOutput) SetInstanceSummaryList(v []*InstanceSummary) *ListInstancesOutput {
20403	s.InstanceSummaryList = v
20404	return s
20405}
20406
20407// SetNextToken sets the NextToken field's value.
20408func (s *ListInstancesOutput) SetNextToken(v string) *ListInstancesOutput {
20409	s.NextToken = &v
20410	return s
20411}
20412
20413type ListIntegrationAssociationsInput struct {
20414	_ struct{} `type:"structure"`
20415
20416	// The identifier of the Amazon Connect instance. You can find the instanceId
20417	// in the ARN of the instance.
20418	//
20419	// InstanceId is a required field
20420	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20421
20422	// The maximum number of results to return per page.
20423	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20424
20425	// The token for the next set of results. Use the value returned in the previous
20426	// response in the next request to retrieve the next set of results.
20427	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20428}
20429
20430// String returns the string representation
20431func (s ListIntegrationAssociationsInput) String() string {
20432	return awsutil.Prettify(s)
20433}
20434
20435// GoString returns the string representation
20436func (s ListIntegrationAssociationsInput) GoString() string {
20437	return s.String()
20438}
20439
20440// Validate inspects the fields of the type to determine if they are valid.
20441func (s *ListIntegrationAssociationsInput) Validate() error {
20442	invalidParams := request.ErrInvalidParams{Context: "ListIntegrationAssociationsInput"}
20443	if s.InstanceId == nil {
20444		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20445	}
20446	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20447		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20448	}
20449	if s.MaxResults != nil && *s.MaxResults < 1 {
20450		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20451	}
20452
20453	if invalidParams.Len() > 0 {
20454		return invalidParams
20455	}
20456	return nil
20457}
20458
20459// SetInstanceId sets the InstanceId field's value.
20460func (s *ListIntegrationAssociationsInput) SetInstanceId(v string) *ListIntegrationAssociationsInput {
20461	s.InstanceId = &v
20462	return s
20463}
20464
20465// SetMaxResults sets the MaxResults field's value.
20466func (s *ListIntegrationAssociationsInput) SetMaxResults(v int64) *ListIntegrationAssociationsInput {
20467	s.MaxResults = &v
20468	return s
20469}
20470
20471// SetNextToken sets the NextToken field's value.
20472func (s *ListIntegrationAssociationsInput) SetNextToken(v string) *ListIntegrationAssociationsInput {
20473	s.NextToken = &v
20474	return s
20475}
20476
20477type ListIntegrationAssociationsOutput struct {
20478	_ struct{} `type:"structure"`
20479
20480	// The AppIntegration associations.
20481	IntegrationAssociationSummaryList []*IntegrationAssociationSummary `type:"list"`
20482
20483	// If there are additional results, this is the token for the next set of results.
20484	NextToken *string `type:"string"`
20485}
20486
20487// String returns the string representation
20488func (s ListIntegrationAssociationsOutput) String() string {
20489	return awsutil.Prettify(s)
20490}
20491
20492// GoString returns the string representation
20493func (s ListIntegrationAssociationsOutput) GoString() string {
20494	return s.String()
20495}
20496
20497// SetIntegrationAssociationSummaryList sets the IntegrationAssociationSummaryList field's value.
20498func (s *ListIntegrationAssociationsOutput) SetIntegrationAssociationSummaryList(v []*IntegrationAssociationSummary) *ListIntegrationAssociationsOutput {
20499	s.IntegrationAssociationSummaryList = v
20500	return s
20501}
20502
20503// SetNextToken sets the NextToken field's value.
20504func (s *ListIntegrationAssociationsOutput) SetNextToken(v string) *ListIntegrationAssociationsOutput {
20505	s.NextToken = &v
20506	return s
20507}
20508
20509type ListLambdaFunctionsInput struct {
20510	_ struct{} `type:"structure"`
20511
20512	// The identifier of the Amazon Connect instance. You can find the instanceId
20513	// in the ARN of the instance.
20514	//
20515	// InstanceId is a required field
20516	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20517
20518	// The maximum number of results to return per page.
20519	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20520
20521	// The token for the next set of results. Use the value returned in the previous
20522	// response in the next request to retrieve the next set of results.
20523	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20524}
20525
20526// String returns the string representation
20527func (s ListLambdaFunctionsInput) String() string {
20528	return awsutil.Prettify(s)
20529}
20530
20531// GoString returns the string representation
20532func (s ListLambdaFunctionsInput) GoString() string {
20533	return s.String()
20534}
20535
20536// Validate inspects the fields of the type to determine if they are valid.
20537func (s *ListLambdaFunctionsInput) Validate() error {
20538	invalidParams := request.ErrInvalidParams{Context: "ListLambdaFunctionsInput"}
20539	if s.InstanceId == nil {
20540		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20541	}
20542	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20543		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20544	}
20545	if s.MaxResults != nil && *s.MaxResults < 1 {
20546		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20547	}
20548
20549	if invalidParams.Len() > 0 {
20550		return invalidParams
20551	}
20552	return nil
20553}
20554
20555// SetInstanceId sets the InstanceId field's value.
20556func (s *ListLambdaFunctionsInput) SetInstanceId(v string) *ListLambdaFunctionsInput {
20557	s.InstanceId = &v
20558	return s
20559}
20560
20561// SetMaxResults sets the MaxResults field's value.
20562func (s *ListLambdaFunctionsInput) SetMaxResults(v int64) *ListLambdaFunctionsInput {
20563	s.MaxResults = &v
20564	return s
20565}
20566
20567// SetNextToken sets the NextToken field's value.
20568func (s *ListLambdaFunctionsInput) SetNextToken(v string) *ListLambdaFunctionsInput {
20569	s.NextToken = &v
20570	return s
20571}
20572
20573type ListLambdaFunctionsOutput struct {
20574	_ struct{} `type:"structure"`
20575
20576	// The Lambdafunction ARNs associated with the specified instance.
20577	LambdaFunctions []*string `type:"list"`
20578
20579	// If there are additional results, this is the token for the next set of results.
20580	NextToken *string `type:"string"`
20581}
20582
20583// String returns the string representation
20584func (s ListLambdaFunctionsOutput) String() string {
20585	return awsutil.Prettify(s)
20586}
20587
20588// GoString returns the string representation
20589func (s ListLambdaFunctionsOutput) GoString() string {
20590	return s.String()
20591}
20592
20593// SetLambdaFunctions sets the LambdaFunctions field's value.
20594func (s *ListLambdaFunctionsOutput) SetLambdaFunctions(v []*string) *ListLambdaFunctionsOutput {
20595	s.LambdaFunctions = v
20596	return s
20597}
20598
20599// SetNextToken sets the NextToken field's value.
20600func (s *ListLambdaFunctionsOutput) SetNextToken(v string) *ListLambdaFunctionsOutput {
20601	s.NextToken = &v
20602	return s
20603}
20604
20605type ListLexBotsInput struct {
20606	_ struct{} `type:"structure"`
20607
20608	// The identifier of the Amazon Connect instance. You can find the instanceId
20609	// in the ARN of the instance.
20610	//
20611	// InstanceId is a required field
20612	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20613
20614	// The maximum number of results to return per page.
20615	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20616
20617	// The token for the next set of results. Use the value returned in the previous
20618	// response in the next request to retrieve the next set of results.
20619	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20620}
20621
20622// String returns the string representation
20623func (s ListLexBotsInput) String() string {
20624	return awsutil.Prettify(s)
20625}
20626
20627// GoString returns the string representation
20628func (s ListLexBotsInput) GoString() string {
20629	return s.String()
20630}
20631
20632// Validate inspects the fields of the type to determine if they are valid.
20633func (s *ListLexBotsInput) Validate() error {
20634	invalidParams := request.ErrInvalidParams{Context: "ListLexBotsInput"}
20635	if s.InstanceId == nil {
20636		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20637	}
20638	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20639		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20640	}
20641	if s.MaxResults != nil && *s.MaxResults < 1 {
20642		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20643	}
20644
20645	if invalidParams.Len() > 0 {
20646		return invalidParams
20647	}
20648	return nil
20649}
20650
20651// SetInstanceId sets the InstanceId field's value.
20652func (s *ListLexBotsInput) SetInstanceId(v string) *ListLexBotsInput {
20653	s.InstanceId = &v
20654	return s
20655}
20656
20657// SetMaxResults sets the MaxResults field's value.
20658func (s *ListLexBotsInput) SetMaxResults(v int64) *ListLexBotsInput {
20659	s.MaxResults = &v
20660	return s
20661}
20662
20663// SetNextToken sets the NextToken field's value.
20664func (s *ListLexBotsInput) SetNextToken(v string) *ListLexBotsInput {
20665	s.NextToken = &v
20666	return s
20667}
20668
20669type ListLexBotsOutput struct {
20670	_ struct{} `type:"structure"`
20671
20672	// The names and Regions of the Amazon Lex bots associated with the specified
20673	// instance.
20674	LexBots []*LexBot `type:"list"`
20675
20676	// If there are additional results, this is the token for the next set of results.
20677	NextToken *string `type:"string"`
20678}
20679
20680// String returns the string representation
20681func (s ListLexBotsOutput) String() string {
20682	return awsutil.Prettify(s)
20683}
20684
20685// GoString returns the string representation
20686func (s ListLexBotsOutput) GoString() string {
20687	return s.String()
20688}
20689
20690// SetLexBots sets the LexBots field's value.
20691func (s *ListLexBotsOutput) SetLexBots(v []*LexBot) *ListLexBotsOutput {
20692	s.LexBots = v
20693	return s
20694}
20695
20696// SetNextToken sets the NextToken field's value.
20697func (s *ListLexBotsOutput) SetNextToken(v string) *ListLexBotsOutput {
20698	s.NextToken = &v
20699	return s
20700}
20701
20702type ListPhoneNumbersInput struct {
20703	_ struct{} `type:"structure"`
20704
20705	// The identifier of the Amazon Connect instance. You can find the instanceId
20706	// in the ARN of the instance.
20707	//
20708	// InstanceId is a required field
20709	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20710
20711	// The maximum number of results to return per page.
20712	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20713
20714	// The token for the next set of results. Use the value returned in the previous
20715	// response in the next request to retrieve the next set of results.
20716	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20717
20718	// The ISO country code.
20719	PhoneNumberCountryCodes []*string `location:"querystring" locationName:"phoneNumberCountryCodes" type:"list"`
20720
20721	// The type of phone number.
20722	PhoneNumberTypes []*string `location:"querystring" locationName:"phoneNumberTypes" type:"list"`
20723}
20724
20725// String returns the string representation
20726func (s ListPhoneNumbersInput) String() string {
20727	return awsutil.Prettify(s)
20728}
20729
20730// GoString returns the string representation
20731func (s ListPhoneNumbersInput) GoString() string {
20732	return s.String()
20733}
20734
20735// Validate inspects the fields of the type to determine if they are valid.
20736func (s *ListPhoneNumbersInput) Validate() error {
20737	invalidParams := request.ErrInvalidParams{Context: "ListPhoneNumbersInput"}
20738	if s.InstanceId == nil {
20739		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20740	}
20741	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20742		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20743	}
20744	if s.MaxResults != nil && *s.MaxResults < 1 {
20745		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20746	}
20747
20748	if invalidParams.Len() > 0 {
20749		return invalidParams
20750	}
20751	return nil
20752}
20753
20754// SetInstanceId sets the InstanceId field's value.
20755func (s *ListPhoneNumbersInput) SetInstanceId(v string) *ListPhoneNumbersInput {
20756	s.InstanceId = &v
20757	return s
20758}
20759
20760// SetMaxResults sets the MaxResults field's value.
20761func (s *ListPhoneNumbersInput) SetMaxResults(v int64) *ListPhoneNumbersInput {
20762	s.MaxResults = &v
20763	return s
20764}
20765
20766// SetNextToken sets the NextToken field's value.
20767func (s *ListPhoneNumbersInput) SetNextToken(v string) *ListPhoneNumbersInput {
20768	s.NextToken = &v
20769	return s
20770}
20771
20772// SetPhoneNumberCountryCodes sets the PhoneNumberCountryCodes field's value.
20773func (s *ListPhoneNumbersInput) SetPhoneNumberCountryCodes(v []*string) *ListPhoneNumbersInput {
20774	s.PhoneNumberCountryCodes = v
20775	return s
20776}
20777
20778// SetPhoneNumberTypes sets the PhoneNumberTypes field's value.
20779func (s *ListPhoneNumbersInput) SetPhoneNumberTypes(v []*string) *ListPhoneNumbersInput {
20780	s.PhoneNumberTypes = v
20781	return s
20782}
20783
20784type ListPhoneNumbersOutput struct {
20785	_ struct{} `type:"structure"`
20786
20787	// If there are additional results, this is the token for the next set of results.
20788	NextToken *string `type:"string"`
20789
20790	// Information about the phone numbers.
20791	PhoneNumberSummaryList []*PhoneNumberSummary `type:"list"`
20792}
20793
20794// String returns the string representation
20795func (s ListPhoneNumbersOutput) String() string {
20796	return awsutil.Prettify(s)
20797}
20798
20799// GoString returns the string representation
20800func (s ListPhoneNumbersOutput) GoString() string {
20801	return s.String()
20802}
20803
20804// SetNextToken sets the NextToken field's value.
20805func (s *ListPhoneNumbersOutput) SetNextToken(v string) *ListPhoneNumbersOutput {
20806	s.NextToken = &v
20807	return s
20808}
20809
20810// SetPhoneNumberSummaryList sets the PhoneNumberSummaryList field's value.
20811func (s *ListPhoneNumbersOutput) SetPhoneNumberSummaryList(v []*PhoneNumberSummary) *ListPhoneNumbersOutput {
20812	s.PhoneNumberSummaryList = v
20813	return s
20814}
20815
20816type ListPromptsInput struct {
20817	_ struct{} `type:"structure"`
20818
20819	// The identifier of the Amazon Connect instance.
20820	//
20821	// InstanceId is a required field
20822	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20823
20824	// The maximum number of results to return per page.
20825	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20826
20827	// The token for the next set of results. Use the value returned in the previous
20828	// response in the next request to retrieve the next set of results.
20829	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20830}
20831
20832// String returns the string representation
20833func (s ListPromptsInput) String() string {
20834	return awsutil.Prettify(s)
20835}
20836
20837// GoString returns the string representation
20838func (s ListPromptsInput) GoString() string {
20839	return s.String()
20840}
20841
20842// Validate inspects the fields of the type to determine if they are valid.
20843func (s *ListPromptsInput) Validate() error {
20844	invalidParams := request.ErrInvalidParams{Context: "ListPromptsInput"}
20845	if s.InstanceId == nil {
20846		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20847	}
20848	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20849		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20850	}
20851	if s.MaxResults != nil && *s.MaxResults < 1 {
20852		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20853	}
20854
20855	if invalidParams.Len() > 0 {
20856		return invalidParams
20857	}
20858	return nil
20859}
20860
20861// SetInstanceId sets the InstanceId field's value.
20862func (s *ListPromptsInput) SetInstanceId(v string) *ListPromptsInput {
20863	s.InstanceId = &v
20864	return s
20865}
20866
20867// SetMaxResults sets the MaxResults field's value.
20868func (s *ListPromptsInput) SetMaxResults(v int64) *ListPromptsInput {
20869	s.MaxResults = &v
20870	return s
20871}
20872
20873// SetNextToken sets the NextToken field's value.
20874func (s *ListPromptsInput) SetNextToken(v string) *ListPromptsInput {
20875	s.NextToken = &v
20876	return s
20877}
20878
20879type ListPromptsOutput struct {
20880	_ struct{} `type:"structure"`
20881
20882	// If there are additional results, this is the token for the next set of results.
20883	NextToken *string `type:"string"`
20884
20885	// Information about the prompts.
20886	PromptSummaryList []*PromptSummary `type:"list"`
20887}
20888
20889// String returns the string representation
20890func (s ListPromptsOutput) String() string {
20891	return awsutil.Prettify(s)
20892}
20893
20894// GoString returns the string representation
20895func (s ListPromptsOutput) GoString() string {
20896	return s.String()
20897}
20898
20899// SetNextToken sets the NextToken field's value.
20900func (s *ListPromptsOutput) SetNextToken(v string) *ListPromptsOutput {
20901	s.NextToken = &v
20902	return s
20903}
20904
20905// SetPromptSummaryList sets the PromptSummaryList field's value.
20906func (s *ListPromptsOutput) SetPromptSummaryList(v []*PromptSummary) *ListPromptsOutput {
20907	s.PromptSummaryList = v
20908	return s
20909}
20910
20911type ListQueueQuickConnectsInput struct {
20912	_ struct{} `type:"structure"`
20913
20914	// The identifier of the Amazon Connect instance. You can find the instanceId
20915	// in the ARN of the instance.
20916	//
20917	// InstanceId is a required field
20918	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
20919
20920	// The maximum number of results to return per page.
20921	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
20922
20923	// The token for the next set of results. Use the value returned in the previous
20924	// response in the next request to retrieve the next set of results.
20925	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
20926
20927	// The identifier for the queue.
20928	//
20929	// QueueId is a required field
20930	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
20931}
20932
20933// String returns the string representation
20934func (s ListQueueQuickConnectsInput) String() string {
20935	return awsutil.Prettify(s)
20936}
20937
20938// GoString returns the string representation
20939func (s ListQueueQuickConnectsInput) GoString() string {
20940	return s.String()
20941}
20942
20943// Validate inspects the fields of the type to determine if they are valid.
20944func (s *ListQueueQuickConnectsInput) Validate() error {
20945	invalidParams := request.ErrInvalidParams{Context: "ListQueueQuickConnectsInput"}
20946	if s.InstanceId == nil {
20947		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
20948	}
20949	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
20950		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
20951	}
20952	if s.MaxResults != nil && *s.MaxResults < 1 {
20953		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
20954	}
20955	if s.QueueId == nil {
20956		invalidParams.Add(request.NewErrParamRequired("QueueId"))
20957	}
20958	if s.QueueId != nil && len(*s.QueueId) < 1 {
20959		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
20960	}
20961
20962	if invalidParams.Len() > 0 {
20963		return invalidParams
20964	}
20965	return nil
20966}
20967
20968// SetInstanceId sets the InstanceId field's value.
20969func (s *ListQueueQuickConnectsInput) SetInstanceId(v string) *ListQueueQuickConnectsInput {
20970	s.InstanceId = &v
20971	return s
20972}
20973
20974// SetMaxResults sets the MaxResults field's value.
20975func (s *ListQueueQuickConnectsInput) SetMaxResults(v int64) *ListQueueQuickConnectsInput {
20976	s.MaxResults = &v
20977	return s
20978}
20979
20980// SetNextToken sets the NextToken field's value.
20981func (s *ListQueueQuickConnectsInput) SetNextToken(v string) *ListQueueQuickConnectsInput {
20982	s.NextToken = &v
20983	return s
20984}
20985
20986// SetQueueId sets the QueueId field's value.
20987func (s *ListQueueQuickConnectsInput) SetQueueId(v string) *ListQueueQuickConnectsInput {
20988	s.QueueId = &v
20989	return s
20990}
20991
20992type ListQueueQuickConnectsOutput struct {
20993	_ struct{} `type:"structure"`
20994
20995	// If there are additional results, this is the token for the next set of results.
20996	NextToken *string `type:"string"`
20997
20998	// Information about the quick connects.
20999	QuickConnectSummaryList []*QuickConnectSummary `type:"list"`
21000}
21001
21002// String returns the string representation
21003func (s ListQueueQuickConnectsOutput) String() string {
21004	return awsutil.Prettify(s)
21005}
21006
21007// GoString returns the string representation
21008func (s ListQueueQuickConnectsOutput) GoString() string {
21009	return s.String()
21010}
21011
21012// SetNextToken sets the NextToken field's value.
21013func (s *ListQueueQuickConnectsOutput) SetNextToken(v string) *ListQueueQuickConnectsOutput {
21014	s.NextToken = &v
21015	return s
21016}
21017
21018// SetQuickConnectSummaryList sets the QuickConnectSummaryList field's value.
21019func (s *ListQueueQuickConnectsOutput) SetQuickConnectSummaryList(v []*QuickConnectSummary) *ListQueueQuickConnectsOutput {
21020	s.QuickConnectSummaryList = v
21021	return s
21022}
21023
21024type ListQueuesInput struct {
21025	_ struct{} `type:"structure"`
21026
21027	// The identifier of the Amazon Connect instance. You can find the instanceId
21028	// in the ARN of the instance.
21029	//
21030	// InstanceId is a required field
21031	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21032
21033	// The maximum number of results to return per page.
21034	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21035
21036	// The token for the next set of results. Use the value returned in the previous
21037	// response in the next request to retrieve the next set of results.
21038	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21039
21040	// The type of queue.
21041	QueueTypes []*string `location:"querystring" locationName:"queueTypes" type:"list"`
21042}
21043
21044// String returns the string representation
21045func (s ListQueuesInput) String() string {
21046	return awsutil.Prettify(s)
21047}
21048
21049// GoString returns the string representation
21050func (s ListQueuesInput) GoString() string {
21051	return s.String()
21052}
21053
21054// Validate inspects the fields of the type to determine if they are valid.
21055func (s *ListQueuesInput) Validate() error {
21056	invalidParams := request.ErrInvalidParams{Context: "ListQueuesInput"}
21057	if s.InstanceId == nil {
21058		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21059	}
21060	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21061		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21062	}
21063	if s.MaxResults != nil && *s.MaxResults < 1 {
21064		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21065	}
21066
21067	if invalidParams.Len() > 0 {
21068		return invalidParams
21069	}
21070	return nil
21071}
21072
21073// SetInstanceId sets the InstanceId field's value.
21074func (s *ListQueuesInput) SetInstanceId(v string) *ListQueuesInput {
21075	s.InstanceId = &v
21076	return s
21077}
21078
21079// SetMaxResults sets the MaxResults field's value.
21080func (s *ListQueuesInput) SetMaxResults(v int64) *ListQueuesInput {
21081	s.MaxResults = &v
21082	return s
21083}
21084
21085// SetNextToken sets the NextToken field's value.
21086func (s *ListQueuesInput) SetNextToken(v string) *ListQueuesInput {
21087	s.NextToken = &v
21088	return s
21089}
21090
21091// SetQueueTypes sets the QueueTypes field's value.
21092func (s *ListQueuesInput) SetQueueTypes(v []*string) *ListQueuesInput {
21093	s.QueueTypes = v
21094	return s
21095}
21096
21097type ListQueuesOutput struct {
21098	_ struct{} `type:"structure"`
21099
21100	// If there are additional results, this is the token for the next set of results.
21101	NextToken *string `type:"string"`
21102
21103	// Information about the queues.
21104	QueueSummaryList []*QueueSummary `type:"list"`
21105}
21106
21107// String returns the string representation
21108func (s ListQueuesOutput) String() string {
21109	return awsutil.Prettify(s)
21110}
21111
21112// GoString returns the string representation
21113func (s ListQueuesOutput) GoString() string {
21114	return s.String()
21115}
21116
21117// SetNextToken sets the NextToken field's value.
21118func (s *ListQueuesOutput) SetNextToken(v string) *ListQueuesOutput {
21119	s.NextToken = &v
21120	return s
21121}
21122
21123// SetQueueSummaryList sets the QueueSummaryList field's value.
21124func (s *ListQueuesOutput) SetQueueSummaryList(v []*QueueSummary) *ListQueuesOutput {
21125	s.QueueSummaryList = v
21126	return s
21127}
21128
21129type ListQuickConnectsInput struct {
21130	_ struct{} `type:"structure"`
21131
21132	// The identifier of the Amazon Connect instance. You can find the instanceId
21133	// in the ARN of the instance.
21134	//
21135	// InstanceId is a required field
21136	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21137
21138	// The maximum number of results to return per page.
21139	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21140
21141	// The token for the next set of results. Use the value returned in the previous
21142	// response in the next request to retrieve the next set of results.
21143	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21144
21145	// The type of quick connect. In the Amazon Connect console, when you create
21146	// a quick connect, you are prompted to assign one of the following types: Agent
21147	// (USER), External (PHONE_NUMBER), or Queue (QUEUE).
21148	QuickConnectTypes []*string `location:"querystring" locationName:"QuickConnectTypes" type:"list"`
21149}
21150
21151// String returns the string representation
21152func (s ListQuickConnectsInput) String() string {
21153	return awsutil.Prettify(s)
21154}
21155
21156// GoString returns the string representation
21157func (s ListQuickConnectsInput) GoString() string {
21158	return s.String()
21159}
21160
21161// Validate inspects the fields of the type to determine if they are valid.
21162func (s *ListQuickConnectsInput) Validate() error {
21163	invalidParams := request.ErrInvalidParams{Context: "ListQuickConnectsInput"}
21164	if s.InstanceId == nil {
21165		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21166	}
21167	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21168		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21169	}
21170	if s.MaxResults != nil && *s.MaxResults < 1 {
21171		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21172	}
21173
21174	if invalidParams.Len() > 0 {
21175		return invalidParams
21176	}
21177	return nil
21178}
21179
21180// SetInstanceId sets the InstanceId field's value.
21181func (s *ListQuickConnectsInput) SetInstanceId(v string) *ListQuickConnectsInput {
21182	s.InstanceId = &v
21183	return s
21184}
21185
21186// SetMaxResults sets the MaxResults field's value.
21187func (s *ListQuickConnectsInput) SetMaxResults(v int64) *ListQuickConnectsInput {
21188	s.MaxResults = &v
21189	return s
21190}
21191
21192// SetNextToken sets the NextToken field's value.
21193func (s *ListQuickConnectsInput) SetNextToken(v string) *ListQuickConnectsInput {
21194	s.NextToken = &v
21195	return s
21196}
21197
21198// SetQuickConnectTypes sets the QuickConnectTypes field's value.
21199func (s *ListQuickConnectsInput) SetQuickConnectTypes(v []*string) *ListQuickConnectsInput {
21200	s.QuickConnectTypes = v
21201	return s
21202}
21203
21204type ListQuickConnectsOutput struct {
21205	_ struct{} `type:"structure"`
21206
21207	// If there are additional results, this is the token for the next set of results.
21208	NextToken *string `type:"string"`
21209
21210	// Information about the quick connects.
21211	QuickConnectSummaryList []*QuickConnectSummary `type:"list"`
21212}
21213
21214// String returns the string representation
21215func (s ListQuickConnectsOutput) String() string {
21216	return awsutil.Prettify(s)
21217}
21218
21219// GoString returns the string representation
21220func (s ListQuickConnectsOutput) GoString() string {
21221	return s.String()
21222}
21223
21224// SetNextToken sets the NextToken field's value.
21225func (s *ListQuickConnectsOutput) SetNextToken(v string) *ListQuickConnectsOutput {
21226	s.NextToken = &v
21227	return s
21228}
21229
21230// SetQuickConnectSummaryList sets the QuickConnectSummaryList field's value.
21231func (s *ListQuickConnectsOutput) SetQuickConnectSummaryList(v []*QuickConnectSummary) *ListQuickConnectsOutput {
21232	s.QuickConnectSummaryList = v
21233	return s
21234}
21235
21236type ListRoutingProfileQueuesInput struct {
21237	_ struct{} `type:"structure"`
21238
21239	// The identifier of the Amazon Connect instance. You can find the instanceId
21240	// in the ARN of the instance.
21241	//
21242	// InstanceId is a required field
21243	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21244
21245	// The maximum number of results to return per page.
21246	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21247
21248	// The token for the next set of results. Use the value returned in the previous
21249	// response in the next request to retrieve the next set of results.
21250	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21251
21252	// The identifier of the routing profile.
21253	//
21254	// RoutingProfileId is a required field
21255	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
21256}
21257
21258// String returns the string representation
21259func (s ListRoutingProfileQueuesInput) String() string {
21260	return awsutil.Prettify(s)
21261}
21262
21263// GoString returns the string representation
21264func (s ListRoutingProfileQueuesInput) GoString() string {
21265	return s.String()
21266}
21267
21268// Validate inspects the fields of the type to determine if they are valid.
21269func (s *ListRoutingProfileQueuesInput) Validate() error {
21270	invalidParams := request.ErrInvalidParams{Context: "ListRoutingProfileQueuesInput"}
21271	if s.InstanceId == nil {
21272		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21273	}
21274	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21275		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21276	}
21277	if s.MaxResults != nil && *s.MaxResults < 1 {
21278		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21279	}
21280	if s.RoutingProfileId == nil {
21281		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
21282	}
21283	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
21284		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
21285	}
21286
21287	if invalidParams.Len() > 0 {
21288		return invalidParams
21289	}
21290	return nil
21291}
21292
21293// SetInstanceId sets the InstanceId field's value.
21294func (s *ListRoutingProfileQueuesInput) SetInstanceId(v string) *ListRoutingProfileQueuesInput {
21295	s.InstanceId = &v
21296	return s
21297}
21298
21299// SetMaxResults sets the MaxResults field's value.
21300func (s *ListRoutingProfileQueuesInput) SetMaxResults(v int64) *ListRoutingProfileQueuesInput {
21301	s.MaxResults = &v
21302	return s
21303}
21304
21305// SetNextToken sets the NextToken field's value.
21306func (s *ListRoutingProfileQueuesInput) SetNextToken(v string) *ListRoutingProfileQueuesInput {
21307	s.NextToken = &v
21308	return s
21309}
21310
21311// SetRoutingProfileId sets the RoutingProfileId field's value.
21312func (s *ListRoutingProfileQueuesInput) SetRoutingProfileId(v string) *ListRoutingProfileQueuesInput {
21313	s.RoutingProfileId = &v
21314	return s
21315}
21316
21317type ListRoutingProfileQueuesOutput struct {
21318	_ struct{} `type:"structure"`
21319
21320	// If there are additional results, this is the token for the next set of results.
21321	NextToken *string `type:"string"`
21322
21323	// Information about the routing profiles.
21324	RoutingProfileQueueConfigSummaryList []*RoutingProfileQueueConfigSummary `type:"list"`
21325}
21326
21327// String returns the string representation
21328func (s ListRoutingProfileQueuesOutput) String() string {
21329	return awsutil.Prettify(s)
21330}
21331
21332// GoString returns the string representation
21333func (s ListRoutingProfileQueuesOutput) GoString() string {
21334	return s.String()
21335}
21336
21337// SetNextToken sets the NextToken field's value.
21338func (s *ListRoutingProfileQueuesOutput) SetNextToken(v string) *ListRoutingProfileQueuesOutput {
21339	s.NextToken = &v
21340	return s
21341}
21342
21343// SetRoutingProfileQueueConfigSummaryList sets the RoutingProfileQueueConfigSummaryList field's value.
21344func (s *ListRoutingProfileQueuesOutput) SetRoutingProfileQueueConfigSummaryList(v []*RoutingProfileQueueConfigSummary) *ListRoutingProfileQueuesOutput {
21345	s.RoutingProfileQueueConfigSummaryList = v
21346	return s
21347}
21348
21349type ListRoutingProfilesInput struct {
21350	_ struct{} `type:"structure"`
21351
21352	// The identifier of the Amazon Connect instance. You can find the instanceId
21353	// in the ARN of the instance.
21354	//
21355	// InstanceId is a required field
21356	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21357
21358	// The maximum number of results to return per page.
21359	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21360
21361	// The token for the next set of results. Use the value returned in the previous
21362	// response in the next request to retrieve the next set of results.
21363	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21364}
21365
21366// String returns the string representation
21367func (s ListRoutingProfilesInput) String() string {
21368	return awsutil.Prettify(s)
21369}
21370
21371// GoString returns the string representation
21372func (s ListRoutingProfilesInput) GoString() string {
21373	return s.String()
21374}
21375
21376// Validate inspects the fields of the type to determine if they are valid.
21377func (s *ListRoutingProfilesInput) Validate() error {
21378	invalidParams := request.ErrInvalidParams{Context: "ListRoutingProfilesInput"}
21379	if s.InstanceId == nil {
21380		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21381	}
21382	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21383		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21384	}
21385	if s.MaxResults != nil && *s.MaxResults < 1 {
21386		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21387	}
21388
21389	if invalidParams.Len() > 0 {
21390		return invalidParams
21391	}
21392	return nil
21393}
21394
21395// SetInstanceId sets the InstanceId field's value.
21396func (s *ListRoutingProfilesInput) SetInstanceId(v string) *ListRoutingProfilesInput {
21397	s.InstanceId = &v
21398	return s
21399}
21400
21401// SetMaxResults sets the MaxResults field's value.
21402func (s *ListRoutingProfilesInput) SetMaxResults(v int64) *ListRoutingProfilesInput {
21403	s.MaxResults = &v
21404	return s
21405}
21406
21407// SetNextToken sets the NextToken field's value.
21408func (s *ListRoutingProfilesInput) SetNextToken(v string) *ListRoutingProfilesInput {
21409	s.NextToken = &v
21410	return s
21411}
21412
21413type ListRoutingProfilesOutput struct {
21414	_ struct{} `type:"structure"`
21415
21416	// If there are additional results, this is the token for the next set of results.
21417	NextToken *string `type:"string"`
21418
21419	// Information about the routing profiles.
21420	RoutingProfileSummaryList []*RoutingProfileSummary `type:"list"`
21421}
21422
21423// String returns the string representation
21424func (s ListRoutingProfilesOutput) String() string {
21425	return awsutil.Prettify(s)
21426}
21427
21428// GoString returns the string representation
21429func (s ListRoutingProfilesOutput) GoString() string {
21430	return s.String()
21431}
21432
21433// SetNextToken sets the NextToken field's value.
21434func (s *ListRoutingProfilesOutput) SetNextToken(v string) *ListRoutingProfilesOutput {
21435	s.NextToken = &v
21436	return s
21437}
21438
21439// SetRoutingProfileSummaryList sets the RoutingProfileSummaryList field's value.
21440func (s *ListRoutingProfilesOutput) SetRoutingProfileSummaryList(v []*RoutingProfileSummary) *ListRoutingProfilesOutput {
21441	s.RoutingProfileSummaryList = v
21442	return s
21443}
21444
21445type ListSecurityKeysInput struct {
21446	_ struct{} `type:"structure"`
21447
21448	// The identifier of the Amazon Connect instance. You can find the instanceId
21449	// in the ARN of the instance.
21450	//
21451	// InstanceId is a required field
21452	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21453
21454	// The maximum number of results to return per page.
21455	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21456
21457	// The token for the next set of results. Use the value returned in the previous
21458	// response in the next request to retrieve the next set of results.
21459	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21460}
21461
21462// String returns the string representation
21463func (s ListSecurityKeysInput) String() string {
21464	return awsutil.Prettify(s)
21465}
21466
21467// GoString returns the string representation
21468func (s ListSecurityKeysInput) GoString() string {
21469	return s.String()
21470}
21471
21472// Validate inspects the fields of the type to determine if they are valid.
21473func (s *ListSecurityKeysInput) Validate() error {
21474	invalidParams := request.ErrInvalidParams{Context: "ListSecurityKeysInput"}
21475	if s.InstanceId == nil {
21476		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21477	}
21478	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21479		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21480	}
21481	if s.MaxResults != nil && *s.MaxResults < 1 {
21482		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21483	}
21484
21485	if invalidParams.Len() > 0 {
21486		return invalidParams
21487	}
21488	return nil
21489}
21490
21491// SetInstanceId sets the InstanceId field's value.
21492func (s *ListSecurityKeysInput) SetInstanceId(v string) *ListSecurityKeysInput {
21493	s.InstanceId = &v
21494	return s
21495}
21496
21497// SetMaxResults sets the MaxResults field's value.
21498func (s *ListSecurityKeysInput) SetMaxResults(v int64) *ListSecurityKeysInput {
21499	s.MaxResults = &v
21500	return s
21501}
21502
21503// SetNextToken sets the NextToken field's value.
21504func (s *ListSecurityKeysInput) SetNextToken(v string) *ListSecurityKeysInput {
21505	s.NextToken = &v
21506	return s
21507}
21508
21509type ListSecurityKeysOutput struct {
21510	_ struct{} `type:"structure"`
21511
21512	// If there are additional results, this is the token for the next set of results.
21513	NextToken *string `type:"string"`
21514
21515	// The security keys.
21516	SecurityKeys []*SecurityKey `type:"list"`
21517}
21518
21519// String returns the string representation
21520func (s ListSecurityKeysOutput) String() string {
21521	return awsutil.Prettify(s)
21522}
21523
21524// GoString returns the string representation
21525func (s ListSecurityKeysOutput) GoString() string {
21526	return s.String()
21527}
21528
21529// SetNextToken sets the NextToken field's value.
21530func (s *ListSecurityKeysOutput) SetNextToken(v string) *ListSecurityKeysOutput {
21531	s.NextToken = &v
21532	return s
21533}
21534
21535// SetSecurityKeys sets the SecurityKeys field's value.
21536func (s *ListSecurityKeysOutput) SetSecurityKeys(v []*SecurityKey) *ListSecurityKeysOutput {
21537	s.SecurityKeys = v
21538	return s
21539}
21540
21541type ListSecurityProfilesInput struct {
21542	_ struct{} `type:"structure"`
21543
21544	// The identifier of the Amazon Connect instance. You can find the instanceId
21545	// in the ARN of the instance.
21546	//
21547	// InstanceId is a required field
21548	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21549
21550	// The maximum number of results to return per page.
21551	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21552
21553	// The token for the next set of results. Use the value returned in the previous
21554	// response in the next request to retrieve the next set of results.
21555	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21556}
21557
21558// String returns the string representation
21559func (s ListSecurityProfilesInput) String() string {
21560	return awsutil.Prettify(s)
21561}
21562
21563// GoString returns the string representation
21564func (s ListSecurityProfilesInput) GoString() string {
21565	return s.String()
21566}
21567
21568// Validate inspects the fields of the type to determine if they are valid.
21569func (s *ListSecurityProfilesInput) Validate() error {
21570	invalidParams := request.ErrInvalidParams{Context: "ListSecurityProfilesInput"}
21571	if s.InstanceId == nil {
21572		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21573	}
21574	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21575		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21576	}
21577	if s.MaxResults != nil && *s.MaxResults < 1 {
21578		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21579	}
21580
21581	if invalidParams.Len() > 0 {
21582		return invalidParams
21583	}
21584	return nil
21585}
21586
21587// SetInstanceId sets the InstanceId field's value.
21588func (s *ListSecurityProfilesInput) SetInstanceId(v string) *ListSecurityProfilesInput {
21589	s.InstanceId = &v
21590	return s
21591}
21592
21593// SetMaxResults sets the MaxResults field's value.
21594func (s *ListSecurityProfilesInput) SetMaxResults(v int64) *ListSecurityProfilesInput {
21595	s.MaxResults = &v
21596	return s
21597}
21598
21599// SetNextToken sets the NextToken field's value.
21600func (s *ListSecurityProfilesInput) SetNextToken(v string) *ListSecurityProfilesInput {
21601	s.NextToken = &v
21602	return s
21603}
21604
21605type ListSecurityProfilesOutput struct {
21606	_ struct{} `type:"structure"`
21607
21608	// If there are additional results, this is the token for the next set of results.
21609	NextToken *string `type:"string"`
21610
21611	// Information about the security profiles.
21612	SecurityProfileSummaryList []*SecurityProfileSummary `type:"list"`
21613}
21614
21615// String returns the string representation
21616func (s ListSecurityProfilesOutput) String() string {
21617	return awsutil.Prettify(s)
21618}
21619
21620// GoString returns the string representation
21621func (s ListSecurityProfilesOutput) GoString() string {
21622	return s.String()
21623}
21624
21625// SetNextToken sets the NextToken field's value.
21626func (s *ListSecurityProfilesOutput) SetNextToken(v string) *ListSecurityProfilesOutput {
21627	s.NextToken = &v
21628	return s
21629}
21630
21631// SetSecurityProfileSummaryList sets the SecurityProfileSummaryList field's value.
21632func (s *ListSecurityProfilesOutput) SetSecurityProfileSummaryList(v []*SecurityProfileSummary) *ListSecurityProfilesOutput {
21633	s.SecurityProfileSummaryList = v
21634	return s
21635}
21636
21637type ListTagsForResourceInput struct {
21638	_ struct{} `type:"structure"`
21639
21640	// The Amazon Resource Name (ARN) of the resource.
21641	//
21642	// ResourceArn is a required field
21643	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
21644}
21645
21646// String returns the string representation
21647func (s ListTagsForResourceInput) String() string {
21648	return awsutil.Prettify(s)
21649}
21650
21651// GoString returns the string representation
21652func (s ListTagsForResourceInput) GoString() string {
21653	return s.String()
21654}
21655
21656// Validate inspects the fields of the type to determine if they are valid.
21657func (s *ListTagsForResourceInput) Validate() error {
21658	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
21659	if s.ResourceArn == nil {
21660		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
21661	}
21662	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
21663		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
21664	}
21665
21666	if invalidParams.Len() > 0 {
21667		return invalidParams
21668	}
21669	return nil
21670}
21671
21672// SetResourceArn sets the ResourceArn field's value.
21673func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
21674	s.ResourceArn = &v
21675	return s
21676}
21677
21678type ListTagsForResourceOutput struct {
21679	_ struct{} `type:"structure"`
21680
21681	// Information about the tags.
21682	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
21683}
21684
21685// String returns the string representation
21686func (s ListTagsForResourceOutput) String() string {
21687	return awsutil.Prettify(s)
21688}
21689
21690// GoString returns the string representation
21691func (s ListTagsForResourceOutput) GoString() string {
21692	return s.String()
21693}
21694
21695// SetTags sets the Tags field's value.
21696func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
21697	s.Tags = v
21698	return s
21699}
21700
21701// Provides summary information about the use cases for the specified Amazon
21702// Connect AppIntegration association.
21703type ListUseCasesInput struct {
21704	_ struct{} `type:"structure"`
21705
21706	// The identifier of the Amazon Connect instance. You can find the instanceId
21707	// in the ARN of the instance.
21708	//
21709	// InstanceId is a required field
21710	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21711
21712	// The identifier for the integration association.
21713	//
21714	// IntegrationAssociationId is a required field
21715	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
21716
21717	// The maximum number of results to return per page.
21718	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21719
21720	// The token for the next set of results. Use the value returned in the previous
21721	// response in the next request to retrieve the next set of results.
21722	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21723}
21724
21725// String returns the string representation
21726func (s ListUseCasesInput) String() string {
21727	return awsutil.Prettify(s)
21728}
21729
21730// GoString returns the string representation
21731func (s ListUseCasesInput) GoString() string {
21732	return s.String()
21733}
21734
21735// Validate inspects the fields of the type to determine if they are valid.
21736func (s *ListUseCasesInput) Validate() error {
21737	invalidParams := request.ErrInvalidParams{Context: "ListUseCasesInput"}
21738	if s.InstanceId == nil {
21739		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21740	}
21741	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21742		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21743	}
21744	if s.IntegrationAssociationId == nil {
21745		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
21746	}
21747	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
21748		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
21749	}
21750	if s.MaxResults != nil && *s.MaxResults < 1 {
21751		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21752	}
21753
21754	if invalidParams.Len() > 0 {
21755		return invalidParams
21756	}
21757	return nil
21758}
21759
21760// SetInstanceId sets the InstanceId field's value.
21761func (s *ListUseCasesInput) SetInstanceId(v string) *ListUseCasesInput {
21762	s.InstanceId = &v
21763	return s
21764}
21765
21766// SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
21767func (s *ListUseCasesInput) SetIntegrationAssociationId(v string) *ListUseCasesInput {
21768	s.IntegrationAssociationId = &v
21769	return s
21770}
21771
21772// SetMaxResults sets the MaxResults field's value.
21773func (s *ListUseCasesInput) SetMaxResults(v int64) *ListUseCasesInput {
21774	s.MaxResults = &v
21775	return s
21776}
21777
21778// SetNextToken sets the NextToken field's value.
21779func (s *ListUseCasesInput) SetNextToken(v string) *ListUseCasesInput {
21780	s.NextToken = &v
21781	return s
21782}
21783
21784type ListUseCasesOutput struct {
21785	_ struct{} `type:"structure"`
21786
21787	// If there are additional results, this is the token for the next set of results.
21788	NextToken *string `type:"string"`
21789
21790	// The use cases.
21791	UseCaseSummaryList []*UseCase `type:"list"`
21792}
21793
21794// String returns the string representation
21795func (s ListUseCasesOutput) String() string {
21796	return awsutil.Prettify(s)
21797}
21798
21799// GoString returns the string representation
21800func (s ListUseCasesOutput) GoString() string {
21801	return s.String()
21802}
21803
21804// SetNextToken sets the NextToken field's value.
21805func (s *ListUseCasesOutput) SetNextToken(v string) *ListUseCasesOutput {
21806	s.NextToken = &v
21807	return s
21808}
21809
21810// SetUseCaseSummaryList sets the UseCaseSummaryList field's value.
21811func (s *ListUseCasesOutput) SetUseCaseSummaryList(v []*UseCase) *ListUseCasesOutput {
21812	s.UseCaseSummaryList = v
21813	return s
21814}
21815
21816type ListUserHierarchyGroupsInput struct {
21817	_ struct{} `type:"structure"`
21818
21819	// The identifier of the Amazon Connect instance. You can find the instanceId
21820	// in the ARN of the instance.
21821	//
21822	// InstanceId is a required field
21823	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21824
21825	// The maximum number of results to return per page.
21826	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21827
21828	// The token for the next set of results. Use the value returned in the previous
21829	// response in the next request to retrieve the next set of results.
21830	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21831}
21832
21833// String returns the string representation
21834func (s ListUserHierarchyGroupsInput) String() string {
21835	return awsutil.Prettify(s)
21836}
21837
21838// GoString returns the string representation
21839func (s ListUserHierarchyGroupsInput) GoString() string {
21840	return s.String()
21841}
21842
21843// Validate inspects the fields of the type to determine if they are valid.
21844func (s *ListUserHierarchyGroupsInput) Validate() error {
21845	invalidParams := request.ErrInvalidParams{Context: "ListUserHierarchyGroupsInput"}
21846	if s.InstanceId == nil {
21847		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21848	}
21849	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21850		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21851	}
21852	if s.MaxResults != nil && *s.MaxResults < 1 {
21853		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21854	}
21855
21856	if invalidParams.Len() > 0 {
21857		return invalidParams
21858	}
21859	return nil
21860}
21861
21862// SetInstanceId sets the InstanceId field's value.
21863func (s *ListUserHierarchyGroupsInput) SetInstanceId(v string) *ListUserHierarchyGroupsInput {
21864	s.InstanceId = &v
21865	return s
21866}
21867
21868// SetMaxResults sets the MaxResults field's value.
21869func (s *ListUserHierarchyGroupsInput) SetMaxResults(v int64) *ListUserHierarchyGroupsInput {
21870	s.MaxResults = &v
21871	return s
21872}
21873
21874// SetNextToken sets the NextToken field's value.
21875func (s *ListUserHierarchyGroupsInput) SetNextToken(v string) *ListUserHierarchyGroupsInput {
21876	s.NextToken = &v
21877	return s
21878}
21879
21880type ListUserHierarchyGroupsOutput struct {
21881	_ struct{} `type:"structure"`
21882
21883	// If there are additional results, this is the token for the next set of results.
21884	NextToken *string `type:"string"`
21885
21886	// Information about the hierarchy groups.
21887	UserHierarchyGroupSummaryList []*HierarchyGroupSummary `type:"list"`
21888}
21889
21890// String returns the string representation
21891func (s ListUserHierarchyGroupsOutput) String() string {
21892	return awsutil.Prettify(s)
21893}
21894
21895// GoString returns the string representation
21896func (s ListUserHierarchyGroupsOutput) GoString() string {
21897	return s.String()
21898}
21899
21900// SetNextToken sets the NextToken field's value.
21901func (s *ListUserHierarchyGroupsOutput) SetNextToken(v string) *ListUserHierarchyGroupsOutput {
21902	s.NextToken = &v
21903	return s
21904}
21905
21906// SetUserHierarchyGroupSummaryList sets the UserHierarchyGroupSummaryList field's value.
21907func (s *ListUserHierarchyGroupsOutput) SetUserHierarchyGroupSummaryList(v []*HierarchyGroupSummary) *ListUserHierarchyGroupsOutput {
21908	s.UserHierarchyGroupSummaryList = v
21909	return s
21910}
21911
21912type ListUsersInput struct {
21913	_ struct{} `type:"structure"`
21914
21915	// The identifier of the Amazon Connect instance. You can find the instanceId
21916	// in the ARN of the instance.
21917	//
21918	// InstanceId is a required field
21919	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
21920
21921	// The maximum number of results to return per page.
21922	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
21923
21924	// The token for the next set of results. Use the value returned in the previous
21925	// response in the next request to retrieve the next set of results.
21926	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
21927}
21928
21929// String returns the string representation
21930func (s ListUsersInput) String() string {
21931	return awsutil.Prettify(s)
21932}
21933
21934// GoString returns the string representation
21935func (s ListUsersInput) GoString() string {
21936	return s.String()
21937}
21938
21939// Validate inspects the fields of the type to determine if they are valid.
21940func (s *ListUsersInput) Validate() error {
21941	invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
21942	if s.InstanceId == nil {
21943		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
21944	}
21945	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
21946		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
21947	}
21948	if s.MaxResults != nil && *s.MaxResults < 1 {
21949		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21950	}
21951
21952	if invalidParams.Len() > 0 {
21953		return invalidParams
21954	}
21955	return nil
21956}
21957
21958// SetInstanceId sets the InstanceId field's value.
21959func (s *ListUsersInput) SetInstanceId(v string) *ListUsersInput {
21960	s.InstanceId = &v
21961	return s
21962}
21963
21964// SetMaxResults sets the MaxResults field's value.
21965func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput {
21966	s.MaxResults = &v
21967	return s
21968}
21969
21970// SetNextToken sets the NextToken field's value.
21971func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput {
21972	s.NextToken = &v
21973	return s
21974}
21975
21976type ListUsersOutput struct {
21977	_ struct{} `type:"structure"`
21978
21979	// If there are additional results, this is the token for the next set of results.
21980	NextToken *string `type:"string"`
21981
21982	// Information about the users.
21983	UserSummaryList []*UserSummary `type:"list"`
21984}
21985
21986// String returns the string representation
21987func (s ListUsersOutput) String() string {
21988	return awsutil.Prettify(s)
21989}
21990
21991// GoString returns the string representation
21992func (s ListUsersOutput) GoString() string {
21993	return s.String()
21994}
21995
21996// SetNextToken sets the NextToken field's value.
21997func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput {
21998	s.NextToken = &v
21999	return s
22000}
22001
22002// SetUserSummaryList sets the UserSummaryList field's value.
22003func (s *ListUsersOutput) SetUserSummaryList(v []*UserSummary) *ListUsersOutput {
22004	s.UserSummaryList = v
22005	return s
22006}
22007
22008// Contains information about which channels are supported, and how many contacts
22009// an agent can have on a channel simultaneously.
22010type MediaConcurrency struct {
22011	_ struct{} `type:"structure"`
22012
22013	// The channels that agents can handle in the Contact Control Panel (CCP).
22014	//
22015	// Channel is a required field
22016	Channel *string `type:"string" required:"true" enum:"Channel"`
22017
22018	// The number of contacts an agent can have on a channel simultaneously.
22019	//
22020	// Valid Range for VOICE: Minimum value of 1. Maximum value of 1.
22021	//
22022	// Valid Range for CHAT: Minimum value of 1. Maximum value of 10.
22023	//
22024	// Valid Range for TASK: Minimum value of 1. Maximum value of 10.
22025	//
22026	// Concurrency is a required field
22027	Concurrency *int64 `min:"1" type:"integer" required:"true"`
22028}
22029
22030// String returns the string representation
22031func (s MediaConcurrency) String() string {
22032	return awsutil.Prettify(s)
22033}
22034
22035// GoString returns the string representation
22036func (s MediaConcurrency) GoString() string {
22037	return s.String()
22038}
22039
22040// Validate inspects the fields of the type to determine if they are valid.
22041func (s *MediaConcurrency) Validate() error {
22042	invalidParams := request.ErrInvalidParams{Context: "MediaConcurrency"}
22043	if s.Channel == nil {
22044		invalidParams.Add(request.NewErrParamRequired("Channel"))
22045	}
22046	if s.Concurrency == nil {
22047		invalidParams.Add(request.NewErrParamRequired("Concurrency"))
22048	}
22049	if s.Concurrency != nil && *s.Concurrency < 1 {
22050		invalidParams.Add(request.NewErrParamMinValue("Concurrency", 1))
22051	}
22052
22053	if invalidParams.Len() > 0 {
22054		return invalidParams
22055	}
22056	return nil
22057}
22058
22059// SetChannel sets the Channel field's value.
22060func (s *MediaConcurrency) SetChannel(v string) *MediaConcurrency {
22061	s.Channel = &v
22062	return s
22063}
22064
22065// SetConcurrency sets the Concurrency field's value.
22066func (s *MediaConcurrency) SetConcurrency(v int64) *MediaConcurrency {
22067	s.Concurrency = &v
22068	return s
22069}
22070
22071// The outbound caller ID name, number, and outbound whisper flow.
22072type OutboundCallerConfig struct {
22073	_ struct{} `type:"structure"`
22074
22075	// The caller ID name.
22076	OutboundCallerIdName *string `min:"1" type:"string"`
22077
22078	// The caller ID number.
22079	OutboundCallerIdNumberId *string `type:"string"`
22080
22081	// The outbound whisper flow to be used during an outbound call.
22082	OutboundFlowId *string `type:"string"`
22083}
22084
22085// String returns the string representation
22086func (s OutboundCallerConfig) String() string {
22087	return awsutil.Prettify(s)
22088}
22089
22090// GoString returns the string representation
22091func (s OutboundCallerConfig) GoString() string {
22092	return s.String()
22093}
22094
22095// Validate inspects the fields of the type to determine if they are valid.
22096func (s *OutboundCallerConfig) Validate() error {
22097	invalidParams := request.ErrInvalidParams{Context: "OutboundCallerConfig"}
22098	if s.OutboundCallerIdName != nil && len(*s.OutboundCallerIdName) < 1 {
22099		invalidParams.Add(request.NewErrParamMinLen("OutboundCallerIdName", 1))
22100	}
22101
22102	if invalidParams.Len() > 0 {
22103		return invalidParams
22104	}
22105	return nil
22106}
22107
22108// SetOutboundCallerIdName sets the OutboundCallerIdName field's value.
22109func (s *OutboundCallerConfig) SetOutboundCallerIdName(v string) *OutboundCallerConfig {
22110	s.OutboundCallerIdName = &v
22111	return s
22112}
22113
22114// SetOutboundCallerIdNumberId sets the OutboundCallerIdNumberId field's value.
22115func (s *OutboundCallerConfig) SetOutboundCallerIdNumberId(v string) *OutboundCallerConfig {
22116	s.OutboundCallerIdNumberId = &v
22117	return s
22118}
22119
22120// SetOutboundFlowId sets the OutboundFlowId field's value.
22121func (s *OutboundCallerConfig) SetOutboundFlowId(v string) *OutboundCallerConfig {
22122	s.OutboundFlowId = &v
22123	return s
22124}
22125
22126// The contact is not permitted.
22127type OutboundContactNotPermittedException struct {
22128	_            struct{}                  `type:"structure"`
22129	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22130
22131	// The message about the contact.
22132	Message_ *string `locationName:"Message" type:"string"`
22133}
22134
22135// String returns the string representation
22136func (s OutboundContactNotPermittedException) String() string {
22137	return awsutil.Prettify(s)
22138}
22139
22140// GoString returns the string representation
22141func (s OutboundContactNotPermittedException) GoString() string {
22142	return s.String()
22143}
22144
22145func newErrorOutboundContactNotPermittedException(v protocol.ResponseMetadata) error {
22146	return &OutboundContactNotPermittedException{
22147		RespMetadata: v,
22148	}
22149}
22150
22151// Code returns the exception type name.
22152func (s *OutboundContactNotPermittedException) Code() string {
22153	return "OutboundContactNotPermittedException"
22154}
22155
22156// Message returns the exception's message.
22157func (s *OutboundContactNotPermittedException) Message() string {
22158	if s.Message_ != nil {
22159		return *s.Message_
22160	}
22161	return ""
22162}
22163
22164// OrigErr always returns nil, satisfies awserr.Error interface.
22165func (s *OutboundContactNotPermittedException) OrigErr() error {
22166	return nil
22167}
22168
22169func (s *OutboundContactNotPermittedException) Error() string {
22170	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22171}
22172
22173// Status code returns the HTTP status code for the request's response error.
22174func (s *OutboundContactNotPermittedException) StatusCode() int {
22175	return s.RespMetadata.StatusCode
22176}
22177
22178// RequestID returns the service's response RequestID for request.
22179func (s *OutboundContactNotPermittedException) RequestID() string {
22180	return s.RespMetadata.RequestID
22181}
22182
22183// The customer's details.
22184type ParticipantDetails struct {
22185	_ struct{} `type:"structure"`
22186
22187	// Display name of the participant.
22188	//
22189	// DisplayName is a required field
22190	DisplayName *string `min:"1" type:"string" required:"true"`
22191}
22192
22193// String returns the string representation
22194func (s ParticipantDetails) String() string {
22195	return awsutil.Prettify(s)
22196}
22197
22198// GoString returns the string representation
22199func (s ParticipantDetails) GoString() string {
22200	return s.String()
22201}
22202
22203// Validate inspects the fields of the type to determine if they are valid.
22204func (s *ParticipantDetails) Validate() error {
22205	invalidParams := request.ErrInvalidParams{Context: "ParticipantDetails"}
22206	if s.DisplayName == nil {
22207		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
22208	}
22209	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
22210		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
22211	}
22212
22213	if invalidParams.Len() > 0 {
22214		return invalidParams
22215	}
22216	return nil
22217}
22218
22219// SetDisplayName sets the DisplayName field's value.
22220func (s *ParticipantDetails) SetDisplayName(v string) *ParticipantDetails {
22221	s.DisplayName = &v
22222	return s
22223}
22224
22225// Contains information about a phone number for a quick connect.
22226type PhoneNumberQuickConnectConfig struct {
22227	_ struct{} `type:"structure"`
22228
22229	// The phone number in E.164 format.
22230	//
22231	// PhoneNumber is a required field
22232	PhoneNumber *string `type:"string" required:"true"`
22233}
22234
22235// String returns the string representation
22236func (s PhoneNumberQuickConnectConfig) String() string {
22237	return awsutil.Prettify(s)
22238}
22239
22240// GoString returns the string representation
22241func (s PhoneNumberQuickConnectConfig) GoString() string {
22242	return s.String()
22243}
22244
22245// Validate inspects the fields of the type to determine if they are valid.
22246func (s *PhoneNumberQuickConnectConfig) Validate() error {
22247	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberQuickConnectConfig"}
22248	if s.PhoneNumber == nil {
22249		invalidParams.Add(request.NewErrParamRequired("PhoneNumber"))
22250	}
22251
22252	if invalidParams.Len() > 0 {
22253		return invalidParams
22254	}
22255	return nil
22256}
22257
22258// SetPhoneNumber sets the PhoneNumber field's value.
22259func (s *PhoneNumberQuickConnectConfig) SetPhoneNumber(v string) *PhoneNumberQuickConnectConfig {
22260	s.PhoneNumber = &v
22261	return s
22262}
22263
22264// Contains summary information about a phone number for a contact center.
22265type PhoneNumberSummary struct {
22266	_ struct{} `type:"structure"`
22267
22268	// The Amazon Resource Name (ARN) of the phone number.
22269	Arn *string `type:"string"`
22270
22271	// The identifier of the phone number.
22272	Id *string `type:"string"`
22273
22274	// The phone number.
22275	PhoneNumber *string `type:"string"`
22276
22277	// The ISO country code.
22278	PhoneNumberCountryCode *string `type:"string" enum:"PhoneNumberCountryCode"`
22279
22280	// The type of phone number.
22281	PhoneNumberType *string `type:"string" enum:"PhoneNumberType"`
22282}
22283
22284// String returns the string representation
22285func (s PhoneNumberSummary) String() string {
22286	return awsutil.Prettify(s)
22287}
22288
22289// GoString returns the string representation
22290func (s PhoneNumberSummary) GoString() string {
22291	return s.String()
22292}
22293
22294// SetArn sets the Arn field's value.
22295func (s *PhoneNumberSummary) SetArn(v string) *PhoneNumberSummary {
22296	s.Arn = &v
22297	return s
22298}
22299
22300// SetId sets the Id field's value.
22301func (s *PhoneNumberSummary) SetId(v string) *PhoneNumberSummary {
22302	s.Id = &v
22303	return s
22304}
22305
22306// SetPhoneNumber sets the PhoneNumber field's value.
22307func (s *PhoneNumberSummary) SetPhoneNumber(v string) *PhoneNumberSummary {
22308	s.PhoneNumber = &v
22309	return s
22310}
22311
22312// SetPhoneNumberCountryCode sets the PhoneNumberCountryCode field's value.
22313func (s *PhoneNumberSummary) SetPhoneNumberCountryCode(v string) *PhoneNumberSummary {
22314	s.PhoneNumberCountryCode = &v
22315	return s
22316}
22317
22318// SetPhoneNumberType sets the PhoneNumberType field's value.
22319func (s *PhoneNumberSummary) SetPhoneNumberType(v string) *PhoneNumberSummary {
22320	s.PhoneNumberType = &v
22321	return s
22322}
22323
22324// Information about a problem detail.
22325type ProblemDetail struct {
22326	_ struct{} `type:"structure"`
22327
22328	// The problem detail's message.
22329	Message *string `locationName:"message" min:"1" type:"string"`
22330}
22331
22332// String returns the string representation
22333func (s ProblemDetail) String() string {
22334	return awsutil.Prettify(s)
22335}
22336
22337// GoString returns the string representation
22338func (s ProblemDetail) GoString() string {
22339	return s.String()
22340}
22341
22342// SetMessage sets the Message field's value.
22343func (s *ProblemDetail) SetMessage(v string) *ProblemDetail {
22344	s.Message = &v
22345	return s
22346}
22347
22348// Contains information about the prompt.
22349type PromptSummary struct {
22350	_ struct{} `type:"structure"`
22351
22352	// The Amazon Resource Name (ARN) of the prompt.
22353	Arn *string `type:"string"`
22354
22355	// The identifier of the prompt.
22356	Id *string `min:"1" type:"string"`
22357
22358	// The name of the prompt.
22359	Name *string `min:"1" type:"string"`
22360}
22361
22362// String returns the string representation
22363func (s PromptSummary) String() string {
22364	return awsutil.Prettify(s)
22365}
22366
22367// GoString returns the string representation
22368func (s PromptSummary) GoString() string {
22369	return s.String()
22370}
22371
22372// SetArn sets the Arn field's value.
22373func (s *PromptSummary) SetArn(v string) *PromptSummary {
22374	s.Arn = &v
22375	return s
22376}
22377
22378// SetId sets the Id field's value.
22379func (s *PromptSummary) SetId(v string) *PromptSummary {
22380	s.Id = &v
22381	return s
22382}
22383
22384// SetName sets the Name field's value.
22385func (s *PromptSummary) SetName(v string) *PromptSummary {
22386	s.Name = &v
22387	return s
22388}
22389
22390// Contains information about a queue.
22391type Queue struct {
22392	_ struct{} `type:"structure"`
22393
22394	// The description of the queue.
22395	Description *string `min:"1" type:"string"`
22396
22397	// The identifier for the hours of operation.
22398	HoursOfOperationId *string `type:"string"`
22399
22400	// The maximum number of contacts that can be in the queue before it is considered
22401	// full.
22402	MaxContacts *int64 `type:"integer"`
22403
22404	// The name of the queue.
22405	Name *string `min:"1" type:"string"`
22406
22407	// The outbound caller ID name, number, and outbound whisper flow.
22408	OutboundCallerConfig *OutboundCallerConfig `type:"structure"`
22409
22410	// The Amazon Resource Name (ARN) for the queue.
22411	QueueArn *string `type:"string"`
22412
22413	// The identifier for the queue.
22414	QueueId *string `type:"string"`
22415
22416	// The status of the queue.
22417	Status *string `type:"string" enum:"QueueStatus"`
22418
22419	// One or more tags.
22420	Tags map[string]*string `min:"1" type:"map"`
22421}
22422
22423// String returns the string representation
22424func (s Queue) String() string {
22425	return awsutil.Prettify(s)
22426}
22427
22428// GoString returns the string representation
22429func (s Queue) GoString() string {
22430	return s.String()
22431}
22432
22433// SetDescription sets the Description field's value.
22434func (s *Queue) SetDescription(v string) *Queue {
22435	s.Description = &v
22436	return s
22437}
22438
22439// SetHoursOfOperationId sets the HoursOfOperationId field's value.
22440func (s *Queue) SetHoursOfOperationId(v string) *Queue {
22441	s.HoursOfOperationId = &v
22442	return s
22443}
22444
22445// SetMaxContacts sets the MaxContacts field's value.
22446func (s *Queue) SetMaxContacts(v int64) *Queue {
22447	s.MaxContacts = &v
22448	return s
22449}
22450
22451// SetName sets the Name field's value.
22452func (s *Queue) SetName(v string) *Queue {
22453	s.Name = &v
22454	return s
22455}
22456
22457// SetOutboundCallerConfig sets the OutboundCallerConfig field's value.
22458func (s *Queue) SetOutboundCallerConfig(v *OutboundCallerConfig) *Queue {
22459	s.OutboundCallerConfig = v
22460	return s
22461}
22462
22463// SetQueueArn sets the QueueArn field's value.
22464func (s *Queue) SetQueueArn(v string) *Queue {
22465	s.QueueArn = &v
22466	return s
22467}
22468
22469// SetQueueId sets the QueueId field's value.
22470func (s *Queue) SetQueueId(v string) *Queue {
22471	s.QueueId = &v
22472	return s
22473}
22474
22475// SetStatus sets the Status field's value.
22476func (s *Queue) SetStatus(v string) *Queue {
22477	s.Status = &v
22478	return s
22479}
22480
22481// SetTags sets the Tags field's value.
22482func (s *Queue) SetTags(v map[string]*string) *Queue {
22483	s.Tags = v
22484	return s
22485}
22486
22487// Contains information about a queue for a quick connect. The contact flow
22488// must be of type Transfer to Queue.
22489type QueueQuickConnectConfig struct {
22490	_ struct{} `type:"structure"`
22491
22492	// The identifier of the contact flow.
22493	//
22494	// ContactFlowId is a required field
22495	ContactFlowId *string `type:"string" required:"true"`
22496
22497	// The identifier for the queue.
22498	//
22499	// QueueId is a required field
22500	QueueId *string `type:"string" required:"true"`
22501}
22502
22503// String returns the string representation
22504func (s QueueQuickConnectConfig) String() string {
22505	return awsutil.Prettify(s)
22506}
22507
22508// GoString returns the string representation
22509func (s QueueQuickConnectConfig) GoString() string {
22510	return s.String()
22511}
22512
22513// Validate inspects the fields of the type to determine if they are valid.
22514func (s *QueueQuickConnectConfig) Validate() error {
22515	invalidParams := request.ErrInvalidParams{Context: "QueueQuickConnectConfig"}
22516	if s.ContactFlowId == nil {
22517		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
22518	}
22519	if s.QueueId == nil {
22520		invalidParams.Add(request.NewErrParamRequired("QueueId"))
22521	}
22522
22523	if invalidParams.Len() > 0 {
22524		return invalidParams
22525	}
22526	return nil
22527}
22528
22529// SetContactFlowId sets the ContactFlowId field's value.
22530func (s *QueueQuickConnectConfig) SetContactFlowId(v string) *QueueQuickConnectConfig {
22531	s.ContactFlowId = &v
22532	return s
22533}
22534
22535// SetQueueId sets the QueueId field's value.
22536func (s *QueueQuickConnectConfig) SetQueueId(v string) *QueueQuickConnectConfig {
22537	s.QueueId = &v
22538	return s
22539}
22540
22541// Contains information about a queue resource for which metrics are returned.
22542type QueueReference struct {
22543	_ struct{} `type:"structure"`
22544
22545	// The Amazon Resource Name (ARN) of the queue.
22546	Arn *string `type:"string"`
22547
22548	// The identifier of the queue.
22549	Id *string `type:"string"`
22550}
22551
22552// String returns the string representation
22553func (s QueueReference) String() string {
22554	return awsutil.Prettify(s)
22555}
22556
22557// GoString returns the string representation
22558func (s QueueReference) GoString() string {
22559	return s.String()
22560}
22561
22562// SetArn sets the Arn field's value.
22563func (s *QueueReference) SetArn(v string) *QueueReference {
22564	s.Arn = &v
22565	return s
22566}
22567
22568// SetId sets the Id field's value.
22569func (s *QueueReference) SetId(v string) *QueueReference {
22570	s.Id = &v
22571	return s
22572}
22573
22574// Contains summary information about a queue.
22575type QueueSummary struct {
22576	_ struct{} `type:"structure"`
22577
22578	// The Amazon Resource Name (ARN) of the queue.
22579	Arn *string `type:"string"`
22580
22581	// The identifier of the queue.
22582	Id *string `type:"string"`
22583
22584	// The name of the queue.
22585	Name *string `min:"1" type:"string"`
22586
22587	// The type of queue.
22588	QueueType *string `type:"string" enum:"QueueType"`
22589}
22590
22591// String returns the string representation
22592func (s QueueSummary) String() string {
22593	return awsutil.Prettify(s)
22594}
22595
22596// GoString returns the string representation
22597func (s QueueSummary) GoString() string {
22598	return s.String()
22599}
22600
22601// SetArn sets the Arn field's value.
22602func (s *QueueSummary) SetArn(v string) *QueueSummary {
22603	s.Arn = &v
22604	return s
22605}
22606
22607// SetId sets the Id field's value.
22608func (s *QueueSummary) SetId(v string) *QueueSummary {
22609	s.Id = &v
22610	return s
22611}
22612
22613// SetName sets the Name field's value.
22614func (s *QueueSummary) SetName(v string) *QueueSummary {
22615	s.Name = &v
22616	return s
22617}
22618
22619// SetQueueType sets the QueueType field's value.
22620func (s *QueueSummary) SetQueueType(v string) *QueueSummary {
22621	s.QueueType = &v
22622	return s
22623}
22624
22625// Contains information about a quick connect.
22626type QuickConnect struct {
22627	_ struct{} `type:"structure"`
22628
22629	// The description.
22630	Description *string `min:"1" type:"string"`
22631
22632	// The name of the quick connect.
22633	Name *string `min:"1" type:"string"`
22634
22635	// The Amazon Resource Name (ARN) of the quick connect.
22636	QuickConnectARN *string `type:"string"`
22637
22638	// Contains information about the quick connect.
22639	QuickConnectConfig *QuickConnectConfig `type:"structure"`
22640
22641	// The identifier for the quick connect.
22642	QuickConnectId *string `type:"string"`
22643
22644	// One or more tags.
22645	Tags map[string]*string `min:"1" type:"map"`
22646}
22647
22648// String returns the string representation
22649func (s QuickConnect) String() string {
22650	return awsutil.Prettify(s)
22651}
22652
22653// GoString returns the string representation
22654func (s QuickConnect) GoString() string {
22655	return s.String()
22656}
22657
22658// SetDescription sets the Description field's value.
22659func (s *QuickConnect) SetDescription(v string) *QuickConnect {
22660	s.Description = &v
22661	return s
22662}
22663
22664// SetName sets the Name field's value.
22665func (s *QuickConnect) SetName(v string) *QuickConnect {
22666	s.Name = &v
22667	return s
22668}
22669
22670// SetQuickConnectARN sets the QuickConnectARN field's value.
22671func (s *QuickConnect) SetQuickConnectARN(v string) *QuickConnect {
22672	s.QuickConnectARN = &v
22673	return s
22674}
22675
22676// SetQuickConnectConfig sets the QuickConnectConfig field's value.
22677func (s *QuickConnect) SetQuickConnectConfig(v *QuickConnectConfig) *QuickConnect {
22678	s.QuickConnectConfig = v
22679	return s
22680}
22681
22682// SetQuickConnectId sets the QuickConnectId field's value.
22683func (s *QuickConnect) SetQuickConnectId(v string) *QuickConnect {
22684	s.QuickConnectId = &v
22685	return s
22686}
22687
22688// SetTags sets the Tags field's value.
22689func (s *QuickConnect) SetTags(v map[string]*string) *QuickConnect {
22690	s.Tags = v
22691	return s
22692}
22693
22694// Contains configuration settings for a quick connect.
22695type QuickConnectConfig struct {
22696	_ struct{} `type:"structure"`
22697
22698	// The phone configuration. This is required only if QuickConnectType is PHONE_NUMBER.
22699	PhoneConfig *PhoneNumberQuickConnectConfig `type:"structure"`
22700
22701	// The queue configuration. This is required only if QuickConnectType is QUEUE.
22702	QueueConfig *QueueQuickConnectConfig `type:"structure"`
22703
22704	// The type of quick connect. In the Amazon Connect console, when you create
22705	// a quick connect, you are prompted to assign one of the following types: Agent
22706	// (USER), External (PHONE_NUMBER), or Queue (QUEUE).
22707	//
22708	// QuickConnectType is a required field
22709	QuickConnectType *string `type:"string" required:"true" enum:"QuickConnectType"`
22710
22711	// The user configuration. This is required only if QuickConnectType is USER.
22712	UserConfig *UserQuickConnectConfig `type:"structure"`
22713}
22714
22715// String returns the string representation
22716func (s QuickConnectConfig) String() string {
22717	return awsutil.Prettify(s)
22718}
22719
22720// GoString returns the string representation
22721func (s QuickConnectConfig) GoString() string {
22722	return s.String()
22723}
22724
22725// Validate inspects the fields of the type to determine if they are valid.
22726func (s *QuickConnectConfig) Validate() error {
22727	invalidParams := request.ErrInvalidParams{Context: "QuickConnectConfig"}
22728	if s.QuickConnectType == nil {
22729		invalidParams.Add(request.NewErrParamRequired("QuickConnectType"))
22730	}
22731	if s.PhoneConfig != nil {
22732		if err := s.PhoneConfig.Validate(); err != nil {
22733			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
22734		}
22735	}
22736	if s.QueueConfig != nil {
22737		if err := s.QueueConfig.Validate(); err != nil {
22738			invalidParams.AddNested("QueueConfig", err.(request.ErrInvalidParams))
22739		}
22740	}
22741	if s.UserConfig != nil {
22742		if err := s.UserConfig.Validate(); err != nil {
22743			invalidParams.AddNested("UserConfig", err.(request.ErrInvalidParams))
22744		}
22745	}
22746
22747	if invalidParams.Len() > 0 {
22748		return invalidParams
22749	}
22750	return nil
22751}
22752
22753// SetPhoneConfig sets the PhoneConfig field's value.
22754func (s *QuickConnectConfig) SetPhoneConfig(v *PhoneNumberQuickConnectConfig) *QuickConnectConfig {
22755	s.PhoneConfig = v
22756	return s
22757}
22758
22759// SetQueueConfig sets the QueueConfig field's value.
22760func (s *QuickConnectConfig) SetQueueConfig(v *QueueQuickConnectConfig) *QuickConnectConfig {
22761	s.QueueConfig = v
22762	return s
22763}
22764
22765// SetQuickConnectType sets the QuickConnectType field's value.
22766func (s *QuickConnectConfig) SetQuickConnectType(v string) *QuickConnectConfig {
22767	s.QuickConnectType = &v
22768	return s
22769}
22770
22771// SetUserConfig sets the UserConfig field's value.
22772func (s *QuickConnectConfig) SetUserConfig(v *UserQuickConnectConfig) *QuickConnectConfig {
22773	s.UserConfig = v
22774	return s
22775}
22776
22777// Contains summary information about a quick connect.
22778type QuickConnectSummary struct {
22779	_ struct{} `type:"structure"`
22780
22781	// The Amazon Resource Name (ARN) of the quick connect.
22782	Arn *string `type:"string"`
22783
22784	// The identifier for the quick connect.
22785	Id *string `type:"string"`
22786
22787	// The name of the quick connect.
22788	Name *string `min:"1" type:"string"`
22789
22790	// The type of quick connect. In the Amazon Connect console, when you create
22791	// a quick connect, you are prompted to assign one of the following types: Agent
22792	// (USER), External (PHONE_NUMBER), or Queue (QUEUE).
22793	QuickConnectType *string `type:"string" enum:"QuickConnectType"`
22794}
22795
22796// String returns the string representation
22797func (s QuickConnectSummary) String() string {
22798	return awsutil.Prettify(s)
22799}
22800
22801// GoString returns the string representation
22802func (s QuickConnectSummary) GoString() string {
22803	return s.String()
22804}
22805
22806// SetArn sets the Arn field's value.
22807func (s *QuickConnectSummary) SetArn(v string) *QuickConnectSummary {
22808	s.Arn = &v
22809	return s
22810}
22811
22812// SetId sets the Id field's value.
22813func (s *QuickConnectSummary) SetId(v string) *QuickConnectSummary {
22814	s.Id = &v
22815	return s
22816}
22817
22818// SetName sets the Name field's value.
22819func (s *QuickConnectSummary) SetName(v string) *QuickConnectSummary {
22820	s.Name = &v
22821	return s
22822}
22823
22824// SetQuickConnectType sets the QuickConnectType field's value.
22825func (s *QuickConnectSummary) SetQuickConnectType(v string) *QuickConnectSummary {
22826	s.QuickConnectType = &v
22827	return s
22828}
22829
22830// A link that an agent selects to complete a given task. You can have up to
22831// 4,096 UTF-8 bytes across all references for a contact.
22832type Reference struct {
22833	_ struct{} `type:"structure"`
22834
22835	// A valid URL.
22836	//
22837	// Type is a required field
22838	Type *string `type:"string" required:"true" enum:"ReferenceType"`
22839
22840	// A formatted URL that displays to an agent in the Contact Control Panel (CCP)
22841	//
22842	// Value is a required field
22843	Value *string `type:"string" required:"true"`
22844}
22845
22846// String returns the string representation
22847func (s Reference) String() string {
22848	return awsutil.Prettify(s)
22849}
22850
22851// GoString returns the string representation
22852func (s Reference) GoString() string {
22853	return s.String()
22854}
22855
22856// Validate inspects the fields of the type to determine if they are valid.
22857func (s *Reference) Validate() error {
22858	invalidParams := request.ErrInvalidParams{Context: "Reference"}
22859	if s.Type == nil {
22860		invalidParams.Add(request.NewErrParamRequired("Type"))
22861	}
22862	if s.Value == nil {
22863		invalidParams.Add(request.NewErrParamRequired("Value"))
22864	}
22865
22866	if invalidParams.Len() > 0 {
22867		return invalidParams
22868	}
22869	return nil
22870}
22871
22872// SetType sets the Type field's value.
22873func (s *Reference) SetType(v string) *Reference {
22874	s.Type = &v
22875	return s
22876}
22877
22878// SetValue sets the Value field's value.
22879func (s *Reference) SetValue(v string) *Reference {
22880	s.Value = &v
22881	return s
22882}
22883
22884// A resource already has that name.
22885type ResourceConflictException struct {
22886	_            struct{}                  `type:"structure"`
22887	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22888
22889	Message_ *string `locationName:"Message" type:"string"`
22890}
22891
22892// String returns the string representation
22893func (s ResourceConflictException) String() string {
22894	return awsutil.Prettify(s)
22895}
22896
22897// GoString returns the string representation
22898func (s ResourceConflictException) GoString() string {
22899	return s.String()
22900}
22901
22902func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
22903	return &ResourceConflictException{
22904		RespMetadata: v,
22905	}
22906}
22907
22908// Code returns the exception type name.
22909func (s *ResourceConflictException) Code() string {
22910	return "ResourceConflictException"
22911}
22912
22913// Message returns the exception's message.
22914func (s *ResourceConflictException) Message() string {
22915	if s.Message_ != nil {
22916		return *s.Message_
22917	}
22918	return ""
22919}
22920
22921// OrigErr always returns nil, satisfies awserr.Error interface.
22922func (s *ResourceConflictException) OrigErr() error {
22923	return nil
22924}
22925
22926func (s *ResourceConflictException) Error() string {
22927	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22928}
22929
22930// Status code returns the HTTP status code for the request's response error.
22931func (s *ResourceConflictException) StatusCode() int {
22932	return s.RespMetadata.StatusCode
22933}
22934
22935// RequestID returns the service's response RequestID for request.
22936func (s *ResourceConflictException) RequestID() string {
22937	return s.RespMetadata.RequestID
22938}
22939
22940// That resource is already in use. Please try another.
22941type ResourceInUseException struct {
22942	_            struct{}                  `type:"structure"`
22943	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22944
22945	Message_ *string `locationName:"Message" type:"string"`
22946
22947	// The identifier for the resource.
22948	ResourceId *string `type:"string"`
22949
22950	// The type of resource.
22951	ResourceType *string `type:"string" enum:"ResourceType"`
22952}
22953
22954// String returns the string representation
22955func (s ResourceInUseException) String() string {
22956	return awsutil.Prettify(s)
22957}
22958
22959// GoString returns the string representation
22960func (s ResourceInUseException) GoString() string {
22961	return s.String()
22962}
22963
22964func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
22965	return &ResourceInUseException{
22966		RespMetadata: v,
22967	}
22968}
22969
22970// Code returns the exception type name.
22971func (s *ResourceInUseException) Code() string {
22972	return "ResourceInUseException"
22973}
22974
22975// Message returns the exception's message.
22976func (s *ResourceInUseException) Message() string {
22977	if s.Message_ != nil {
22978		return *s.Message_
22979	}
22980	return ""
22981}
22982
22983// OrigErr always returns nil, satisfies awserr.Error interface.
22984func (s *ResourceInUseException) OrigErr() error {
22985	return nil
22986}
22987
22988func (s *ResourceInUseException) Error() string {
22989	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
22990}
22991
22992// Status code returns the HTTP status code for the request's response error.
22993func (s *ResourceInUseException) StatusCode() int {
22994	return s.RespMetadata.StatusCode
22995}
22996
22997// RequestID returns the service's response RequestID for request.
22998func (s *ResourceInUseException) RequestID() string {
22999	return s.RespMetadata.RequestID
23000}
23001
23002// The specified resource was not found.
23003type ResourceNotFoundException struct {
23004	_            struct{}                  `type:"structure"`
23005	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23006
23007	// The message about the resource.
23008	Message_ *string `locationName:"Message" type:"string"`
23009}
23010
23011// String returns the string representation
23012func (s ResourceNotFoundException) String() string {
23013	return awsutil.Prettify(s)
23014}
23015
23016// GoString returns the string representation
23017func (s ResourceNotFoundException) GoString() string {
23018	return s.String()
23019}
23020
23021func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
23022	return &ResourceNotFoundException{
23023		RespMetadata: v,
23024	}
23025}
23026
23027// Code returns the exception type name.
23028func (s *ResourceNotFoundException) Code() string {
23029	return "ResourceNotFoundException"
23030}
23031
23032// Message returns the exception's message.
23033func (s *ResourceNotFoundException) Message() string {
23034	if s.Message_ != nil {
23035		return *s.Message_
23036	}
23037	return ""
23038}
23039
23040// OrigErr always returns nil, satisfies awserr.Error interface.
23041func (s *ResourceNotFoundException) OrigErr() error {
23042	return nil
23043}
23044
23045func (s *ResourceNotFoundException) Error() string {
23046	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23047}
23048
23049// Status code returns the HTTP status code for the request's response error.
23050func (s *ResourceNotFoundException) StatusCode() int {
23051	return s.RespMetadata.StatusCode
23052}
23053
23054// RequestID returns the service's response RequestID for request.
23055func (s *ResourceNotFoundException) RequestID() string {
23056	return s.RespMetadata.RequestID
23057}
23058
23059type ResumeContactRecordingInput struct {
23060	_ struct{} `type:"structure"`
23061
23062	// The identifier of the contact.
23063	//
23064	// ContactId is a required field
23065	ContactId *string `min:"1" type:"string" required:"true"`
23066
23067	// The identifier of the contact. This is the identifier of the contact associated
23068	// with the first interaction with the contact center.
23069	//
23070	// InitialContactId is a required field
23071	InitialContactId *string `min:"1" type:"string" required:"true"`
23072
23073	// The identifier of the Amazon Connect instance. You can find the instanceId
23074	// in the ARN of the instance.
23075	//
23076	// InstanceId is a required field
23077	InstanceId *string `min:"1" type:"string" required:"true"`
23078}
23079
23080// String returns the string representation
23081func (s ResumeContactRecordingInput) String() string {
23082	return awsutil.Prettify(s)
23083}
23084
23085// GoString returns the string representation
23086func (s ResumeContactRecordingInput) GoString() string {
23087	return s.String()
23088}
23089
23090// Validate inspects the fields of the type to determine if they are valid.
23091func (s *ResumeContactRecordingInput) Validate() error {
23092	invalidParams := request.ErrInvalidParams{Context: "ResumeContactRecordingInput"}
23093	if s.ContactId == nil {
23094		invalidParams.Add(request.NewErrParamRequired("ContactId"))
23095	}
23096	if s.ContactId != nil && len(*s.ContactId) < 1 {
23097		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
23098	}
23099	if s.InitialContactId == nil {
23100		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
23101	}
23102	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
23103		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
23104	}
23105	if s.InstanceId == nil {
23106		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
23107	}
23108	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
23109		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
23110	}
23111
23112	if invalidParams.Len() > 0 {
23113		return invalidParams
23114	}
23115	return nil
23116}
23117
23118// SetContactId sets the ContactId field's value.
23119func (s *ResumeContactRecordingInput) SetContactId(v string) *ResumeContactRecordingInput {
23120	s.ContactId = &v
23121	return s
23122}
23123
23124// SetInitialContactId sets the InitialContactId field's value.
23125func (s *ResumeContactRecordingInput) SetInitialContactId(v string) *ResumeContactRecordingInput {
23126	s.InitialContactId = &v
23127	return s
23128}
23129
23130// SetInstanceId sets the InstanceId field's value.
23131func (s *ResumeContactRecordingInput) SetInstanceId(v string) *ResumeContactRecordingInput {
23132	s.InstanceId = &v
23133	return s
23134}
23135
23136type ResumeContactRecordingOutput struct {
23137	_ struct{} `type:"structure"`
23138}
23139
23140// String returns the string representation
23141func (s ResumeContactRecordingOutput) String() string {
23142	return awsutil.Prettify(s)
23143}
23144
23145// GoString returns the string representation
23146func (s ResumeContactRecordingOutput) GoString() string {
23147	return s.String()
23148}
23149
23150// Contains information about a routing profile.
23151type RoutingProfile struct {
23152	_ struct{} `type:"structure"`
23153
23154	// The identifier of the default outbound queue for this routing profile.
23155	DefaultOutboundQueueId *string `type:"string"`
23156
23157	// The description of the routing profile.
23158	Description *string `min:"1" type:"string"`
23159
23160	// The identifier of the Amazon Connect instance. You can find the instanceId
23161	// in the ARN of the instance.
23162	InstanceId *string `min:"1" type:"string"`
23163
23164	// The channels agents can handle in the Contact Control Panel (CCP) for this
23165	// routing profile.
23166	MediaConcurrencies []*MediaConcurrency `type:"list"`
23167
23168	// The name of the routing profile.
23169	Name *string `min:"1" type:"string"`
23170
23171	// The Amazon Resource Name (ARN) of the routing profile.
23172	RoutingProfileArn *string `type:"string"`
23173
23174	// The identifier of the routing profile.
23175	RoutingProfileId *string `type:"string"`
23176
23177	// One or more tags.
23178	Tags map[string]*string `min:"1" type:"map"`
23179}
23180
23181// String returns the string representation
23182func (s RoutingProfile) String() string {
23183	return awsutil.Prettify(s)
23184}
23185
23186// GoString returns the string representation
23187func (s RoutingProfile) GoString() string {
23188	return s.String()
23189}
23190
23191// SetDefaultOutboundQueueId sets the DefaultOutboundQueueId field's value.
23192func (s *RoutingProfile) SetDefaultOutboundQueueId(v string) *RoutingProfile {
23193	s.DefaultOutboundQueueId = &v
23194	return s
23195}
23196
23197// SetDescription sets the Description field's value.
23198func (s *RoutingProfile) SetDescription(v string) *RoutingProfile {
23199	s.Description = &v
23200	return s
23201}
23202
23203// SetInstanceId sets the InstanceId field's value.
23204func (s *RoutingProfile) SetInstanceId(v string) *RoutingProfile {
23205	s.InstanceId = &v
23206	return s
23207}
23208
23209// SetMediaConcurrencies sets the MediaConcurrencies field's value.
23210func (s *RoutingProfile) SetMediaConcurrencies(v []*MediaConcurrency) *RoutingProfile {
23211	s.MediaConcurrencies = v
23212	return s
23213}
23214
23215// SetName sets the Name field's value.
23216func (s *RoutingProfile) SetName(v string) *RoutingProfile {
23217	s.Name = &v
23218	return s
23219}
23220
23221// SetRoutingProfileArn sets the RoutingProfileArn field's value.
23222func (s *RoutingProfile) SetRoutingProfileArn(v string) *RoutingProfile {
23223	s.RoutingProfileArn = &v
23224	return s
23225}
23226
23227// SetRoutingProfileId sets the RoutingProfileId field's value.
23228func (s *RoutingProfile) SetRoutingProfileId(v string) *RoutingProfile {
23229	s.RoutingProfileId = &v
23230	return s
23231}
23232
23233// SetTags sets the Tags field's value.
23234func (s *RoutingProfile) SetTags(v map[string]*string) *RoutingProfile {
23235	s.Tags = v
23236	return s
23237}
23238
23239// Contains information about the queue and channel for which priority and delay
23240// can be set.
23241type RoutingProfileQueueConfig struct {
23242	_ struct{} `type:"structure"`
23243
23244	// The delay, in seconds, a contact should be in the queue before they are routed
23245	// to an available agent. For more information, see Queues: priority and delay
23246	// (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html)
23247	// in the Amazon Connect Administrator Guide.
23248	//
23249	// Delay is a required field
23250	Delay *int64 `type:"integer" required:"true"`
23251
23252	// The order in which contacts are to be handled for the queue. For more information,
23253	// see Queues: priority and delay (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html).
23254	//
23255	// Priority is a required field
23256	Priority *int64 `min:"1" type:"integer" required:"true"`
23257
23258	// Contains information about a queue resource.
23259	//
23260	// QueueReference is a required field
23261	QueueReference *RoutingProfileQueueReference `type:"structure" required:"true"`
23262}
23263
23264// String returns the string representation
23265func (s RoutingProfileQueueConfig) String() string {
23266	return awsutil.Prettify(s)
23267}
23268
23269// GoString returns the string representation
23270func (s RoutingProfileQueueConfig) GoString() string {
23271	return s.String()
23272}
23273
23274// Validate inspects the fields of the type to determine if they are valid.
23275func (s *RoutingProfileQueueConfig) Validate() error {
23276	invalidParams := request.ErrInvalidParams{Context: "RoutingProfileQueueConfig"}
23277	if s.Delay == nil {
23278		invalidParams.Add(request.NewErrParamRequired("Delay"))
23279	}
23280	if s.Priority == nil {
23281		invalidParams.Add(request.NewErrParamRequired("Priority"))
23282	}
23283	if s.Priority != nil && *s.Priority < 1 {
23284		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
23285	}
23286	if s.QueueReference == nil {
23287		invalidParams.Add(request.NewErrParamRequired("QueueReference"))
23288	}
23289	if s.QueueReference != nil {
23290		if err := s.QueueReference.Validate(); err != nil {
23291			invalidParams.AddNested("QueueReference", err.(request.ErrInvalidParams))
23292		}
23293	}
23294
23295	if invalidParams.Len() > 0 {
23296		return invalidParams
23297	}
23298	return nil
23299}
23300
23301// SetDelay sets the Delay field's value.
23302func (s *RoutingProfileQueueConfig) SetDelay(v int64) *RoutingProfileQueueConfig {
23303	s.Delay = &v
23304	return s
23305}
23306
23307// SetPriority sets the Priority field's value.
23308func (s *RoutingProfileQueueConfig) SetPriority(v int64) *RoutingProfileQueueConfig {
23309	s.Priority = &v
23310	return s
23311}
23312
23313// SetQueueReference sets the QueueReference field's value.
23314func (s *RoutingProfileQueueConfig) SetQueueReference(v *RoutingProfileQueueReference) *RoutingProfileQueueConfig {
23315	s.QueueReference = v
23316	return s
23317}
23318
23319// Contains summary information about a routing profile queue.
23320type RoutingProfileQueueConfigSummary struct {
23321	_ struct{} `type:"structure"`
23322
23323	// The channels this queue supports.
23324	//
23325	// Channel is a required field
23326	Channel *string `type:"string" required:"true" enum:"Channel"`
23327
23328	// The delay, in seconds, that a contact should be in the queue before they
23329	// are routed to an available agent. For more information, see Queues: priority
23330	// and delay (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html)
23331	// in the Amazon Connect Administrator Guide.
23332	//
23333	// Delay is a required field
23334	Delay *int64 `type:"integer" required:"true"`
23335
23336	// The order in which contacts are to be handled for the queue. For more information,
23337	// see Queues: priority and delay (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html).
23338	//
23339	// Priority is a required field
23340	Priority *int64 `min:"1" type:"integer" required:"true"`
23341
23342	// The Amazon Resource Name (ARN) of the queue.
23343	//
23344	// QueueArn is a required field
23345	QueueArn *string `type:"string" required:"true"`
23346
23347	// The identifier for the queue.
23348	//
23349	// QueueId is a required field
23350	QueueId *string `type:"string" required:"true"`
23351
23352	// The name of the queue.
23353	//
23354	// QueueName is a required field
23355	QueueName *string `min:"1" type:"string" required:"true"`
23356}
23357
23358// String returns the string representation
23359func (s RoutingProfileQueueConfigSummary) String() string {
23360	return awsutil.Prettify(s)
23361}
23362
23363// GoString returns the string representation
23364func (s RoutingProfileQueueConfigSummary) GoString() string {
23365	return s.String()
23366}
23367
23368// SetChannel sets the Channel field's value.
23369func (s *RoutingProfileQueueConfigSummary) SetChannel(v string) *RoutingProfileQueueConfigSummary {
23370	s.Channel = &v
23371	return s
23372}
23373
23374// SetDelay sets the Delay field's value.
23375func (s *RoutingProfileQueueConfigSummary) SetDelay(v int64) *RoutingProfileQueueConfigSummary {
23376	s.Delay = &v
23377	return s
23378}
23379
23380// SetPriority sets the Priority field's value.
23381func (s *RoutingProfileQueueConfigSummary) SetPriority(v int64) *RoutingProfileQueueConfigSummary {
23382	s.Priority = &v
23383	return s
23384}
23385
23386// SetQueueArn sets the QueueArn field's value.
23387func (s *RoutingProfileQueueConfigSummary) SetQueueArn(v string) *RoutingProfileQueueConfigSummary {
23388	s.QueueArn = &v
23389	return s
23390}
23391
23392// SetQueueId sets the QueueId field's value.
23393func (s *RoutingProfileQueueConfigSummary) SetQueueId(v string) *RoutingProfileQueueConfigSummary {
23394	s.QueueId = &v
23395	return s
23396}
23397
23398// SetQueueName sets the QueueName field's value.
23399func (s *RoutingProfileQueueConfigSummary) SetQueueName(v string) *RoutingProfileQueueConfigSummary {
23400	s.QueueName = &v
23401	return s
23402}
23403
23404// Contains the channel and queue identifier for a routing profile.
23405type RoutingProfileQueueReference struct {
23406	_ struct{} `type:"structure"`
23407
23408	// The channels agents can handle in the Contact Control Panel (CCP) for this
23409	// routing profile.
23410	//
23411	// Channel is a required field
23412	Channel *string `type:"string" required:"true" enum:"Channel"`
23413
23414	// The identifier for the queue.
23415	//
23416	// QueueId is a required field
23417	QueueId *string `type:"string" required:"true"`
23418}
23419
23420// String returns the string representation
23421func (s RoutingProfileQueueReference) String() string {
23422	return awsutil.Prettify(s)
23423}
23424
23425// GoString returns the string representation
23426func (s RoutingProfileQueueReference) GoString() string {
23427	return s.String()
23428}
23429
23430// Validate inspects the fields of the type to determine if they are valid.
23431func (s *RoutingProfileQueueReference) Validate() error {
23432	invalidParams := request.ErrInvalidParams{Context: "RoutingProfileQueueReference"}
23433	if s.Channel == nil {
23434		invalidParams.Add(request.NewErrParamRequired("Channel"))
23435	}
23436	if s.QueueId == nil {
23437		invalidParams.Add(request.NewErrParamRequired("QueueId"))
23438	}
23439
23440	if invalidParams.Len() > 0 {
23441		return invalidParams
23442	}
23443	return nil
23444}
23445
23446// SetChannel sets the Channel field's value.
23447func (s *RoutingProfileQueueReference) SetChannel(v string) *RoutingProfileQueueReference {
23448	s.Channel = &v
23449	return s
23450}
23451
23452// SetQueueId sets the QueueId field's value.
23453func (s *RoutingProfileQueueReference) SetQueueId(v string) *RoutingProfileQueueReference {
23454	s.QueueId = &v
23455	return s
23456}
23457
23458// Contains summary information about a routing profile.
23459type RoutingProfileSummary struct {
23460	_ struct{} `type:"structure"`
23461
23462	// The Amazon Resource Name (ARN) of the routing profile.
23463	Arn *string `type:"string"`
23464
23465	// The identifier of the routing profile.
23466	Id *string `type:"string"`
23467
23468	// The name of the routing profile.
23469	Name *string `min:"1" type:"string"`
23470}
23471
23472// String returns the string representation
23473func (s RoutingProfileSummary) String() string {
23474	return awsutil.Prettify(s)
23475}
23476
23477// GoString returns the string representation
23478func (s RoutingProfileSummary) GoString() string {
23479	return s.String()
23480}
23481
23482// SetArn sets the Arn field's value.
23483func (s *RoutingProfileSummary) SetArn(v string) *RoutingProfileSummary {
23484	s.Arn = &v
23485	return s
23486}
23487
23488// SetId sets the Id field's value.
23489func (s *RoutingProfileSummary) SetId(v string) *RoutingProfileSummary {
23490	s.Id = &v
23491	return s
23492}
23493
23494// SetName sets the Name field's value.
23495func (s *RoutingProfileSummary) SetName(v string) *RoutingProfileSummary {
23496	s.Name = &v
23497	return s
23498}
23499
23500// Information about the Amazon Simple Storage Service (Amazon S3) storage type.
23501type S3Config struct {
23502	_ struct{} `type:"structure"`
23503
23504	// The S3 bucket name.
23505	//
23506	// BucketName is a required field
23507	BucketName *string `min:"1" type:"string" required:"true"`
23508
23509	// The S3 bucket prefix.
23510	//
23511	// BucketPrefix is a required field
23512	BucketPrefix *string `min:"1" type:"string" required:"true"`
23513
23514	// The Amazon S3 encryption configuration.
23515	EncryptionConfig *EncryptionConfig `type:"structure"`
23516}
23517
23518// String returns the string representation
23519func (s S3Config) String() string {
23520	return awsutil.Prettify(s)
23521}
23522
23523// GoString returns the string representation
23524func (s S3Config) GoString() string {
23525	return s.String()
23526}
23527
23528// Validate inspects the fields of the type to determine if they are valid.
23529func (s *S3Config) Validate() error {
23530	invalidParams := request.ErrInvalidParams{Context: "S3Config"}
23531	if s.BucketName == nil {
23532		invalidParams.Add(request.NewErrParamRequired("BucketName"))
23533	}
23534	if s.BucketName != nil && len(*s.BucketName) < 1 {
23535		invalidParams.Add(request.NewErrParamMinLen("BucketName", 1))
23536	}
23537	if s.BucketPrefix == nil {
23538		invalidParams.Add(request.NewErrParamRequired("BucketPrefix"))
23539	}
23540	if s.BucketPrefix != nil && len(*s.BucketPrefix) < 1 {
23541		invalidParams.Add(request.NewErrParamMinLen("BucketPrefix", 1))
23542	}
23543	if s.EncryptionConfig != nil {
23544		if err := s.EncryptionConfig.Validate(); err != nil {
23545			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
23546		}
23547	}
23548
23549	if invalidParams.Len() > 0 {
23550		return invalidParams
23551	}
23552	return nil
23553}
23554
23555// SetBucketName sets the BucketName field's value.
23556func (s *S3Config) SetBucketName(v string) *S3Config {
23557	s.BucketName = &v
23558	return s
23559}
23560
23561// SetBucketPrefix sets the BucketPrefix field's value.
23562func (s *S3Config) SetBucketPrefix(v string) *S3Config {
23563	s.BucketPrefix = &v
23564	return s
23565}
23566
23567// SetEncryptionConfig sets the EncryptionConfig field's value.
23568func (s *S3Config) SetEncryptionConfig(v *EncryptionConfig) *S3Config {
23569	s.EncryptionConfig = v
23570	return s
23571}
23572
23573// Configuration information of the security key.
23574type SecurityKey struct {
23575	_ struct{} `type:"structure"`
23576
23577	// The existing association identifier that uniquely identifies the resource
23578	// type and storage config for the given instance ID.
23579	AssociationId *string `min:"1" type:"string"`
23580
23581	// When the security key was created.
23582	CreationTime *time.Time `type:"timestamp"`
23583
23584	// The key of the security key.
23585	Key *string `min:"1" type:"string"`
23586}
23587
23588// String returns the string representation
23589func (s SecurityKey) String() string {
23590	return awsutil.Prettify(s)
23591}
23592
23593// GoString returns the string representation
23594func (s SecurityKey) GoString() string {
23595	return s.String()
23596}
23597
23598// SetAssociationId sets the AssociationId field's value.
23599func (s *SecurityKey) SetAssociationId(v string) *SecurityKey {
23600	s.AssociationId = &v
23601	return s
23602}
23603
23604// SetCreationTime sets the CreationTime field's value.
23605func (s *SecurityKey) SetCreationTime(v time.Time) *SecurityKey {
23606	s.CreationTime = &v
23607	return s
23608}
23609
23610// SetKey sets the Key field's value.
23611func (s *SecurityKey) SetKey(v string) *SecurityKey {
23612	s.Key = &v
23613	return s
23614}
23615
23616// Contains information about a security profile.
23617type SecurityProfileSummary struct {
23618	_ struct{} `type:"structure"`
23619
23620	// The Amazon Resource Name (ARN) of the security profile.
23621	Arn *string `type:"string"`
23622
23623	// The identifier of the security profile.
23624	Id *string `type:"string"`
23625
23626	// The name of the security profile.
23627	Name *string `type:"string"`
23628}
23629
23630// String returns the string representation
23631func (s SecurityProfileSummary) String() string {
23632	return awsutil.Prettify(s)
23633}
23634
23635// GoString returns the string representation
23636func (s SecurityProfileSummary) GoString() string {
23637	return s.String()
23638}
23639
23640// SetArn sets the Arn field's value.
23641func (s *SecurityProfileSummary) SetArn(v string) *SecurityProfileSummary {
23642	s.Arn = &v
23643	return s
23644}
23645
23646// SetId sets the Id field's value.
23647func (s *SecurityProfileSummary) SetId(v string) *SecurityProfileSummary {
23648	s.Id = &v
23649	return s
23650}
23651
23652// SetName sets the Name field's value.
23653func (s *SecurityProfileSummary) SetName(v string) *SecurityProfileSummary {
23654	s.Name = &v
23655	return s
23656}
23657
23658// The service quota has been exceeded.
23659type ServiceQuotaExceededException struct {
23660	_            struct{}                  `type:"structure"`
23661	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23662
23663	Message_ *string `locationName:"Message" type:"string"`
23664}
23665
23666// String returns the string representation
23667func (s ServiceQuotaExceededException) String() string {
23668	return awsutil.Prettify(s)
23669}
23670
23671// GoString returns the string representation
23672func (s ServiceQuotaExceededException) GoString() string {
23673	return s.String()
23674}
23675
23676func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
23677	return &ServiceQuotaExceededException{
23678		RespMetadata: v,
23679	}
23680}
23681
23682// Code returns the exception type name.
23683func (s *ServiceQuotaExceededException) Code() string {
23684	return "ServiceQuotaExceededException"
23685}
23686
23687// Message returns the exception's message.
23688func (s *ServiceQuotaExceededException) Message() string {
23689	if s.Message_ != nil {
23690		return *s.Message_
23691	}
23692	return ""
23693}
23694
23695// OrigErr always returns nil, satisfies awserr.Error interface.
23696func (s *ServiceQuotaExceededException) OrigErr() error {
23697	return nil
23698}
23699
23700func (s *ServiceQuotaExceededException) Error() string {
23701	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23702}
23703
23704// Status code returns the HTTP status code for the request's response error.
23705func (s *ServiceQuotaExceededException) StatusCode() int {
23706	return s.RespMetadata.StatusCode
23707}
23708
23709// RequestID returns the service's response RequestID for request.
23710func (s *ServiceQuotaExceededException) RequestID() string {
23711	return s.RespMetadata.RequestID
23712}
23713
23714type StartChatContactInput struct {
23715	_ struct{} `type:"structure"`
23716
23717	// A custom key-value pair using an attribute map. The attributes are standard
23718	// Amazon Connect attributes. They can be accessed in contact flows just like
23719	// any other contact attributes.
23720	//
23721	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
23722	// Attribute keys can include only alphanumeric, dash, and underscore characters.
23723	Attributes map[string]*string `type:"map"`
23724
23725	// A unique, case-sensitive identifier that you provide to ensure the idempotency
23726	// of the request.
23727	ClientToken *string `type:"string" idempotencyToken:"true"`
23728
23729	// The identifier of the contact flow for initiating the chat. To see the ContactFlowId
23730	// in the Amazon Connect console user interface, on the navigation menu go to
23731	// Routing, Contact Flows. Choose the contact flow. On the contact flow page,
23732	// under the name of the contact flow, choose Show additional flow information.
23733	// The ContactFlowId is the last part of the ARN, shown here in bold:
23734	//
23735	// arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx
23736	//
23737	// ContactFlowId is a required field
23738	ContactFlowId *string `type:"string" required:"true"`
23739
23740	// The initial message to be sent to the newly created chat.
23741	InitialMessage *ChatMessage `type:"structure"`
23742
23743	// The identifier of the Amazon Connect instance. You can find the instanceId
23744	// in the ARN of the instance.
23745	//
23746	// InstanceId is a required field
23747	InstanceId *string `min:"1" type:"string" required:"true"`
23748
23749	// Information identifying the participant.
23750	//
23751	// ParticipantDetails is a required field
23752	ParticipantDetails *ParticipantDetails `type:"structure" required:"true"`
23753}
23754
23755// String returns the string representation
23756func (s StartChatContactInput) String() string {
23757	return awsutil.Prettify(s)
23758}
23759
23760// GoString returns the string representation
23761func (s StartChatContactInput) GoString() string {
23762	return s.String()
23763}
23764
23765// Validate inspects the fields of the type to determine if they are valid.
23766func (s *StartChatContactInput) Validate() error {
23767	invalidParams := request.ErrInvalidParams{Context: "StartChatContactInput"}
23768	if s.ContactFlowId == nil {
23769		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
23770	}
23771	if s.InstanceId == nil {
23772		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
23773	}
23774	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
23775		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
23776	}
23777	if s.ParticipantDetails == nil {
23778		invalidParams.Add(request.NewErrParamRequired("ParticipantDetails"))
23779	}
23780	if s.InitialMessage != nil {
23781		if err := s.InitialMessage.Validate(); err != nil {
23782			invalidParams.AddNested("InitialMessage", err.(request.ErrInvalidParams))
23783		}
23784	}
23785	if s.ParticipantDetails != nil {
23786		if err := s.ParticipantDetails.Validate(); err != nil {
23787			invalidParams.AddNested("ParticipantDetails", err.(request.ErrInvalidParams))
23788		}
23789	}
23790
23791	if invalidParams.Len() > 0 {
23792		return invalidParams
23793	}
23794	return nil
23795}
23796
23797// SetAttributes sets the Attributes field's value.
23798func (s *StartChatContactInput) SetAttributes(v map[string]*string) *StartChatContactInput {
23799	s.Attributes = v
23800	return s
23801}
23802
23803// SetClientToken sets the ClientToken field's value.
23804func (s *StartChatContactInput) SetClientToken(v string) *StartChatContactInput {
23805	s.ClientToken = &v
23806	return s
23807}
23808
23809// SetContactFlowId sets the ContactFlowId field's value.
23810func (s *StartChatContactInput) SetContactFlowId(v string) *StartChatContactInput {
23811	s.ContactFlowId = &v
23812	return s
23813}
23814
23815// SetInitialMessage sets the InitialMessage field's value.
23816func (s *StartChatContactInput) SetInitialMessage(v *ChatMessage) *StartChatContactInput {
23817	s.InitialMessage = v
23818	return s
23819}
23820
23821// SetInstanceId sets the InstanceId field's value.
23822func (s *StartChatContactInput) SetInstanceId(v string) *StartChatContactInput {
23823	s.InstanceId = &v
23824	return s
23825}
23826
23827// SetParticipantDetails sets the ParticipantDetails field's value.
23828func (s *StartChatContactInput) SetParticipantDetails(v *ParticipantDetails) *StartChatContactInput {
23829	s.ParticipantDetails = v
23830	return s
23831}
23832
23833type StartChatContactOutput struct {
23834	_ struct{} `type:"structure"`
23835
23836	// The identifier of this contact within the Amazon Connect instance.
23837	ContactId *string `min:"1" type:"string"`
23838
23839	// The identifier for a chat participant. The participantId for a chat participant
23840	// is the same throughout the chat lifecycle.
23841	ParticipantId *string `min:"1" type:"string"`
23842
23843	// The token used by the chat participant to call CreateParticipantConnection
23844	// (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html).
23845	// The participant token is valid for the lifetime of a chat participant.
23846	ParticipantToken *string `min:"1" type:"string"`
23847}
23848
23849// String returns the string representation
23850func (s StartChatContactOutput) String() string {
23851	return awsutil.Prettify(s)
23852}
23853
23854// GoString returns the string representation
23855func (s StartChatContactOutput) GoString() string {
23856	return s.String()
23857}
23858
23859// SetContactId sets the ContactId field's value.
23860func (s *StartChatContactOutput) SetContactId(v string) *StartChatContactOutput {
23861	s.ContactId = &v
23862	return s
23863}
23864
23865// SetParticipantId sets the ParticipantId field's value.
23866func (s *StartChatContactOutput) SetParticipantId(v string) *StartChatContactOutput {
23867	s.ParticipantId = &v
23868	return s
23869}
23870
23871// SetParticipantToken sets the ParticipantToken field's value.
23872func (s *StartChatContactOutput) SetParticipantToken(v string) *StartChatContactOutput {
23873	s.ParticipantToken = &v
23874	return s
23875}
23876
23877type StartContactRecordingInput struct {
23878	_ struct{} `type:"structure"`
23879
23880	// The identifier of the contact.
23881	//
23882	// ContactId is a required field
23883	ContactId *string `min:"1" type:"string" required:"true"`
23884
23885	// The identifier of the contact. This is the identifier of the contact associated
23886	// with the first interaction with the contact center.
23887	//
23888	// InitialContactId is a required field
23889	InitialContactId *string `min:"1" type:"string" required:"true"`
23890
23891	// The identifier of the Amazon Connect instance. You can find the instanceId
23892	// in the ARN of the instance.
23893	//
23894	// InstanceId is a required field
23895	InstanceId *string `min:"1" type:"string" required:"true"`
23896
23897	// The person being recorded.
23898	//
23899	// VoiceRecordingConfiguration is a required field
23900	VoiceRecordingConfiguration *VoiceRecordingConfiguration `type:"structure" required:"true"`
23901}
23902
23903// String returns the string representation
23904func (s StartContactRecordingInput) String() string {
23905	return awsutil.Prettify(s)
23906}
23907
23908// GoString returns the string representation
23909func (s StartContactRecordingInput) GoString() string {
23910	return s.String()
23911}
23912
23913// Validate inspects the fields of the type to determine if they are valid.
23914func (s *StartContactRecordingInput) Validate() error {
23915	invalidParams := request.ErrInvalidParams{Context: "StartContactRecordingInput"}
23916	if s.ContactId == nil {
23917		invalidParams.Add(request.NewErrParamRequired("ContactId"))
23918	}
23919	if s.ContactId != nil && len(*s.ContactId) < 1 {
23920		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
23921	}
23922	if s.InitialContactId == nil {
23923		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
23924	}
23925	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
23926		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
23927	}
23928	if s.InstanceId == nil {
23929		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
23930	}
23931	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
23932		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
23933	}
23934	if s.VoiceRecordingConfiguration == nil {
23935		invalidParams.Add(request.NewErrParamRequired("VoiceRecordingConfiguration"))
23936	}
23937
23938	if invalidParams.Len() > 0 {
23939		return invalidParams
23940	}
23941	return nil
23942}
23943
23944// SetContactId sets the ContactId field's value.
23945func (s *StartContactRecordingInput) SetContactId(v string) *StartContactRecordingInput {
23946	s.ContactId = &v
23947	return s
23948}
23949
23950// SetInitialContactId sets the InitialContactId field's value.
23951func (s *StartContactRecordingInput) SetInitialContactId(v string) *StartContactRecordingInput {
23952	s.InitialContactId = &v
23953	return s
23954}
23955
23956// SetInstanceId sets the InstanceId field's value.
23957func (s *StartContactRecordingInput) SetInstanceId(v string) *StartContactRecordingInput {
23958	s.InstanceId = &v
23959	return s
23960}
23961
23962// SetVoiceRecordingConfiguration sets the VoiceRecordingConfiguration field's value.
23963func (s *StartContactRecordingInput) SetVoiceRecordingConfiguration(v *VoiceRecordingConfiguration) *StartContactRecordingInput {
23964	s.VoiceRecordingConfiguration = v
23965	return s
23966}
23967
23968type StartContactRecordingOutput struct {
23969	_ struct{} `type:"structure"`
23970}
23971
23972// String returns the string representation
23973func (s StartContactRecordingOutput) String() string {
23974	return awsutil.Prettify(s)
23975}
23976
23977// GoString returns the string representation
23978func (s StartContactRecordingOutput) GoString() string {
23979	return s.String()
23980}
23981
23982type StartOutboundVoiceContactInput struct {
23983	_ struct{} `type:"structure"`
23984
23985	// A custom key-value pair using an attribute map. The attributes are standard
23986	// Amazon Connect attributes, and can be accessed in contact flows just like
23987	// any other contact attributes.
23988	//
23989	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
23990	// Attribute keys can include only alphanumeric, dash, and underscore characters.
23991	Attributes map[string]*string `type:"map"`
23992
23993	// A unique, case-sensitive identifier that you provide to ensure the idempotency
23994	// of the request. The token is valid for 7 days after creation. If a contact
23995	// is already started, the contact ID is returned.
23996	ClientToken *string `type:"string" idempotencyToken:"true"`
23997
23998	// The identifier of the contact flow for the outbound call. To see the ContactFlowId
23999	// in the Amazon Connect console user interface, on the navigation menu go to
24000	// Routing, Contact Flows. Choose the contact flow. On the contact flow page,
24001	// under the name of the contact flow, choose Show additional flow information.
24002	// The ContactFlowId is the last part of the ARN, shown here in bold:
24003	//
24004	// arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx
24005	//
24006	// ContactFlowId is a required field
24007	ContactFlowId *string `type:"string" required:"true"`
24008
24009	// The phone number of the customer, in E.164 format.
24010	//
24011	// DestinationPhoneNumber is a required field
24012	DestinationPhoneNumber *string `type:"string" required:"true"`
24013
24014	// The identifier of the Amazon Connect instance. You can find the instanceId
24015	// in the ARN of the instance.
24016	//
24017	// InstanceId is a required field
24018	InstanceId *string `min:"1" type:"string" required:"true"`
24019
24020	// The queue for the call. If you specify a queue, the phone displayed for caller
24021	// ID is the phone number specified in the queue. If you do not specify a queue,
24022	// the queue defined in the contact flow is used. If you do not specify a queue,
24023	// you must specify a source phone number.
24024	QueueId *string `type:"string"`
24025
24026	// The phone number associated with the Amazon Connect instance, in E.164 format.
24027	// If you do not specify a source phone number, you must specify a queue.
24028	SourcePhoneNumber *string `type:"string"`
24029}
24030
24031// String returns the string representation
24032func (s StartOutboundVoiceContactInput) String() string {
24033	return awsutil.Prettify(s)
24034}
24035
24036// GoString returns the string representation
24037func (s StartOutboundVoiceContactInput) GoString() string {
24038	return s.String()
24039}
24040
24041// Validate inspects the fields of the type to determine if they are valid.
24042func (s *StartOutboundVoiceContactInput) Validate() error {
24043	invalidParams := request.ErrInvalidParams{Context: "StartOutboundVoiceContactInput"}
24044	if s.ContactFlowId == nil {
24045		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
24046	}
24047	if s.DestinationPhoneNumber == nil {
24048		invalidParams.Add(request.NewErrParamRequired("DestinationPhoneNumber"))
24049	}
24050	if s.InstanceId == nil {
24051		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
24052	}
24053	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
24054		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
24055	}
24056
24057	if invalidParams.Len() > 0 {
24058		return invalidParams
24059	}
24060	return nil
24061}
24062
24063// SetAttributes sets the Attributes field's value.
24064func (s *StartOutboundVoiceContactInput) SetAttributes(v map[string]*string) *StartOutboundVoiceContactInput {
24065	s.Attributes = v
24066	return s
24067}
24068
24069// SetClientToken sets the ClientToken field's value.
24070func (s *StartOutboundVoiceContactInput) SetClientToken(v string) *StartOutboundVoiceContactInput {
24071	s.ClientToken = &v
24072	return s
24073}
24074
24075// SetContactFlowId sets the ContactFlowId field's value.
24076func (s *StartOutboundVoiceContactInput) SetContactFlowId(v string) *StartOutboundVoiceContactInput {
24077	s.ContactFlowId = &v
24078	return s
24079}
24080
24081// SetDestinationPhoneNumber sets the DestinationPhoneNumber field's value.
24082func (s *StartOutboundVoiceContactInput) SetDestinationPhoneNumber(v string) *StartOutboundVoiceContactInput {
24083	s.DestinationPhoneNumber = &v
24084	return s
24085}
24086
24087// SetInstanceId sets the InstanceId field's value.
24088func (s *StartOutboundVoiceContactInput) SetInstanceId(v string) *StartOutboundVoiceContactInput {
24089	s.InstanceId = &v
24090	return s
24091}
24092
24093// SetQueueId sets the QueueId field's value.
24094func (s *StartOutboundVoiceContactInput) SetQueueId(v string) *StartOutboundVoiceContactInput {
24095	s.QueueId = &v
24096	return s
24097}
24098
24099// SetSourcePhoneNumber sets the SourcePhoneNumber field's value.
24100func (s *StartOutboundVoiceContactInput) SetSourcePhoneNumber(v string) *StartOutboundVoiceContactInput {
24101	s.SourcePhoneNumber = &v
24102	return s
24103}
24104
24105type StartOutboundVoiceContactOutput struct {
24106	_ struct{} `type:"structure"`
24107
24108	// The identifier of this contact within the Amazon Connect instance.
24109	ContactId *string `min:"1" type:"string"`
24110}
24111
24112// String returns the string representation
24113func (s StartOutboundVoiceContactOutput) String() string {
24114	return awsutil.Prettify(s)
24115}
24116
24117// GoString returns the string representation
24118func (s StartOutboundVoiceContactOutput) GoString() string {
24119	return s.String()
24120}
24121
24122// SetContactId sets the ContactId field's value.
24123func (s *StartOutboundVoiceContactOutput) SetContactId(v string) *StartOutboundVoiceContactOutput {
24124	s.ContactId = &v
24125	return s
24126}
24127
24128type StartTaskContactInput struct {
24129	_ struct{} `type:"structure"`
24130
24131	// A custom key-value pair using an attribute map. The attributes are standard
24132	// Amazon Connect attributes, and can be accessed in contact flows just like
24133	// any other contact attributes.
24134	//
24135	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
24136	// Attribute keys can include only alphanumeric, dash, and underscore characters.
24137	Attributes map[string]*string `type:"map"`
24138
24139	// A unique, case-sensitive identifier that you provide to ensure the idempotency
24140	// of the request.
24141	ClientToken *string `type:"string" idempotencyToken:"true"`
24142
24143	// The identifier of the contact flow for initiating the tasks. To see the ContactFlowId
24144	// in the Amazon Connect console user interface, on the navigation menu go to
24145	// Routing, Contact Flows. Choose the contact flow. On the contact flow page,
24146	// under the name of the contact flow, choose Show additional flow information.
24147	// The ContactFlowId is the last part of the ARN, shown here in bold:
24148	//
24149	// arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx
24150	//
24151	// ContactFlowId is a required field
24152	ContactFlowId *string `type:"string" required:"true"`
24153
24154	// A description of the task that is shown to an agent in the Contact Control
24155	// Panel (CCP).
24156	Description *string `type:"string"`
24157
24158	// The identifier of the Amazon Connect instance. You can find the instanceId
24159	// in the ARN of the instance.
24160	//
24161	// InstanceId is a required field
24162	InstanceId *string `min:"1" type:"string" required:"true"`
24163
24164	// The name of a task that is shown to an agent in the Contact Control Panel
24165	// (CCP).
24166	//
24167	// Name is a required field
24168	Name *string `type:"string" required:"true"`
24169
24170	// The identifier of the previous chat, voice, or task contact.
24171	PreviousContactId *string `min:"1" type:"string"`
24172
24173	// A formatted URL that is shown to an agent in the Contact Control Panel (CCP).
24174	References map[string]*Reference `type:"map"`
24175}
24176
24177// String returns the string representation
24178func (s StartTaskContactInput) String() string {
24179	return awsutil.Prettify(s)
24180}
24181
24182// GoString returns the string representation
24183func (s StartTaskContactInput) GoString() string {
24184	return s.String()
24185}
24186
24187// Validate inspects the fields of the type to determine if they are valid.
24188func (s *StartTaskContactInput) Validate() error {
24189	invalidParams := request.ErrInvalidParams{Context: "StartTaskContactInput"}
24190	if s.ContactFlowId == nil {
24191		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
24192	}
24193	if s.InstanceId == nil {
24194		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
24195	}
24196	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
24197		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
24198	}
24199	if s.Name == nil {
24200		invalidParams.Add(request.NewErrParamRequired("Name"))
24201	}
24202	if s.PreviousContactId != nil && len(*s.PreviousContactId) < 1 {
24203		invalidParams.Add(request.NewErrParamMinLen("PreviousContactId", 1))
24204	}
24205	if s.References != nil {
24206		for i, v := range s.References {
24207			if v == nil {
24208				continue
24209			}
24210			if err := v.Validate(); err != nil {
24211				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "References", i), err.(request.ErrInvalidParams))
24212			}
24213		}
24214	}
24215
24216	if invalidParams.Len() > 0 {
24217		return invalidParams
24218	}
24219	return nil
24220}
24221
24222// SetAttributes sets the Attributes field's value.
24223func (s *StartTaskContactInput) SetAttributes(v map[string]*string) *StartTaskContactInput {
24224	s.Attributes = v
24225	return s
24226}
24227
24228// SetClientToken sets the ClientToken field's value.
24229func (s *StartTaskContactInput) SetClientToken(v string) *StartTaskContactInput {
24230	s.ClientToken = &v
24231	return s
24232}
24233
24234// SetContactFlowId sets the ContactFlowId field's value.
24235func (s *StartTaskContactInput) SetContactFlowId(v string) *StartTaskContactInput {
24236	s.ContactFlowId = &v
24237	return s
24238}
24239
24240// SetDescription sets the Description field's value.
24241func (s *StartTaskContactInput) SetDescription(v string) *StartTaskContactInput {
24242	s.Description = &v
24243	return s
24244}
24245
24246// SetInstanceId sets the InstanceId field's value.
24247func (s *StartTaskContactInput) SetInstanceId(v string) *StartTaskContactInput {
24248	s.InstanceId = &v
24249	return s
24250}
24251
24252// SetName sets the Name field's value.
24253func (s *StartTaskContactInput) SetName(v string) *StartTaskContactInput {
24254	s.Name = &v
24255	return s
24256}
24257
24258// SetPreviousContactId sets the PreviousContactId field's value.
24259func (s *StartTaskContactInput) SetPreviousContactId(v string) *StartTaskContactInput {
24260	s.PreviousContactId = &v
24261	return s
24262}
24263
24264// SetReferences sets the References field's value.
24265func (s *StartTaskContactInput) SetReferences(v map[string]*Reference) *StartTaskContactInput {
24266	s.References = v
24267	return s
24268}
24269
24270type StartTaskContactOutput struct {
24271	_ struct{} `type:"structure"`
24272
24273	// The identifier of this contact within the Amazon Connect instance.
24274	ContactId *string `min:"1" type:"string"`
24275}
24276
24277// String returns the string representation
24278func (s StartTaskContactOutput) String() string {
24279	return awsutil.Prettify(s)
24280}
24281
24282// GoString returns the string representation
24283func (s StartTaskContactOutput) GoString() string {
24284	return s.String()
24285}
24286
24287// SetContactId sets the ContactId field's value.
24288func (s *StartTaskContactOutput) SetContactId(v string) *StartTaskContactOutput {
24289	s.ContactId = &v
24290	return s
24291}
24292
24293type StopContactInput struct {
24294	_ struct{} `type:"structure"`
24295
24296	// The ID of the contact.
24297	//
24298	// ContactId is a required field
24299	ContactId *string `min:"1" type:"string" required:"true"`
24300
24301	// The identifier of the Amazon Connect instance. You can find the instanceId
24302	// in the ARN of the instance.
24303	//
24304	// InstanceId is a required field
24305	InstanceId *string `min:"1" type:"string" required:"true"`
24306}
24307
24308// String returns the string representation
24309func (s StopContactInput) String() string {
24310	return awsutil.Prettify(s)
24311}
24312
24313// GoString returns the string representation
24314func (s StopContactInput) GoString() string {
24315	return s.String()
24316}
24317
24318// Validate inspects the fields of the type to determine if they are valid.
24319func (s *StopContactInput) Validate() error {
24320	invalidParams := request.ErrInvalidParams{Context: "StopContactInput"}
24321	if s.ContactId == nil {
24322		invalidParams.Add(request.NewErrParamRequired("ContactId"))
24323	}
24324	if s.ContactId != nil && len(*s.ContactId) < 1 {
24325		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
24326	}
24327	if s.InstanceId == nil {
24328		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
24329	}
24330	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
24331		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
24332	}
24333
24334	if invalidParams.Len() > 0 {
24335		return invalidParams
24336	}
24337	return nil
24338}
24339
24340// SetContactId sets the ContactId field's value.
24341func (s *StopContactInput) SetContactId(v string) *StopContactInput {
24342	s.ContactId = &v
24343	return s
24344}
24345
24346// SetInstanceId sets the InstanceId field's value.
24347func (s *StopContactInput) SetInstanceId(v string) *StopContactInput {
24348	s.InstanceId = &v
24349	return s
24350}
24351
24352type StopContactOutput struct {
24353	_ struct{} `type:"structure"`
24354}
24355
24356// String returns the string representation
24357func (s StopContactOutput) String() string {
24358	return awsutil.Prettify(s)
24359}
24360
24361// GoString returns the string representation
24362func (s StopContactOutput) GoString() string {
24363	return s.String()
24364}
24365
24366type StopContactRecordingInput struct {
24367	_ struct{} `type:"structure"`
24368
24369	// The identifier of the contact.
24370	//
24371	// ContactId is a required field
24372	ContactId *string `min:"1" type:"string" required:"true"`
24373
24374	// The identifier of the contact. This is the identifier of the contact associated
24375	// with the first interaction with the contact center.
24376	//
24377	// InitialContactId is a required field
24378	InitialContactId *string `min:"1" type:"string" required:"true"`
24379
24380	// The identifier of the Amazon Connect instance. You can find the instanceId
24381	// in the ARN of the instance.
24382	//
24383	// InstanceId is a required field
24384	InstanceId *string `min:"1" type:"string" required:"true"`
24385}
24386
24387// String returns the string representation
24388func (s StopContactRecordingInput) String() string {
24389	return awsutil.Prettify(s)
24390}
24391
24392// GoString returns the string representation
24393func (s StopContactRecordingInput) GoString() string {
24394	return s.String()
24395}
24396
24397// Validate inspects the fields of the type to determine if they are valid.
24398func (s *StopContactRecordingInput) Validate() error {
24399	invalidParams := request.ErrInvalidParams{Context: "StopContactRecordingInput"}
24400	if s.ContactId == nil {
24401		invalidParams.Add(request.NewErrParamRequired("ContactId"))
24402	}
24403	if s.ContactId != nil && len(*s.ContactId) < 1 {
24404		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
24405	}
24406	if s.InitialContactId == nil {
24407		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
24408	}
24409	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
24410		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
24411	}
24412	if s.InstanceId == nil {
24413		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
24414	}
24415	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
24416		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
24417	}
24418
24419	if invalidParams.Len() > 0 {
24420		return invalidParams
24421	}
24422	return nil
24423}
24424
24425// SetContactId sets the ContactId field's value.
24426func (s *StopContactRecordingInput) SetContactId(v string) *StopContactRecordingInput {
24427	s.ContactId = &v
24428	return s
24429}
24430
24431// SetInitialContactId sets the InitialContactId field's value.
24432func (s *StopContactRecordingInput) SetInitialContactId(v string) *StopContactRecordingInput {
24433	s.InitialContactId = &v
24434	return s
24435}
24436
24437// SetInstanceId sets the InstanceId field's value.
24438func (s *StopContactRecordingInput) SetInstanceId(v string) *StopContactRecordingInput {
24439	s.InstanceId = &v
24440	return s
24441}
24442
24443type StopContactRecordingOutput struct {
24444	_ struct{} `type:"structure"`
24445}
24446
24447// String returns the string representation
24448func (s StopContactRecordingOutput) String() string {
24449	return awsutil.Prettify(s)
24450}
24451
24452// GoString returns the string representation
24453func (s StopContactRecordingOutput) GoString() string {
24454	return s.String()
24455}
24456
24457type SuspendContactRecordingInput struct {
24458	_ struct{} `type:"structure"`
24459
24460	// The identifier of the contact.
24461	//
24462	// ContactId is a required field
24463	ContactId *string `min:"1" type:"string" required:"true"`
24464
24465	// The identifier of the contact. This is the identifier of the contact associated
24466	// with the first interaction with the contact center.
24467	//
24468	// InitialContactId is a required field
24469	InitialContactId *string `min:"1" type:"string" required:"true"`
24470
24471	// The identifier of the Amazon Connect instance. You can find the instanceId
24472	// in the ARN of the instance.
24473	//
24474	// InstanceId is a required field
24475	InstanceId *string `min:"1" type:"string" required:"true"`
24476}
24477
24478// String returns the string representation
24479func (s SuspendContactRecordingInput) String() string {
24480	return awsutil.Prettify(s)
24481}
24482
24483// GoString returns the string representation
24484func (s SuspendContactRecordingInput) GoString() string {
24485	return s.String()
24486}
24487
24488// Validate inspects the fields of the type to determine if they are valid.
24489func (s *SuspendContactRecordingInput) Validate() error {
24490	invalidParams := request.ErrInvalidParams{Context: "SuspendContactRecordingInput"}
24491	if s.ContactId == nil {
24492		invalidParams.Add(request.NewErrParamRequired("ContactId"))
24493	}
24494	if s.ContactId != nil && len(*s.ContactId) < 1 {
24495		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
24496	}
24497	if s.InitialContactId == nil {
24498		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
24499	}
24500	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
24501		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
24502	}
24503	if s.InstanceId == nil {
24504		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
24505	}
24506	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
24507		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
24508	}
24509
24510	if invalidParams.Len() > 0 {
24511		return invalidParams
24512	}
24513	return nil
24514}
24515
24516// SetContactId sets the ContactId field's value.
24517func (s *SuspendContactRecordingInput) SetContactId(v string) *SuspendContactRecordingInput {
24518	s.ContactId = &v
24519	return s
24520}
24521
24522// SetInitialContactId sets the InitialContactId field's value.
24523func (s *SuspendContactRecordingInput) SetInitialContactId(v string) *SuspendContactRecordingInput {
24524	s.InitialContactId = &v
24525	return s
24526}
24527
24528// SetInstanceId sets the InstanceId field's value.
24529func (s *SuspendContactRecordingInput) SetInstanceId(v string) *SuspendContactRecordingInput {
24530	s.InstanceId = &v
24531	return s
24532}
24533
24534type SuspendContactRecordingOutput struct {
24535	_ struct{} `type:"structure"`
24536}
24537
24538// String returns the string representation
24539func (s SuspendContactRecordingOutput) String() string {
24540	return awsutil.Prettify(s)
24541}
24542
24543// GoString returns the string representation
24544func (s SuspendContactRecordingOutput) GoString() string {
24545	return s.String()
24546}
24547
24548type TagResourceInput struct {
24549	_ struct{} `type:"structure"`
24550
24551	// The Amazon Resource Name (ARN) of the resource.
24552	//
24553	// ResourceArn is a required field
24554	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
24555
24556	// One or more tags. For example, { "tags": {"key1":"value1", "key2":"value2"}
24557	// }.
24558	//
24559	// Tags is a required field
24560	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
24561}
24562
24563// String returns the string representation
24564func (s TagResourceInput) String() string {
24565	return awsutil.Prettify(s)
24566}
24567
24568// GoString returns the string representation
24569func (s TagResourceInput) GoString() string {
24570	return s.String()
24571}
24572
24573// Validate inspects the fields of the type to determine if they are valid.
24574func (s *TagResourceInput) Validate() error {
24575	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
24576	if s.ResourceArn == nil {
24577		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24578	}
24579	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24580		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24581	}
24582	if s.Tags == nil {
24583		invalidParams.Add(request.NewErrParamRequired("Tags"))
24584	}
24585	if s.Tags != nil && len(s.Tags) < 1 {
24586		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
24587	}
24588
24589	if invalidParams.Len() > 0 {
24590		return invalidParams
24591	}
24592	return nil
24593}
24594
24595// SetResourceArn sets the ResourceArn field's value.
24596func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
24597	s.ResourceArn = &v
24598	return s
24599}
24600
24601// SetTags sets the Tags field's value.
24602func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
24603	s.Tags = v
24604	return s
24605}
24606
24607type TagResourceOutput struct {
24608	_ struct{} `type:"structure"`
24609}
24610
24611// String returns the string representation
24612func (s TagResourceOutput) String() string {
24613	return awsutil.Prettify(s)
24614}
24615
24616// GoString returns the string representation
24617func (s TagResourceOutput) GoString() string {
24618	return s.String()
24619}
24620
24621// Contains information about the threshold for service level metrics.
24622type Threshold struct {
24623	_ struct{} `type:"structure"`
24624
24625	// The type of comparison. Only "less than" (LT) comparisons are supported.
24626	Comparison *string `type:"string" enum:"Comparison"`
24627
24628	// The threshold value to compare.
24629	ThresholdValue *float64 `type:"double"`
24630}
24631
24632// String returns the string representation
24633func (s Threshold) String() string {
24634	return awsutil.Prettify(s)
24635}
24636
24637// GoString returns the string representation
24638func (s Threshold) GoString() string {
24639	return s.String()
24640}
24641
24642// SetComparison sets the Comparison field's value.
24643func (s *Threshold) SetComparison(v string) *Threshold {
24644	s.Comparison = &v
24645	return s
24646}
24647
24648// SetThresholdValue sets the ThresholdValue field's value.
24649func (s *Threshold) SetThresholdValue(v float64) *Threshold {
24650	s.ThresholdValue = &v
24651	return s
24652}
24653
24654// The throttling limit has been exceeded.
24655type ThrottlingException struct {
24656	_            struct{}                  `type:"structure"`
24657	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
24658
24659	Message_ *string `locationName:"Message" type:"string"`
24660}
24661
24662// String returns the string representation
24663func (s ThrottlingException) String() string {
24664	return awsutil.Prettify(s)
24665}
24666
24667// GoString returns the string representation
24668func (s ThrottlingException) GoString() string {
24669	return s.String()
24670}
24671
24672func newErrorThrottlingException(v protocol.ResponseMetadata) error {
24673	return &ThrottlingException{
24674		RespMetadata: v,
24675	}
24676}
24677
24678// Code returns the exception type name.
24679func (s *ThrottlingException) Code() string {
24680	return "ThrottlingException"
24681}
24682
24683// Message returns the exception's message.
24684func (s *ThrottlingException) Message() string {
24685	if s.Message_ != nil {
24686		return *s.Message_
24687	}
24688	return ""
24689}
24690
24691// OrigErr always returns nil, satisfies awserr.Error interface.
24692func (s *ThrottlingException) OrigErr() error {
24693	return nil
24694}
24695
24696func (s *ThrottlingException) Error() string {
24697	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
24698}
24699
24700// Status code returns the HTTP status code for the request's response error.
24701func (s *ThrottlingException) StatusCode() int {
24702	return s.RespMetadata.StatusCode
24703}
24704
24705// RequestID returns the service's response RequestID for request.
24706func (s *ThrottlingException) RequestID() string {
24707	return s.RespMetadata.RequestID
24708}
24709
24710type UntagResourceInput struct {
24711	_ struct{} `type:"structure"`
24712
24713	// The Amazon Resource Name (ARN) of the resource.
24714	//
24715	// ResourceArn is a required field
24716	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
24717
24718	// The tag keys.
24719	//
24720	// TagKeys is a required field
24721	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
24722}
24723
24724// String returns the string representation
24725func (s UntagResourceInput) String() string {
24726	return awsutil.Prettify(s)
24727}
24728
24729// GoString returns the string representation
24730func (s UntagResourceInput) GoString() string {
24731	return s.String()
24732}
24733
24734// Validate inspects the fields of the type to determine if they are valid.
24735func (s *UntagResourceInput) Validate() error {
24736	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
24737	if s.ResourceArn == nil {
24738		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24739	}
24740	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24741		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24742	}
24743	if s.TagKeys == nil {
24744		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
24745	}
24746	if s.TagKeys != nil && len(s.TagKeys) < 1 {
24747		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
24748	}
24749
24750	if invalidParams.Len() > 0 {
24751		return invalidParams
24752	}
24753	return nil
24754}
24755
24756// SetResourceArn sets the ResourceArn field's value.
24757func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
24758	s.ResourceArn = &v
24759	return s
24760}
24761
24762// SetTagKeys sets the TagKeys field's value.
24763func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
24764	s.TagKeys = v
24765	return s
24766}
24767
24768type UntagResourceOutput struct {
24769	_ struct{} `type:"structure"`
24770}
24771
24772// String returns the string representation
24773func (s UntagResourceOutput) String() string {
24774	return awsutil.Prettify(s)
24775}
24776
24777// GoString returns the string representation
24778func (s UntagResourceOutput) GoString() string {
24779	return s.String()
24780}
24781
24782type UpdateAgentStatusInput struct {
24783	_ struct{} `type:"structure"`
24784
24785	// The identifier of the agent status.
24786	//
24787	// AgentStatusId is a required field
24788	AgentStatusId *string `location:"uri" locationName:"AgentStatusId" type:"string" required:"true"`
24789
24790	// The description of the agent status.
24791	Description *string `type:"string"`
24792
24793	// The display order of the agent status.
24794	DisplayOrder *int64 `min:"1" type:"integer"`
24795
24796	// The identifier of the Amazon Connect instance. You can find the instanceId
24797	// in the ARN of the instance.
24798	//
24799	// InstanceId is a required field
24800	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
24801
24802	// The name of the agent status.
24803	Name *string `min:"1" type:"string"`
24804
24805	// A number indicating the reset order of the agent status.
24806	ResetOrderNumber *bool `type:"boolean"`
24807
24808	// The state of the agent status.
24809	State *string `type:"string" enum:"AgentStatusState"`
24810}
24811
24812// String returns the string representation
24813func (s UpdateAgentStatusInput) String() string {
24814	return awsutil.Prettify(s)
24815}
24816
24817// GoString returns the string representation
24818func (s UpdateAgentStatusInput) GoString() string {
24819	return s.String()
24820}
24821
24822// Validate inspects the fields of the type to determine if they are valid.
24823func (s *UpdateAgentStatusInput) Validate() error {
24824	invalidParams := request.ErrInvalidParams{Context: "UpdateAgentStatusInput"}
24825	if s.AgentStatusId == nil {
24826		invalidParams.Add(request.NewErrParamRequired("AgentStatusId"))
24827	}
24828	if s.AgentStatusId != nil && len(*s.AgentStatusId) < 1 {
24829		invalidParams.Add(request.NewErrParamMinLen("AgentStatusId", 1))
24830	}
24831	if s.DisplayOrder != nil && *s.DisplayOrder < 1 {
24832		invalidParams.Add(request.NewErrParamMinValue("DisplayOrder", 1))
24833	}
24834	if s.InstanceId == nil {
24835		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
24836	}
24837	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
24838		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
24839	}
24840	if s.Name != nil && len(*s.Name) < 1 {
24841		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
24842	}
24843
24844	if invalidParams.Len() > 0 {
24845		return invalidParams
24846	}
24847	return nil
24848}
24849
24850// SetAgentStatusId sets the AgentStatusId field's value.
24851func (s *UpdateAgentStatusInput) SetAgentStatusId(v string) *UpdateAgentStatusInput {
24852	s.AgentStatusId = &v
24853	return s
24854}
24855
24856// SetDescription sets the Description field's value.
24857func (s *UpdateAgentStatusInput) SetDescription(v string) *UpdateAgentStatusInput {
24858	s.Description = &v
24859	return s
24860}
24861
24862// SetDisplayOrder sets the DisplayOrder field's value.
24863func (s *UpdateAgentStatusInput) SetDisplayOrder(v int64) *UpdateAgentStatusInput {
24864	s.DisplayOrder = &v
24865	return s
24866}
24867
24868// SetInstanceId sets the InstanceId field's value.
24869func (s *UpdateAgentStatusInput) SetInstanceId(v string) *UpdateAgentStatusInput {
24870	s.InstanceId = &v
24871	return s
24872}
24873
24874// SetName sets the Name field's value.
24875func (s *UpdateAgentStatusInput) SetName(v string) *UpdateAgentStatusInput {
24876	s.Name = &v
24877	return s
24878}
24879
24880// SetResetOrderNumber sets the ResetOrderNumber field's value.
24881func (s *UpdateAgentStatusInput) SetResetOrderNumber(v bool) *UpdateAgentStatusInput {
24882	s.ResetOrderNumber = &v
24883	return s
24884}
24885
24886// SetState sets the State field's value.
24887func (s *UpdateAgentStatusInput) SetState(v string) *UpdateAgentStatusInput {
24888	s.State = &v
24889	return s
24890}
24891
24892type UpdateAgentStatusOutput struct {
24893	_ struct{} `type:"structure"`
24894}
24895
24896// String returns the string representation
24897func (s UpdateAgentStatusOutput) String() string {
24898	return awsutil.Prettify(s)
24899}
24900
24901// GoString returns the string representation
24902func (s UpdateAgentStatusOutput) GoString() string {
24903	return s.String()
24904}
24905
24906type UpdateContactAttributesInput struct {
24907	_ struct{} `type:"structure"`
24908
24909	// The Amazon Connect attributes. These attributes can be accessed in contact
24910	// flows just like any other contact attributes.
24911	//
24912	// You can have up to 32,768 UTF-8 bytes across all attributes for a contact.
24913	// Attribute keys can include only alphanumeric, dash, and underscore characters.
24914	//
24915	// Attributes is a required field
24916	Attributes map[string]*string `type:"map" required:"true"`
24917
24918	// The identifier of the contact. This is the identifier of the contact associated
24919	// with the first interaction with the contact center.
24920	//
24921	// InitialContactId is a required field
24922	InitialContactId *string `min:"1" type:"string" required:"true"`
24923
24924	// The identifier of the Amazon Connect instance. You can find the instanceId
24925	// in the ARN of the instance.
24926	//
24927	// InstanceId is a required field
24928	InstanceId *string `min:"1" type:"string" required:"true"`
24929}
24930
24931// String returns the string representation
24932func (s UpdateContactAttributesInput) String() string {
24933	return awsutil.Prettify(s)
24934}
24935
24936// GoString returns the string representation
24937func (s UpdateContactAttributesInput) GoString() string {
24938	return s.String()
24939}
24940
24941// Validate inspects the fields of the type to determine if they are valid.
24942func (s *UpdateContactAttributesInput) Validate() error {
24943	invalidParams := request.ErrInvalidParams{Context: "UpdateContactAttributesInput"}
24944	if s.Attributes == nil {
24945		invalidParams.Add(request.NewErrParamRequired("Attributes"))
24946	}
24947	if s.InitialContactId == nil {
24948		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
24949	}
24950	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
24951		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
24952	}
24953	if s.InstanceId == nil {
24954		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
24955	}
24956	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
24957		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
24958	}
24959
24960	if invalidParams.Len() > 0 {
24961		return invalidParams
24962	}
24963	return nil
24964}
24965
24966// SetAttributes sets the Attributes field's value.
24967func (s *UpdateContactAttributesInput) SetAttributes(v map[string]*string) *UpdateContactAttributesInput {
24968	s.Attributes = v
24969	return s
24970}
24971
24972// SetInitialContactId sets the InitialContactId field's value.
24973func (s *UpdateContactAttributesInput) SetInitialContactId(v string) *UpdateContactAttributesInput {
24974	s.InitialContactId = &v
24975	return s
24976}
24977
24978// SetInstanceId sets the InstanceId field's value.
24979func (s *UpdateContactAttributesInput) SetInstanceId(v string) *UpdateContactAttributesInput {
24980	s.InstanceId = &v
24981	return s
24982}
24983
24984type UpdateContactAttributesOutput struct {
24985	_ struct{} `type:"structure"`
24986}
24987
24988// String returns the string representation
24989func (s UpdateContactAttributesOutput) String() string {
24990	return awsutil.Prettify(s)
24991}
24992
24993// GoString returns the string representation
24994func (s UpdateContactAttributesOutput) GoString() string {
24995	return s.String()
24996}
24997
24998type UpdateContactFlowContentInput struct {
24999	_ struct{} `type:"structure"`
25000
25001	// The identifier of the contact flow.
25002	//
25003	// ContactFlowId is a required field
25004	ContactFlowId *string `location:"uri" locationName:"ContactFlowId" type:"string" required:"true"`
25005
25006	// The JSON string that represents contact flow’s content. For an example,
25007	// see Example contact flow in Amazon Connect Flow language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language-example.html)
25008	// in the Amazon Connect Administrator Guide.
25009	//
25010	// Content is a required field
25011	Content *string `type:"string" required:"true"`
25012
25013	// The identifier of the Amazon Connect instance.
25014	//
25015	// InstanceId is a required field
25016	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25017}
25018
25019// String returns the string representation
25020func (s UpdateContactFlowContentInput) String() string {
25021	return awsutil.Prettify(s)
25022}
25023
25024// GoString returns the string representation
25025func (s UpdateContactFlowContentInput) GoString() string {
25026	return s.String()
25027}
25028
25029// Validate inspects the fields of the type to determine if they are valid.
25030func (s *UpdateContactFlowContentInput) Validate() error {
25031	invalidParams := request.ErrInvalidParams{Context: "UpdateContactFlowContentInput"}
25032	if s.ContactFlowId == nil {
25033		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
25034	}
25035	if s.ContactFlowId != nil && len(*s.ContactFlowId) < 1 {
25036		invalidParams.Add(request.NewErrParamMinLen("ContactFlowId", 1))
25037	}
25038	if s.Content == nil {
25039		invalidParams.Add(request.NewErrParamRequired("Content"))
25040	}
25041	if s.InstanceId == nil {
25042		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25043	}
25044	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25045		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25046	}
25047
25048	if invalidParams.Len() > 0 {
25049		return invalidParams
25050	}
25051	return nil
25052}
25053
25054// SetContactFlowId sets the ContactFlowId field's value.
25055func (s *UpdateContactFlowContentInput) SetContactFlowId(v string) *UpdateContactFlowContentInput {
25056	s.ContactFlowId = &v
25057	return s
25058}
25059
25060// SetContent sets the Content field's value.
25061func (s *UpdateContactFlowContentInput) SetContent(v string) *UpdateContactFlowContentInput {
25062	s.Content = &v
25063	return s
25064}
25065
25066// SetInstanceId sets the InstanceId field's value.
25067func (s *UpdateContactFlowContentInput) SetInstanceId(v string) *UpdateContactFlowContentInput {
25068	s.InstanceId = &v
25069	return s
25070}
25071
25072type UpdateContactFlowContentOutput struct {
25073	_ struct{} `type:"structure"`
25074}
25075
25076// String returns the string representation
25077func (s UpdateContactFlowContentOutput) String() string {
25078	return awsutil.Prettify(s)
25079}
25080
25081// GoString returns the string representation
25082func (s UpdateContactFlowContentOutput) GoString() string {
25083	return s.String()
25084}
25085
25086type UpdateContactFlowNameInput struct {
25087	_ struct{} `type:"structure"`
25088
25089	// The identifier of the contact flow.
25090	//
25091	// ContactFlowId is a required field
25092	ContactFlowId *string `location:"uri" locationName:"ContactFlowId" type:"string" required:"true"`
25093
25094	// The description of the contact flow.
25095	Description *string `type:"string"`
25096
25097	// The identifier of the Amazon Connect instance.
25098	//
25099	// InstanceId is a required field
25100	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25101
25102	// The name of the contact flow.
25103	Name *string `min:"1" type:"string"`
25104}
25105
25106// String returns the string representation
25107func (s UpdateContactFlowNameInput) String() string {
25108	return awsutil.Prettify(s)
25109}
25110
25111// GoString returns the string representation
25112func (s UpdateContactFlowNameInput) GoString() string {
25113	return s.String()
25114}
25115
25116// Validate inspects the fields of the type to determine if they are valid.
25117func (s *UpdateContactFlowNameInput) Validate() error {
25118	invalidParams := request.ErrInvalidParams{Context: "UpdateContactFlowNameInput"}
25119	if s.ContactFlowId == nil {
25120		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
25121	}
25122	if s.ContactFlowId != nil && len(*s.ContactFlowId) < 1 {
25123		invalidParams.Add(request.NewErrParamMinLen("ContactFlowId", 1))
25124	}
25125	if s.InstanceId == nil {
25126		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25127	}
25128	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25129		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25130	}
25131	if s.Name != nil && len(*s.Name) < 1 {
25132		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
25133	}
25134
25135	if invalidParams.Len() > 0 {
25136		return invalidParams
25137	}
25138	return nil
25139}
25140
25141// SetContactFlowId sets the ContactFlowId field's value.
25142func (s *UpdateContactFlowNameInput) SetContactFlowId(v string) *UpdateContactFlowNameInput {
25143	s.ContactFlowId = &v
25144	return s
25145}
25146
25147// SetDescription sets the Description field's value.
25148func (s *UpdateContactFlowNameInput) SetDescription(v string) *UpdateContactFlowNameInput {
25149	s.Description = &v
25150	return s
25151}
25152
25153// SetInstanceId sets the InstanceId field's value.
25154func (s *UpdateContactFlowNameInput) SetInstanceId(v string) *UpdateContactFlowNameInput {
25155	s.InstanceId = &v
25156	return s
25157}
25158
25159// SetName sets the Name field's value.
25160func (s *UpdateContactFlowNameInput) SetName(v string) *UpdateContactFlowNameInput {
25161	s.Name = &v
25162	return s
25163}
25164
25165type UpdateContactFlowNameOutput struct {
25166	_ struct{} `type:"structure"`
25167}
25168
25169// String returns the string representation
25170func (s UpdateContactFlowNameOutput) String() string {
25171	return awsutil.Prettify(s)
25172}
25173
25174// GoString returns the string representation
25175func (s UpdateContactFlowNameOutput) GoString() string {
25176	return s.String()
25177}
25178
25179type UpdateHoursOfOperationInput struct {
25180	_ struct{} `type:"structure"`
25181
25182	// Configuration information of the hours of operation.
25183	Config []*HoursOfOperationConfig `type:"list"`
25184
25185	// The description of the hours of operation.
25186	Description *string `type:"string"`
25187
25188	// The identifier of the hours of operation.
25189	//
25190	// HoursOfOperationId is a required field
25191	HoursOfOperationId *string `location:"uri" locationName:"HoursOfOperationId" type:"string" required:"true"`
25192
25193	// The identifier of the Amazon Connect instance. You can find the instanceId
25194	// in the ARN of the instance.
25195	//
25196	// InstanceId is a required field
25197	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25198
25199	// The name of the hours of operation.
25200	Name *string `min:"1" type:"string"`
25201
25202	// The time zone of the hours of operation.
25203	TimeZone *string `type:"string"`
25204}
25205
25206// String returns the string representation
25207func (s UpdateHoursOfOperationInput) String() string {
25208	return awsutil.Prettify(s)
25209}
25210
25211// GoString returns the string representation
25212func (s UpdateHoursOfOperationInput) GoString() string {
25213	return s.String()
25214}
25215
25216// Validate inspects the fields of the type to determine if they are valid.
25217func (s *UpdateHoursOfOperationInput) Validate() error {
25218	invalidParams := request.ErrInvalidParams{Context: "UpdateHoursOfOperationInput"}
25219	if s.HoursOfOperationId == nil {
25220		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
25221	}
25222	if s.HoursOfOperationId != nil && len(*s.HoursOfOperationId) < 1 {
25223		invalidParams.Add(request.NewErrParamMinLen("HoursOfOperationId", 1))
25224	}
25225	if s.InstanceId == nil {
25226		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25227	}
25228	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25229		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25230	}
25231	if s.Name != nil && len(*s.Name) < 1 {
25232		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
25233	}
25234	if s.Config != nil {
25235		for i, v := range s.Config {
25236			if v == nil {
25237				continue
25238			}
25239			if err := v.Validate(); err != nil {
25240				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Config", i), err.(request.ErrInvalidParams))
25241			}
25242		}
25243	}
25244
25245	if invalidParams.Len() > 0 {
25246		return invalidParams
25247	}
25248	return nil
25249}
25250
25251// SetConfig sets the Config field's value.
25252func (s *UpdateHoursOfOperationInput) SetConfig(v []*HoursOfOperationConfig) *UpdateHoursOfOperationInput {
25253	s.Config = v
25254	return s
25255}
25256
25257// SetDescription sets the Description field's value.
25258func (s *UpdateHoursOfOperationInput) SetDescription(v string) *UpdateHoursOfOperationInput {
25259	s.Description = &v
25260	return s
25261}
25262
25263// SetHoursOfOperationId sets the HoursOfOperationId field's value.
25264func (s *UpdateHoursOfOperationInput) SetHoursOfOperationId(v string) *UpdateHoursOfOperationInput {
25265	s.HoursOfOperationId = &v
25266	return s
25267}
25268
25269// SetInstanceId sets the InstanceId field's value.
25270func (s *UpdateHoursOfOperationInput) SetInstanceId(v string) *UpdateHoursOfOperationInput {
25271	s.InstanceId = &v
25272	return s
25273}
25274
25275// SetName sets the Name field's value.
25276func (s *UpdateHoursOfOperationInput) SetName(v string) *UpdateHoursOfOperationInput {
25277	s.Name = &v
25278	return s
25279}
25280
25281// SetTimeZone sets the TimeZone field's value.
25282func (s *UpdateHoursOfOperationInput) SetTimeZone(v string) *UpdateHoursOfOperationInput {
25283	s.TimeZone = &v
25284	return s
25285}
25286
25287type UpdateHoursOfOperationOutput struct {
25288	_ struct{} `type:"structure"`
25289}
25290
25291// String returns the string representation
25292func (s UpdateHoursOfOperationOutput) String() string {
25293	return awsutil.Prettify(s)
25294}
25295
25296// GoString returns the string representation
25297func (s UpdateHoursOfOperationOutput) GoString() string {
25298	return s.String()
25299}
25300
25301type UpdateInstanceAttributeInput struct {
25302	_ struct{} `type:"structure"`
25303
25304	// The type of attribute.
25305	//
25306	// AttributeType is a required field
25307	AttributeType *string `location:"uri" locationName:"AttributeType" type:"string" required:"true" enum:"InstanceAttributeType"`
25308
25309	// The identifier of the Amazon Connect instance. You can find the instanceId
25310	// in the ARN of the instance.
25311	//
25312	// InstanceId is a required field
25313	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25314
25315	// The value for the attribute. Maximum character limit is 100.
25316	//
25317	// Value is a required field
25318	Value *string `min:"1" type:"string" required:"true"`
25319}
25320
25321// String returns the string representation
25322func (s UpdateInstanceAttributeInput) String() string {
25323	return awsutil.Prettify(s)
25324}
25325
25326// GoString returns the string representation
25327func (s UpdateInstanceAttributeInput) GoString() string {
25328	return s.String()
25329}
25330
25331// Validate inspects the fields of the type to determine if they are valid.
25332func (s *UpdateInstanceAttributeInput) Validate() error {
25333	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceAttributeInput"}
25334	if s.AttributeType == nil {
25335		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
25336	}
25337	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
25338		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
25339	}
25340	if s.InstanceId == nil {
25341		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25342	}
25343	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25344		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25345	}
25346	if s.Value == nil {
25347		invalidParams.Add(request.NewErrParamRequired("Value"))
25348	}
25349	if s.Value != nil && len(*s.Value) < 1 {
25350		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
25351	}
25352
25353	if invalidParams.Len() > 0 {
25354		return invalidParams
25355	}
25356	return nil
25357}
25358
25359// SetAttributeType sets the AttributeType field's value.
25360func (s *UpdateInstanceAttributeInput) SetAttributeType(v string) *UpdateInstanceAttributeInput {
25361	s.AttributeType = &v
25362	return s
25363}
25364
25365// SetInstanceId sets the InstanceId field's value.
25366func (s *UpdateInstanceAttributeInput) SetInstanceId(v string) *UpdateInstanceAttributeInput {
25367	s.InstanceId = &v
25368	return s
25369}
25370
25371// SetValue sets the Value field's value.
25372func (s *UpdateInstanceAttributeInput) SetValue(v string) *UpdateInstanceAttributeInput {
25373	s.Value = &v
25374	return s
25375}
25376
25377type UpdateInstanceAttributeOutput struct {
25378	_ struct{} `type:"structure"`
25379}
25380
25381// String returns the string representation
25382func (s UpdateInstanceAttributeOutput) String() string {
25383	return awsutil.Prettify(s)
25384}
25385
25386// GoString returns the string representation
25387func (s UpdateInstanceAttributeOutput) GoString() string {
25388	return s.String()
25389}
25390
25391type UpdateInstanceStorageConfigInput struct {
25392	_ struct{} `type:"structure"`
25393
25394	// The existing association identifier that uniquely identifies the resource
25395	// type and storage config for the given instance ID.
25396	//
25397	// AssociationId is a required field
25398	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
25399
25400	// The identifier of the Amazon Connect instance. You can find the instanceId
25401	// in the ARN of the instance.
25402	//
25403	// InstanceId is a required field
25404	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25405
25406	// A valid resource type.
25407	//
25408	// ResourceType is a required field
25409	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
25410
25411	// The storage configuration for the instance.
25412	//
25413	// StorageConfig is a required field
25414	StorageConfig *InstanceStorageConfig `type:"structure" required:"true"`
25415}
25416
25417// String returns the string representation
25418func (s UpdateInstanceStorageConfigInput) String() string {
25419	return awsutil.Prettify(s)
25420}
25421
25422// GoString returns the string representation
25423func (s UpdateInstanceStorageConfigInput) GoString() string {
25424	return s.String()
25425}
25426
25427// Validate inspects the fields of the type to determine if they are valid.
25428func (s *UpdateInstanceStorageConfigInput) Validate() error {
25429	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceStorageConfigInput"}
25430	if s.AssociationId == nil {
25431		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
25432	}
25433	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
25434		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
25435	}
25436	if s.InstanceId == nil {
25437		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25438	}
25439	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25440		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25441	}
25442	if s.ResourceType == nil {
25443		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
25444	}
25445	if s.StorageConfig == nil {
25446		invalidParams.Add(request.NewErrParamRequired("StorageConfig"))
25447	}
25448	if s.StorageConfig != nil {
25449		if err := s.StorageConfig.Validate(); err != nil {
25450			invalidParams.AddNested("StorageConfig", err.(request.ErrInvalidParams))
25451		}
25452	}
25453
25454	if invalidParams.Len() > 0 {
25455		return invalidParams
25456	}
25457	return nil
25458}
25459
25460// SetAssociationId sets the AssociationId field's value.
25461func (s *UpdateInstanceStorageConfigInput) SetAssociationId(v string) *UpdateInstanceStorageConfigInput {
25462	s.AssociationId = &v
25463	return s
25464}
25465
25466// SetInstanceId sets the InstanceId field's value.
25467func (s *UpdateInstanceStorageConfigInput) SetInstanceId(v string) *UpdateInstanceStorageConfigInput {
25468	s.InstanceId = &v
25469	return s
25470}
25471
25472// SetResourceType sets the ResourceType field's value.
25473func (s *UpdateInstanceStorageConfigInput) SetResourceType(v string) *UpdateInstanceStorageConfigInput {
25474	s.ResourceType = &v
25475	return s
25476}
25477
25478// SetStorageConfig sets the StorageConfig field's value.
25479func (s *UpdateInstanceStorageConfigInput) SetStorageConfig(v *InstanceStorageConfig) *UpdateInstanceStorageConfigInput {
25480	s.StorageConfig = v
25481	return s
25482}
25483
25484type UpdateInstanceStorageConfigOutput struct {
25485	_ struct{} `type:"structure"`
25486}
25487
25488// String returns the string representation
25489func (s UpdateInstanceStorageConfigOutput) String() string {
25490	return awsutil.Prettify(s)
25491}
25492
25493// GoString returns the string representation
25494func (s UpdateInstanceStorageConfigOutput) GoString() string {
25495	return s.String()
25496}
25497
25498type UpdateQueueHoursOfOperationInput struct {
25499	_ struct{} `type:"structure"`
25500
25501	// The identifier for the hours of operation.
25502	//
25503	// HoursOfOperationId is a required field
25504	HoursOfOperationId *string `type:"string" required:"true"`
25505
25506	// The identifier of the Amazon Connect instance. You can find the instanceId
25507	// in the ARN of the instance.
25508	//
25509	// InstanceId is a required field
25510	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25511
25512	// The identifier for the queue.
25513	//
25514	// QueueId is a required field
25515	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
25516}
25517
25518// String returns the string representation
25519func (s UpdateQueueHoursOfOperationInput) String() string {
25520	return awsutil.Prettify(s)
25521}
25522
25523// GoString returns the string representation
25524func (s UpdateQueueHoursOfOperationInput) GoString() string {
25525	return s.String()
25526}
25527
25528// Validate inspects the fields of the type to determine if they are valid.
25529func (s *UpdateQueueHoursOfOperationInput) Validate() error {
25530	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueHoursOfOperationInput"}
25531	if s.HoursOfOperationId == nil {
25532		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
25533	}
25534	if s.InstanceId == nil {
25535		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25536	}
25537	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25538		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25539	}
25540	if s.QueueId == nil {
25541		invalidParams.Add(request.NewErrParamRequired("QueueId"))
25542	}
25543	if s.QueueId != nil && len(*s.QueueId) < 1 {
25544		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
25545	}
25546
25547	if invalidParams.Len() > 0 {
25548		return invalidParams
25549	}
25550	return nil
25551}
25552
25553// SetHoursOfOperationId sets the HoursOfOperationId field's value.
25554func (s *UpdateQueueHoursOfOperationInput) SetHoursOfOperationId(v string) *UpdateQueueHoursOfOperationInput {
25555	s.HoursOfOperationId = &v
25556	return s
25557}
25558
25559// SetInstanceId sets the InstanceId field's value.
25560func (s *UpdateQueueHoursOfOperationInput) SetInstanceId(v string) *UpdateQueueHoursOfOperationInput {
25561	s.InstanceId = &v
25562	return s
25563}
25564
25565// SetQueueId sets the QueueId field's value.
25566func (s *UpdateQueueHoursOfOperationInput) SetQueueId(v string) *UpdateQueueHoursOfOperationInput {
25567	s.QueueId = &v
25568	return s
25569}
25570
25571type UpdateQueueHoursOfOperationOutput struct {
25572	_ struct{} `type:"structure"`
25573}
25574
25575// String returns the string representation
25576func (s UpdateQueueHoursOfOperationOutput) String() string {
25577	return awsutil.Prettify(s)
25578}
25579
25580// GoString returns the string representation
25581func (s UpdateQueueHoursOfOperationOutput) GoString() string {
25582	return s.String()
25583}
25584
25585type UpdateQueueMaxContactsInput struct {
25586	_ struct{} `type:"structure"`
25587
25588	// The identifier of the Amazon Connect instance. You can find the instanceId
25589	// in the ARN of the instance.
25590	//
25591	// InstanceId is a required field
25592	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25593
25594	// The maximum number of contacts that can be in the queue before it is considered
25595	// full.
25596	MaxContacts *int64 `type:"integer"`
25597
25598	// The identifier for the queue.
25599	//
25600	// QueueId is a required field
25601	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
25602}
25603
25604// String returns the string representation
25605func (s UpdateQueueMaxContactsInput) String() string {
25606	return awsutil.Prettify(s)
25607}
25608
25609// GoString returns the string representation
25610func (s UpdateQueueMaxContactsInput) GoString() string {
25611	return s.String()
25612}
25613
25614// Validate inspects the fields of the type to determine if they are valid.
25615func (s *UpdateQueueMaxContactsInput) Validate() error {
25616	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueMaxContactsInput"}
25617	if s.InstanceId == nil {
25618		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25619	}
25620	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25621		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25622	}
25623	if s.QueueId == nil {
25624		invalidParams.Add(request.NewErrParamRequired("QueueId"))
25625	}
25626	if s.QueueId != nil && len(*s.QueueId) < 1 {
25627		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
25628	}
25629
25630	if invalidParams.Len() > 0 {
25631		return invalidParams
25632	}
25633	return nil
25634}
25635
25636// SetInstanceId sets the InstanceId field's value.
25637func (s *UpdateQueueMaxContactsInput) SetInstanceId(v string) *UpdateQueueMaxContactsInput {
25638	s.InstanceId = &v
25639	return s
25640}
25641
25642// SetMaxContacts sets the MaxContacts field's value.
25643func (s *UpdateQueueMaxContactsInput) SetMaxContacts(v int64) *UpdateQueueMaxContactsInput {
25644	s.MaxContacts = &v
25645	return s
25646}
25647
25648// SetQueueId sets the QueueId field's value.
25649func (s *UpdateQueueMaxContactsInput) SetQueueId(v string) *UpdateQueueMaxContactsInput {
25650	s.QueueId = &v
25651	return s
25652}
25653
25654type UpdateQueueMaxContactsOutput struct {
25655	_ struct{} `type:"structure"`
25656}
25657
25658// String returns the string representation
25659func (s UpdateQueueMaxContactsOutput) String() string {
25660	return awsutil.Prettify(s)
25661}
25662
25663// GoString returns the string representation
25664func (s UpdateQueueMaxContactsOutput) GoString() string {
25665	return s.String()
25666}
25667
25668type UpdateQueueNameInput struct {
25669	_ struct{} `type:"structure"`
25670
25671	// The description of the queue.
25672	Description *string `min:"1" type:"string"`
25673
25674	// The identifier of the Amazon Connect instance. You can find the instanceId
25675	// in the ARN of the instance.
25676	//
25677	// InstanceId is a required field
25678	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25679
25680	// The name of the queue.
25681	Name *string `min:"1" type:"string"`
25682
25683	// The identifier for the queue.
25684	//
25685	// QueueId is a required field
25686	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
25687}
25688
25689// String returns the string representation
25690func (s UpdateQueueNameInput) String() string {
25691	return awsutil.Prettify(s)
25692}
25693
25694// GoString returns the string representation
25695func (s UpdateQueueNameInput) GoString() string {
25696	return s.String()
25697}
25698
25699// Validate inspects the fields of the type to determine if they are valid.
25700func (s *UpdateQueueNameInput) Validate() error {
25701	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueNameInput"}
25702	if s.Description != nil && len(*s.Description) < 1 {
25703		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
25704	}
25705	if s.InstanceId == nil {
25706		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25707	}
25708	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25709		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25710	}
25711	if s.Name != nil && len(*s.Name) < 1 {
25712		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
25713	}
25714	if s.QueueId == nil {
25715		invalidParams.Add(request.NewErrParamRequired("QueueId"))
25716	}
25717	if s.QueueId != nil && len(*s.QueueId) < 1 {
25718		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
25719	}
25720
25721	if invalidParams.Len() > 0 {
25722		return invalidParams
25723	}
25724	return nil
25725}
25726
25727// SetDescription sets the Description field's value.
25728func (s *UpdateQueueNameInput) SetDescription(v string) *UpdateQueueNameInput {
25729	s.Description = &v
25730	return s
25731}
25732
25733// SetInstanceId sets the InstanceId field's value.
25734func (s *UpdateQueueNameInput) SetInstanceId(v string) *UpdateQueueNameInput {
25735	s.InstanceId = &v
25736	return s
25737}
25738
25739// SetName sets the Name field's value.
25740func (s *UpdateQueueNameInput) SetName(v string) *UpdateQueueNameInput {
25741	s.Name = &v
25742	return s
25743}
25744
25745// SetQueueId sets the QueueId field's value.
25746func (s *UpdateQueueNameInput) SetQueueId(v string) *UpdateQueueNameInput {
25747	s.QueueId = &v
25748	return s
25749}
25750
25751type UpdateQueueNameOutput struct {
25752	_ struct{} `type:"structure"`
25753}
25754
25755// String returns the string representation
25756func (s UpdateQueueNameOutput) String() string {
25757	return awsutil.Prettify(s)
25758}
25759
25760// GoString returns the string representation
25761func (s UpdateQueueNameOutput) GoString() string {
25762	return s.String()
25763}
25764
25765type UpdateQueueOutboundCallerConfigInput struct {
25766	_ struct{} `type:"structure"`
25767
25768	// The identifier of the Amazon Connect instance. You can find the instanceId
25769	// in the ARN of the instance.
25770	//
25771	// InstanceId is a required field
25772	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25773
25774	// The outbound caller ID name, number, and outbound whisper flow.
25775	//
25776	// OutboundCallerConfig is a required field
25777	OutboundCallerConfig *OutboundCallerConfig `type:"structure" required:"true"`
25778
25779	// The identifier for the queue.
25780	//
25781	// QueueId is a required field
25782	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
25783}
25784
25785// String returns the string representation
25786func (s UpdateQueueOutboundCallerConfigInput) String() string {
25787	return awsutil.Prettify(s)
25788}
25789
25790// GoString returns the string representation
25791func (s UpdateQueueOutboundCallerConfigInput) GoString() string {
25792	return s.String()
25793}
25794
25795// Validate inspects the fields of the type to determine if they are valid.
25796func (s *UpdateQueueOutboundCallerConfigInput) Validate() error {
25797	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueOutboundCallerConfigInput"}
25798	if s.InstanceId == nil {
25799		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25800	}
25801	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25802		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25803	}
25804	if s.OutboundCallerConfig == nil {
25805		invalidParams.Add(request.NewErrParamRequired("OutboundCallerConfig"))
25806	}
25807	if s.QueueId == nil {
25808		invalidParams.Add(request.NewErrParamRequired("QueueId"))
25809	}
25810	if s.QueueId != nil && len(*s.QueueId) < 1 {
25811		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
25812	}
25813	if s.OutboundCallerConfig != nil {
25814		if err := s.OutboundCallerConfig.Validate(); err != nil {
25815			invalidParams.AddNested("OutboundCallerConfig", err.(request.ErrInvalidParams))
25816		}
25817	}
25818
25819	if invalidParams.Len() > 0 {
25820		return invalidParams
25821	}
25822	return nil
25823}
25824
25825// SetInstanceId sets the InstanceId field's value.
25826func (s *UpdateQueueOutboundCallerConfigInput) SetInstanceId(v string) *UpdateQueueOutboundCallerConfigInput {
25827	s.InstanceId = &v
25828	return s
25829}
25830
25831// SetOutboundCallerConfig sets the OutboundCallerConfig field's value.
25832func (s *UpdateQueueOutboundCallerConfigInput) SetOutboundCallerConfig(v *OutboundCallerConfig) *UpdateQueueOutboundCallerConfigInput {
25833	s.OutboundCallerConfig = v
25834	return s
25835}
25836
25837// SetQueueId sets the QueueId field's value.
25838func (s *UpdateQueueOutboundCallerConfigInput) SetQueueId(v string) *UpdateQueueOutboundCallerConfigInput {
25839	s.QueueId = &v
25840	return s
25841}
25842
25843type UpdateQueueOutboundCallerConfigOutput struct {
25844	_ struct{} `type:"structure"`
25845}
25846
25847// String returns the string representation
25848func (s UpdateQueueOutboundCallerConfigOutput) String() string {
25849	return awsutil.Prettify(s)
25850}
25851
25852// GoString returns the string representation
25853func (s UpdateQueueOutboundCallerConfigOutput) GoString() string {
25854	return s.String()
25855}
25856
25857type UpdateQueueStatusInput struct {
25858	_ struct{} `type:"structure"`
25859
25860	// The identifier of the Amazon Connect instance. You can find the instanceId
25861	// in the ARN of the instance.
25862	//
25863	// InstanceId is a required field
25864	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25865
25866	// The identifier for the queue.
25867	//
25868	// QueueId is a required field
25869	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
25870
25871	// The status of the queue.
25872	//
25873	// Status is a required field
25874	Status *string `type:"string" required:"true" enum:"QueueStatus"`
25875}
25876
25877// String returns the string representation
25878func (s UpdateQueueStatusInput) String() string {
25879	return awsutil.Prettify(s)
25880}
25881
25882// GoString returns the string representation
25883func (s UpdateQueueStatusInput) GoString() string {
25884	return s.String()
25885}
25886
25887// Validate inspects the fields of the type to determine if they are valid.
25888func (s *UpdateQueueStatusInput) Validate() error {
25889	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueStatusInput"}
25890	if s.InstanceId == nil {
25891		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25892	}
25893	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25894		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25895	}
25896	if s.QueueId == nil {
25897		invalidParams.Add(request.NewErrParamRequired("QueueId"))
25898	}
25899	if s.QueueId != nil && len(*s.QueueId) < 1 {
25900		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
25901	}
25902	if s.Status == nil {
25903		invalidParams.Add(request.NewErrParamRequired("Status"))
25904	}
25905
25906	if invalidParams.Len() > 0 {
25907		return invalidParams
25908	}
25909	return nil
25910}
25911
25912// SetInstanceId sets the InstanceId field's value.
25913func (s *UpdateQueueStatusInput) SetInstanceId(v string) *UpdateQueueStatusInput {
25914	s.InstanceId = &v
25915	return s
25916}
25917
25918// SetQueueId sets the QueueId field's value.
25919func (s *UpdateQueueStatusInput) SetQueueId(v string) *UpdateQueueStatusInput {
25920	s.QueueId = &v
25921	return s
25922}
25923
25924// SetStatus sets the Status field's value.
25925func (s *UpdateQueueStatusInput) SetStatus(v string) *UpdateQueueStatusInput {
25926	s.Status = &v
25927	return s
25928}
25929
25930type UpdateQueueStatusOutput struct {
25931	_ struct{} `type:"structure"`
25932}
25933
25934// String returns the string representation
25935func (s UpdateQueueStatusOutput) String() string {
25936	return awsutil.Prettify(s)
25937}
25938
25939// GoString returns the string representation
25940func (s UpdateQueueStatusOutput) GoString() string {
25941	return s.String()
25942}
25943
25944type UpdateQuickConnectConfigInput struct {
25945	_ struct{} `type:"structure"`
25946
25947	// The identifier of the Amazon Connect instance. You can find the instanceId
25948	// in the ARN of the instance.
25949	//
25950	// InstanceId is a required field
25951	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
25952
25953	// Information about the configuration settings for the quick connect.
25954	//
25955	// QuickConnectConfig is a required field
25956	QuickConnectConfig *QuickConnectConfig `type:"structure" required:"true"`
25957
25958	// The identifier for the quick connect.
25959	//
25960	// QuickConnectId is a required field
25961	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
25962}
25963
25964// String returns the string representation
25965func (s UpdateQuickConnectConfigInput) String() string {
25966	return awsutil.Prettify(s)
25967}
25968
25969// GoString returns the string representation
25970func (s UpdateQuickConnectConfigInput) GoString() string {
25971	return s.String()
25972}
25973
25974// Validate inspects the fields of the type to determine if they are valid.
25975func (s *UpdateQuickConnectConfigInput) Validate() error {
25976	invalidParams := request.ErrInvalidParams{Context: "UpdateQuickConnectConfigInput"}
25977	if s.InstanceId == nil {
25978		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
25979	}
25980	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
25981		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
25982	}
25983	if s.QuickConnectConfig == nil {
25984		invalidParams.Add(request.NewErrParamRequired("QuickConnectConfig"))
25985	}
25986	if s.QuickConnectId == nil {
25987		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
25988	}
25989	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
25990		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
25991	}
25992	if s.QuickConnectConfig != nil {
25993		if err := s.QuickConnectConfig.Validate(); err != nil {
25994			invalidParams.AddNested("QuickConnectConfig", err.(request.ErrInvalidParams))
25995		}
25996	}
25997
25998	if invalidParams.Len() > 0 {
25999		return invalidParams
26000	}
26001	return nil
26002}
26003
26004// SetInstanceId sets the InstanceId field's value.
26005func (s *UpdateQuickConnectConfigInput) SetInstanceId(v string) *UpdateQuickConnectConfigInput {
26006	s.InstanceId = &v
26007	return s
26008}
26009
26010// SetQuickConnectConfig sets the QuickConnectConfig field's value.
26011func (s *UpdateQuickConnectConfigInput) SetQuickConnectConfig(v *QuickConnectConfig) *UpdateQuickConnectConfigInput {
26012	s.QuickConnectConfig = v
26013	return s
26014}
26015
26016// SetQuickConnectId sets the QuickConnectId field's value.
26017func (s *UpdateQuickConnectConfigInput) SetQuickConnectId(v string) *UpdateQuickConnectConfigInput {
26018	s.QuickConnectId = &v
26019	return s
26020}
26021
26022type UpdateQuickConnectConfigOutput struct {
26023	_ struct{} `type:"structure"`
26024}
26025
26026// String returns the string representation
26027func (s UpdateQuickConnectConfigOutput) String() string {
26028	return awsutil.Prettify(s)
26029}
26030
26031// GoString returns the string representation
26032func (s UpdateQuickConnectConfigOutput) GoString() string {
26033	return s.String()
26034}
26035
26036type UpdateQuickConnectNameInput struct {
26037	_ struct{} `type:"structure"`
26038
26039	// The description of the quick connect.
26040	Description *string `type:"string"`
26041
26042	// The identifier of the Amazon Connect instance. You can find the instanceId
26043	// in the ARN of the instance.
26044	//
26045	// InstanceId is a required field
26046	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26047
26048	// The name of the quick connect.
26049	Name *string `min:"1" type:"string"`
26050
26051	// The identifier for the quick connect.
26052	//
26053	// QuickConnectId is a required field
26054	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
26055}
26056
26057// String returns the string representation
26058func (s UpdateQuickConnectNameInput) String() string {
26059	return awsutil.Prettify(s)
26060}
26061
26062// GoString returns the string representation
26063func (s UpdateQuickConnectNameInput) GoString() string {
26064	return s.String()
26065}
26066
26067// Validate inspects the fields of the type to determine if they are valid.
26068func (s *UpdateQuickConnectNameInput) Validate() error {
26069	invalidParams := request.ErrInvalidParams{Context: "UpdateQuickConnectNameInput"}
26070	if s.InstanceId == nil {
26071		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26072	}
26073	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26074		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26075	}
26076	if s.Name != nil && len(*s.Name) < 1 {
26077		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
26078	}
26079	if s.QuickConnectId == nil {
26080		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
26081	}
26082	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
26083		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
26084	}
26085
26086	if invalidParams.Len() > 0 {
26087		return invalidParams
26088	}
26089	return nil
26090}
26091
26092// SetDescription sets the Description field's value.
26093func (s *UpdateQuickConnectNameInput) SetDescription(v string) *UpdateQuickConnectNameInput {
26094	s.Description = &v
26095	return s
26096}
26097
26098// SetInstanceId sets the InstanceId field's value.
26099func (s *UpdateQuickConnectNameInput) SetInstanceId(v string) *UpdateQuickConnectNameInput {
26100	s.InstanceId = &v
26101	return s
26102}
26103
26104// SetName sets the Name field's value.
26105func (s *UpdateQuickConnectNameInput) SetName(v string) *UpdateQuickConnectNameInput {
26106	s.Name = &v
26107	return s
26108}
26109
26110// SetQuickConnectId sets the QuickConnectId field's value.
26111func (s *UpdateQuickConnectNameInput) SetQuickConnectId(v string) *UpdateQuickConnectNameInput {
26112	s.QuickConnectId = &v
26113	return s
26114}
26115
26116type UpdateQuickConnectNameOutput struct {
26117	_ struct{} `type:"structure"`
26118}
26119
26120// String returns the string representation
26121func (s UpdateQuickConnectNameOutput) String() string {
26122	return awsutil.Prettify(s)
26123}
26124
26125// GoString returns the string representation
26126func (s UpdateQuickConnectNameOutput) GoString() string {
26127	return s.String()
26128}
26129
26130type UpdateRoutingProfileConcurrencyInput struct {
26131	_ struct{} `type:"structure"`
26132
26133	// The identifier of the Amazon Connect instance. You can find the instanceId
26134	// in the ARN of the instance.
26135	//
26136	// InstanceId is a required field
26137	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26138
26139	// The channels that agents can handle in the Contact Control Panel (CCP).
26140	//
26141	// MediaConcurrencies is a required field
26142	MediaConcurrencies []*MediaConcurrency `type:"list" required:"true"`
26143
26144	// The identifier of the routing profile.
26145	//
26146	// RoutingProfileId is a required field
26147	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
26148}
26149
26150// String returns the string representation
26151func (s UpdateRoutingProfileConcurrencyInput) String() string {
26152	return awsutil.Prettify(s)
26153}
26154
26155// GoString returns the string representation
26156func (s UpdateRoutingProfileConcurrencyInput) GoString() string {
26157	return s.String()
26158}
26159
26160// Validate inspects the fields of the type to determine if they are valid.
26161func (s *UpdateRoutingProfileConcurrencyInput) Validate() error {
26162	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileConcurrencyInput"}
26163	if s.InstanceId == nil {
26164		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26165	}
26166	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26167		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26168	}
26169	if s.MediaConcurrencies == nil {
26170		invalidParams.Add(request.NewErrParamRequired("MediaConcurrencies"))
26171	}
26172	if s.RoutingProfileId == nil {
26173		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
26174	}
26175	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
26176		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
26177	}
26178	if s.MediaConcurrencies != nil {
26179		for i, v := range s.MediaConcurrencies {
26180			if v == nil {
26181				continue
26182			}
26183			if err := v.Validate(); err != nil {
26184				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaConcurrencies", i), err.(request.ErrInvalidParams))
26185			}
26186		}
26187	}
26188
26189	if invalidParams.Len() > 0 {
26190		return invalidParams
26191	}
26192	return nil
26193}
26194
26195// SetInstanceId sets the InstanceId field's value.
26196func (s *UpdateRoutingProfileConcurrencyInput) SetInstanceId(v string) *UpdateRoutingProfileConcurrencyInput {
26197	s.InstanceId = &v
26198	return s
26199}
26200
26201// SetMediaConcurrencies sets the MediaConcurrencies field's value.
26202func (s *UpdateRoutingProfileConcurrencyInput) SetMediaConcurrencies(v []*MediaConcurrency) *UpdateRoutingProfileConcurrencyInput {
26203	s.MediaConcurrencies = v
26204	return s
26205}
26206
26207// SetRoutingProfileId sets the RoutingProfileId field's value.
26208func (s *UpdateRoutingProfileConcurrencyInput) SetRoutingProfileId(v string) *UpdateRoutingProfileConcurrencyInput {
26209	s.RoutingProfileId = &v
26210	return s
26211}
26212
26213type UpdateRoutingProfileConcurrencyOutput struct {
26214	_ struct{} `type:"structure"`
26215}
26216
26217// String returns the string representation
26218func (s UpdateRoutingProfileConcurrencyOutput) String() string {
26219	return awsutil.Prettify(s)
26220}
26221
26222// GoString returns the string representation
26223func (s UpdateRoutingProfileConcurrencyOutput) GoString() string {
26224	return s.String()
26225}
26226
26227type UpdateRoutingProfileDefaultOutboundQueueInput struct {
26228	_ struct{} `type:"structure"`
26229
26230	// The identifier for the default outbound queue.
26231	//
26232	// DefaultOutboundQueueId is a required field
26233	DefaultOutboundQueueId *string `type:"string" required:"true"`
26234
26235	// The identifier of the Amazon Connect instance. You can find the instanceId
26236	// in the ARN of the instance.
26237	//
26238	// InstanceId is a required field
26239	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26240
26241	// The identifier of the routing profile.
26242	//
26243	// RoutingProfileId is a required field
26244	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
26245}
26246
26247// String returns the string representation
26248func (s UpdateRoutingProfileDefaultOutboundQueueInput) String() string {
26249	return awsutil.Prettify(s)
26250}
26251
26252// GoString returns the string representation
26253func (s UpdateRoutingProfileDefaultOutboundQueueInput) GoString() string {
26254	return s.String()
26255}
26256
26257// Validate inspects the fields of the type to determine if they are valid.
26258func (s *UpdateRoutingProfileDefaultOutboundQueueInput) Validate() error {
26259	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileDefaultOutboundQueueInput"}
26260	if s.DefaultOutboundQueueId == nil {
26261		invalidParams.Add(request.NewErrParamRequired("DefaultOutboundQueueId"))
26262	}
26263	if s.InstanceId == nil {
26264		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26265	}
26266	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26267		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26268	}
26269	if s.RoutingProfileId == nil {
26270		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
26271	}
26272	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
26273		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
26274	}
26275
26276	if invalidParams.Len() > 0 {
26277		return invalidParams
26278	}
26279	return nil
26280}
26281
26282// SetDefaultOutboundQueueId sets the DefaultOutboundQueueId field's value.
26283func (s *UpdateRoutingProfileDefaultOutboundQueueInput) SetDefaultOutboundQueueId(v string) *UpdateRoutingProfileDefaultOutboundQueueInput {
26284	s.DefaultOutboundQueueId = &v
26285	return s
26286}
26287
26288// SetInstanceId sets the InstanceId field's value.
26289func (s *UpdateRoutingProfileDefaultOutboundQueueInput) SetInstanceId(v string) *UpdateRoutingProfileDefaultOutboundQueueInput {
26290	s.InstanceId = &v
26291	return s
26292}
26293
26294// SetRoutingProfileId sets the RoutingProfileId field's value.
26295func (s *UpdateRoutingProfileDefaultOutboundQueueInput) SetRoutingProfileId(v string) *UpdateRoutingProfileDefaultOutboundQueueInput {
26296	s.RoutingProfileId = &v
26297	return s
26298}
26299
26300type UpdateRoutingProfileDefaultOutboundQueueOutput struct {
26301	_ struct{} `type:"structure"`
26302}
26303
26304// String returns the string representation
26305func (s UpdateRoutingProfileDefaultOutboundQueueOutput) String() string {
26306	return awsutil.Prettify(s)
26307}
26308
26309// GoString returns the string representation
26310func (s UpdateRoutingProfileDefaultOutboundQueueOutput) GoString() string {
26311	return s.String()
26312}
26313
26314type UpdateRoutingProfileNameInput struct {
26315	_ struct{} `type:"structure"`
26316
26317	// The description of the routing profile. Must not be more than 250 characters.
26318	Description *string `min:"1" type:"string"`
26319
26320	// The identifier of the Amazon Connect instance. You can find the instanceId
26321	// in the ARN of the instance.
26322	//
26323	// InstanceId is a required field
26324	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26325
26326	// The name of the routing profile. Must not be more than 127 characters.
26327	Name *string `min:"1" type:"string"`
26328
26329	// The identifier of the routing profile.
26330	//
26331	// RoutingProfileId is a required field
26332	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
26333}
26334
26335// String returns the string representation
26336func (s UpdateRoutingProfileNameInput) String() string {
26337	return awsutil.Prettify(s)
26338}
26339
26340// GoString returns the string representation
26341func (s UpdateRoutingProfileNameInput) GoString() string {
26342	return s.String()
26343}
26344
26345// Validate inspects the fields of the type to determine if they are valid.
26346func (s *UpdateRoutingProfileNameInput) Validate() error {
26347	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileNameInput"}
26348	if s.Description != nil && len(*s.Description) < 1 {
26349		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
26350	}
26351	if s.InstanceId == nil {
26352		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26353	}
26354	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26355		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26356	}
26357	if s.Name != nil && len(*s.Name) < 1 {
26358		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
26359	}
26360	if s.RoutingProfileId == nil {
26361		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
26362	}
26363	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
26364		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
26365	}
26366
26367	if invalidParams.Len() > 0 {
26368		return invalidParams
26369	}
26370	return nil
26371}
26372
26373// SetDescription sets the Description field's value.
26374func (s *UpdateRoutingProfileNameInput) SetDescription(v string) *UpdateRoutingProfileNameInput {
26375	s.Description = &v
26376	return s
26377}
26378
26379// SetInstanceId sets the InstanceId field's value.
26380func (s *UpdateRoutingProfileNameInput) SetInstanceId(v string) *UpdateRoutingProfileNameInput {
26381	s.InstanceId = &v
26382	return s
26383}
26384
26385// SetName sets the Name field's value.
26386func (s *UpdateRoutingProfileNameInput) SetName(v string) *UpdateRoutingProfileNameInput {
26387	s.Name = &v
26388	return s
26389}
26390
26391// SetRoutingProfileId sets the RoutingProfileId field's value.
26392func (s *UpdateRoutingProfileNameInput) SetRoutingProfileId(v string) *UpdateRoutingProfileNameInput {
26393	s.RoutingProfileId = &v
26394	return s
26395}
26396
26397type UpdateRoutingProfileNameOutput struct {
26398	_ struct{} `type:"structure"`
26399}
26400
26401// String returns the string representation
26402func (s UpdateRoutingProfileNameOutput) String() string {
26403	return awsutil.Prettify(s)
26404}
26405
26406// GoString returns the string representation
26407func (s UpdateRoutingProfileNameOutput) GoString() string {
26408	return s.String()
26409}
26410
26411type UpdateRoutingProfileQueuesInput struct {
26412	_ struct{} `type:"structure"`
26413
26414	// The identifier of the Amazon Connect instance. You can find the instanceId
26415	// in the ARN of the instance.
26416	//
26417	// InstanceId is a required field
26418	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26419
26420	// The queues to be updated for this routing profile. Queues must first be associated
26421	// to the routing profile. You can do this using AssociateRoutingProfileQueues.
26422	//
26423	// QueueConfigs is a required field
26424	QueueConfigs []*RoutingProfileQueueConfig `min:"1" type:"list" required:"true"`
26425
26426	// The identifier of the routing profile.
26427	//
26428	// RoutingProfileId is a required field
26429	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
26430}
26431
26432// String returns the string representation
26433func (s UpdateRoutingProfileQueuesInput) String() string {
26434	return awsutil.Prettify(s)
26435}
26436
26437// GoString returns the string representation
26438func (s UpdateRoutingProfileQueuesInput) GoString() string {
26439	return s.String()
26440}
26441
26442// Validate inspects the fields of the type to determine if they are valid.
26443func (s *UpdateRoutingProfileQueuesInput) Validate() error {
26444	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileQueuesInput"}
26445	if s.InstanceId == nil {
26446		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26447	}
26448	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26449		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26450	}
26451	if s.QueueConfigs == nil {
26452		invalidParams.Add(request.NewErrParamRequired("QueueConfigs"))
26453	}
26454	if s.QueueConfigs != nil && len(s.QueueConfigs) < 1 {
26455		invalidParams.Add(request.NewErrParamMinLen("QueueConfigs", 1))
26456	}
26457	if s.RoutingProfileId == nil {
26458		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
26459	}
26460	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
26461		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
26462	}
26463	if s.QueueConfigs != nil {
26464		for i, v := range s.QueueConfigs {
26465			if v == nil {
26466				continue
26467			}
26468			if err := v.Validate(); err != nil {
26469				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigs", i), err.(request.ErrInvalidParams))
26470			}
26471		}
26472	}
26473
26474	if invalidParams.Len() > 0 {
26475		return invalidParams
26476	}
26477	return nil
26478}
26479
26480// SetInstanceId sets the InstanceId field's value.
26481func (s *UpdateRoutingProfileQueuesInput) SetInstanceId(v string) *UpdateRoutingProfileQueuesInput {
26482	s.InstanceId = &v
26483	return s
26484}
26485
26486// SetQueueConfigs sets the QueueConfigs field's value.
26487func (s *UpdateRoutingProfileQueuesInput) SetQueueConfigs(v []*RoutingProfileQueueConfig) *UpdateRoutingProfileQueuesInput {
26488	s.QueueConfigs = v
26489	return s
26490}
26491
26492// SetRoutingProfileId sets the RoutingProfileId field's value.
26493func (s *UpdateRoutingProfileQueuesInput) SetRoutingProfileId(v string) *UpdateRoutingProfileQueuesInput {
26494	s.RoutingProfileId = &v
26495	return s
26496}
26497
26498type UpdateRoutingProfileQueuesOutput struct {
26499	_ struct{} `type:"structure"`
26500}
26501
26502// String returns the string representation
26503func (s UpdateRoutingProfileQueuesOutput) String() string {
26504	return awsutil.Prettify(s)
26505}
26506
26507// GoString returns the string representation
26508func (s UpdateRoutingProfileQueuesOutput) GoString() string {
26509	return s.String()
26510}
26511
26512type UpdateUserHierarchyGroupNameInput struct {
26513	_ struct{} `type:"structure"`
26514
26515	// The identifier of the hierarchy group.
26516	//
26517	// HierarchyGroupId is a required field
26518	HierarchyGroupId *string `location:"uri" locationName:"HierarchyGroupId" type:"string" required:"true"`
26519
26520	// The identifier of the Amazon Connect instance. You can find the instanceId
26521	// in the ARN of the instance.
26522	//
26523	// InstanceId is a required field
26524	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26525
26526	// The name of the hierarchy group. Must not be more than 100 characters.
26527	//
26528	// Name is a required field
26529	Name *string `type:"string" required:"true"`
26530}
26531
26532// String returns the string representation
26533func (s UpdateUserHierarchyGroupNameInput) String() string {
26534	return awsutil.Prettify(s)
26535}
26536
26537// GoString returns the string representation
26538func (s UpdateUserHierarchyGroupNameInput) GoString() string {
26539	return s.String()
26540}
26541
26542// Validate inspects the fields of the type to determine if they are valid.
26543func (s *UpdateUserHierarchyGroupNameInput) Validate() error {
26544	invalidParams := request.ErrInvalidParams{Context: "UpdateUserHierarchyGroupNameInput"}
26545	if s.HierarchyGroupId == nil {
26546		invalidParams.Add(request.NewErrParamRequired("HierarchyGroupId"))
26547	}
26548	if s.HierarchyGroupId != nil && len(*s.HierarchyGroupId) < 1 {
26549		invalidParams.Add(request.NewErrParamMinLen("HierarchyGroupId", 1))
26550	}
26551	if s.InstanceId == nil {
26552		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26553	}
26554	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26555		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26556	}
26557	if s.Name == nil {
26558		invalidParams.Add(request.NewErrParamRequired("Name"))
26559	}
26560
26561	if invalidParams.Len() > 0 {
26562		return invalidParams
26563	}
26564	return nil
26565}
26566
26567// SetHierarchyGroupId sets the HierarchyGroupId field's value.
26568func (s *UpdateUserHierarchyGroupNameInput) SetHierarchyGroupId(v string) *UpdateUserHierarchyGroupNameInput {
26569	s.HierarchyGroupId = &v
26570	return s
26571}
26572
26573// SetInstanceId sets the InstanceId field's value.
26574func (s *UpdateUserHierarchyGroupNameInput) SetInstanceId(v string) *UpdateUserHierarchyGroupNameInput {
26575	s.InstanceId = &v
26576	return s
26577}
26578
26579// SetName sets the Name field's value.
26580func (s *UpdateUserHierarchyGroupNameInput) SetName(v string) *UpdateUserHierarchyGroupNameInput {
26581	s.Name = &v
26582	return s
26583}
26584
26585type UpdateUserHierarchyGroupNameOutput struct {
26586	_ struct{} `type:"structure"`
26587}
26588
26589// String returns the string representation
26590func (s UpdateUserHierarchyGroupNameOutput) String() string {
26591	return awsutil.Prettify(s)
26592}
26593
26594// GoString returns the string representation
26595func (s UpdateUserHierarchyGroupNameOutput) GoString() string {
26596	return s.String()
26597}
26598
26599type UpdateUserHierarchyInput struct {
26600	_ struct{} `type:"structure"`
26601
26602	// The identifier of the hierarchy group.
26603	HierarchyGroupId *string `type:"string"`
26604
26605	// The identifier of the Amazon Connect instance. You can find the instanceId
26606	// in the ARN of the instance.
26607	//
26608	// InstanceId is a required field
26609	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26610
26611	// The identifier of the user account.
26612	//
26613	// UserId is a required field
26614	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
26615}
26616
26617// String returns the string representation
26618func (s UpdateUserHierarchyInput) String() string {
26619	return awsutil.Prettify(s)
26620}
26621
26622// GoString returns the string representation
26623func (s UpdateUserHierarchyInput) GoString() string {
26624	return s.String()
26625}
26626
26627// Validate inspects the fields of the type to determine if they are valid.
26628func (s *UpdateUserHierarchyInput) Validate() error {
26629	invalidParams := request.ErrInvalidParams{Context: "UpdateUserHierarchyInput"}
26630	if s.InstanceId == nil {
26631		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26632	}
26633	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26634		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26635	}
26636	if s.UserId == nil {
26637		invalidParams.Add(request.NewErrParamRequired("UserId"))
26638	}
26639	if s.UserId != nil && len(*s.UserId) < 1 {
26640		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
26641	}
26642
26643	if invalidParams.Len() > 0 {
26644		return invalidParams
26645	}
26646	return nil
26647}
26648
26649// SetHierarchyGroupId sets the HierarchyGroupId field's value.
26650func (s *UpdateUserHierarchyInput) SetHierarchyGroupId(v string) *UpdateUserHierarchyInput {
26651	s.HierarchyGroupId = &v
26652	return s
26653}
26654
26655// SetInstanceId sets the InstanceId field's value.
26656func (s *UpdateUserHierarchyInput) SetInstanceId(v string) *UpdateUserHierarchyInput {
26657	s.InstanceId = &v
26658	return s
26659}
26660
26661// SetUserId sets the UserId field's value.
26662func (s *UpdateUserHierarchyInput) SetUserId(v string) *UpdateUserHierarchyInput {
26663	s.UserId = &v
26664	return s
26665}
26666
26667type UpdateUserHierarchyOutput struct {
26668	_ struct{} `type:"structure"`
26669}
26670
26671// String returns the string representation
26672func (s UpdateUserHierarchyOutput) String() string {
26673	return awsutil.Prettify(s)
26674}
26675
26676// GoString returns the string representation
26677func (s UpdateUserHierarchyOutput) GoString() string {
26678	return s.String()
26679}
26680
26681type UpdateUserHierarchyStructureInput struct {
26682	_ struct{} `type:"structure"`
26683
26684	// The hierarchy levels to update.
26685	//
26686	// HierarchyStructure is a required field
26687	HierarchyStructure *HierarchyStructureUpdate `type:"structure" required:"true"`
26688
26689	// The identifier of the Amazon Connect instance. You can find the instanceId
26690	// in the ARN of the instance.
26691	//
26692	// InstanceId is a required field
26693	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26694}
26695
26696// String returns the string representation
26697func (s UpdateUserHierarchyStructureInput) String() string {
26698	return awsutil.Prettify(s)
26699}
26700
26701// GoString returns the string representation
26702func (s UpdateUserHierarchyStructureInput) GoString() string {
26703	return s.String()
26704}
26705
26706// Validate inspects the fields of the type to determine if they are valid.
26707func (s *UpdateUserHierarchyStructureInput) Validate() error {
26708	invalidParams := request.ErrInvalidParams{Context: "UpdateUserHierarchyStructureInput"}
26709	if s.HierarchyStructure == nil {
26710		invalidParams.Add(request.NewErrParamRequired("HierarchyStructure"))
26711	}
26712	if s.InstanceId == nil {
26713		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26714	}
26715	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26716		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26717	}
26718	if s.HierarchyStructure != nil {
26719		if err := s.HierarchyStructure.Validate(); err != nil {
26720			invalidParams.AddNested("HierarchyStructure", err.(request.ErrInvalidParams))
26721		}
26722	}
26723
26724	if invalidParams.Len() > 0 {
26725		return invalidParams
26726	}
26727	return nil
26728}
26729
26730// SetHierarchyStructure sets the HierarchyStructure field's value.
26731func (s *UpdateUserHierarchyStructureInput) SetHierarchyStructure(v *HierarchyStructureUpdate) *UpdateUserHierarchyStructureInput {
26732	s.HierarchyStructure = v
26733	return s
26734}
26735
26736// SetInstanceId sets the InstanceId field's value.
26737func (s *UpdateUserHierarchyStructureInput) SetInstanceId(v string) *UpdateUserHierarchyStructureInput {
26738	s.InstanceId = &v
26739	return s
26740}
26741
26742type UpdateUserHierarchyStructureOutput struct {
26743	_ struct{} `type:"structure"`
26744}
26745
26746// String returns the string representation
26747func (s UpdateUserHierarchyStructureOutput) String() string {
26748	return awsutil.Prettify(s)
26749}
26750
26751// GoString returns the string representation
26752func (s UpdateUserHierarchyStructureOutput) GoString() string {
26753	return s.String()
26754}
26755
26756type UpdateUserIdentityInfoInput struct {
26757	_ struct{} `type:"structure"`
26758
26759	// The identity information for the user.
26760	//
26761	// IdentityInfo is a required field
26762	IdentityInfo *UserIdentityInfo `type:"structure" required:"true"`
26763
26764	// The identifier of the Amazon Connect instance. You can find the instanceId
26765	// in the ARN of the instance.
26766	//
26767	// InstanceId is a required field
26768	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26769
26770	// The identifier of the user account.
26771	//
26772	// UserId is a required field
26773	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
26774}
26775
26776// String returns the string representation
26777func (s UpdateUserIdentityInfoInput) String() string {
26778	return awsutil.Prettify(s)
26779}
26780
26781// GoString returns the string representation
26782func (s UpdateUserIdentityInfoInput) GoString() string {
26783	return s.String()
26784}
26785
26786// Validate inspects the fields of the type to determine if they are valid.
26787func (s *UpdateUserIdentityInfoInput) Validate() error {
26788	invalidParams := request.ErrInvalidParams{Context: "UpdateUserIdentityInfoInput"}
26789	if s.IdentityInfo == nil {
26790		invalidParams.Add(request.NewErrParamRequired("IdentityInfo"))
26791	}
26792	if s.InstanceId == nil {
26793		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26794	}
26795	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26796		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26797	}
26798	if s.UserId == nil {
26799		invalidParams.Add(request.NewErrParamRequired("UserId"))
26800	}
26801	if s.UserId != nil && len(*s.UserId) < 1 {
26802		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
26803	}
26804	if s.IdentityInfo != nil {
26805		if err := s.IdentityInfo.Validate(); err != nil {
26806			invalidParams.AddNested("IdentityInfo", err.(request.ErrInvalidParams))
26807		}
26808	}
26809
26810	if invalidParams.Len() > 0 {
26811		return invalidParams
26812	}
26813	return nil
26814}
26815
26816// SetIdentityInfo sets the IdentityInfo field's value.
26817func (s *UpdateUserIdentityInfoInput) SetIdentityInfo(v *UserIdentityInfo) *UpdateUserIdentityInfoInput {
26818	s.IdentityInfo = v
26819	return s
26820}
26821
26822// SetInstanceId sets the InstanceId field's value.
26823func (s *UpdateUserIdentityInfoInput) SetInstanceId(v string) *UpdateUserIdentityInfoInput {
26824	s.InstanceId = &v
26825	return s
26826}
26827
26828// SetUserId sets the UserId field's value.
26829func (s *UpdateUserIdentityInfoInput) SetUserId(v string) *UpdateUserIdentityInfoInput {
26830	s.UserId = &v
26831	return s
26832}
26833
26834type UpdateUserIdentityInfoOutput struct {
26835	_ struct{} `type:"structure"`
26836}
26837
26838// String returns the string representation
26839func (s UpdateUserIdentityInfoOutput) String() string {
26840	return awsutil.Prettify(s)
26841}
26842
26843// GoString returns the string representation
26844func (s UpdateUserIdentityInfoOutput) GoString() string {
26845	return s.String()
26846}
26847
26848type UpdateUserPhoneConfigInput struct {
26849	_ struct{} `type:"structure"`
26850
26851	// The identifier of the Amazon Connect instance. You can find the instanceId
26852	// in the ARN of the instance.
26853	//
26854	// InstanceId is a required field
26855	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26856
26857	// Information about phone configuration settings for the user.
26858	//
26859	// PhoneConfig is a required field
26860	PhoneConfig *UserPhoneConfig `type:"structure" required:"true"`
26861
26862	// The identifier of the user account.
26863	//
26864	// UserId is a required field
26865	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
26866}
26867
26868// String returns the string representation
26869func (s UpdateUserPhoneConfigInput) String() string {
26870	return awsutil.Prettify(s)
26871}
26872
26873// GoString returns the string representation
26874func (s UpdateUserPhoneConfigInput) GoString() string {
26875	return s.String()
26876}
26877
26878// Validate inspects the fields of the type to determine if they are valid.
26879func (s *UpdateUserPhoneConfigInput) Validate() error {
26880	invalidParams := request.ErrInvalidParams{Context: "UpdateUserPhoneConfigInput"}
26881	if s.InstanceId == nil {
26882		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26883	}
26884	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26885		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26886	}
26887	if s.PhoneConfig == nil {
26888		invalidParams.Add(request.NewErrParamRequired("PhoneConfig"))
26889	}
26890	if s.UserId == nil {
26891		invalidParams.Add(request.NewErrParamRequired("UserId"))
26892	}
26893	if s.UserId != nil && len(*s.UserId) < 1 {
26894		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
26895	}
26896	if s.PhoneConfig != nil {
26897		if err := s.PhoneConfig.Validate(); err != nil {
26898			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
26899		}
26900	}
26901
26902	if invalidParams.Len() > 0 {
26903		return invalidParams
26904	}
26905	return nil
26906}
26907
26908// SetInstanceId sets the InstanceId field's value.
26909func (s *UpdateUserPhoneConfigInput) SetInstanceId(v string) *UpdateUserPhoneConfigInput {
26910	s.InstanceId = &v
26911	return s
26912}
26913
26914// SetPhoneConfig sets the PhoneConfig field's value.
26915func (s *UpdateUserPhoneConfigInput) SetPhoneConfig(v *UserPhoneConfig) *UpdateUserPhoneConfigInput {
26916	s.PhoneConfig = v
26917	return s
26918}
26919
26920// SetUserId sets the UserId field's value.
26921func (s *UpdateUserPhoneConfigInput) SetUserId(v string) *UpdateUserPhoneConfigInput {
26922	s.UserId = &v
26923	return s
26924}
26925
26926type UpdateUserPhoneConfigOutput struct {
26927	_ struct{} `type:"structure"`
26928}
26929
26930// String returns the string representation
26931func (s UpdateUserPhoneConfigOutput) String() string {
26932	return awsutil.Prettify(s)
26933}
26934
26935// GoString returns the string representation
26936func (s UpdateUserPhoneConfigOutput) GoString() string {
26937	return s.String()
26938}
26939
26940type UpdateUserRoutingProfileInput struct {
26941	_ struct{} `type:"structure"`
26942
26943	// The identifier of the Amazon Connect instance. You can find the instanceId
26944	// in the ARN of the instance.
26945	//
26946	// InstanceId is a required field
26947	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
26948
26949	// The identifier of the routing profile for the user.
26950	//
26951	// RoutingProfileId is a required field
26952	RoutingProfileId *string `type:"string" required:"true"`
26953
26954	// The identifier of the user account.
26955	//
26956	// UserId is a required field
26957	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
26958}
26959
26960// String returns the string representation
26961func (s UpdateUserRoutingProfileInput) String() string {
26962	return awsutil.Prettify(s)
26963}
26964
26965// GoString returns the string representation
26966func (s UpdateUserRoutingProfileInput) GoString() string {
26967	return s.String()
26968}
26969
26970// Validate inspects the fields of the type to determine if they are valid.
26971func (s *UpdateUserRoutingProfileInput) Validate() error {
26972	invalidParams := request.ErrInvalidParams{Context: "UpdateUserRoutingProfileInput"}
26973	if s.InstanceId == nil {
26974		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26975	}
26976	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
26977		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
26978	}
26979	if s.RoutingProfileId == nil {
26980		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
26981	}
26982	if s.UserId == nil {
26983		invalidParams.Add(request.NewErrParamRequired("UserId"))
26984	}
26985	if s.UserId != nil && len(*s.UserId) < 1 {
26986		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
26987	}
26988
26989	if invalidParams.Len() > 0 {
26990		return invalidParams
26991	}
26992	return nil
26993}
26994
26995// SetInstanceId sets the InstanceId field's value.
26996func (s *UpdateUserRoutingProfileInput) SetInstanceId(v string) *UpdateUserRoutingProfileInput {
26997	s.InstanceId = &v
26998	return s
26999}
27000
27001// SetRoutingProfileId sets the RoutingProfileId field's value.
27002func (s *UpdateUserRoutingProfileInput) SetRoutingProfileId(v string) *UpdateUserRoutingProfileInput {
27003	s.RoutingProfileId = &v
27004	return s
27005}
27006
27007// SetUserId sets the UserId field's value.
27008func (s *UpdateUserRoutingProfileInput) SetUserId(v string) *UpdateUserRoutingProfileInput {
27009	s.UserId = &v
27010	return s
27011}
27012
27013type UpdateUserRoutingProfileOutput struct {
27014	_ struct{} `type:"structure"`
27015}
27016
27017// String returns the string representation
27018func (s UpdateUserRoutingProfileOutput) String() string {
27019	return awsutil.Prettify(s)
27020}
27021
27022// GoString returns the string representation
27023func (s UpdateUserRoutingProfileOutput) GoString() string {
27024	return s.String()
27025}
27026
27027type UpdateUserSecurityProfilesInput struct {
27028	_ struct{} `type:"structure"`
27029
27030	// The identifier of the Amazon Connect instance. You can find the instanceId
27031	// in the ARN of the instance.
27032	//
27033	// InstanceId is a required field
27034	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
27035
27036	// The identifiers of the security profiles for the user.
27037	//
27038	// SecurityProfileIds is a required field
27039	SecurityProfileIds []*string `min:"1" type:"list" required:"true"`
27040
27041	// The identifier of the user account.
27042	//
27043	// UserId is a required field
27044	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
27045}
27046
27047// String returns the string representation
27048func (s UpdateUserSecurityProfilesInput) String() string {
27049	return awsutil.Prettify(s)
27050}
27051
27052// GoString returns the string representation
27053func (s UpdateUserSecurityProfilesInput) GoString() string {
27054	return s.String()
27055}
27056
27057// Validate inspects the fields of the type to determine if they are valid.
27058func (s *UpdateUserSecurityProfilesInput) Validate() error {
27059	invalidParams := request.ErrInvalidParams{Context: "UpdateUserSecurityProfilesInput"}
27060	if s.InstanceId == nil {
27061		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
27062	}
27063	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
27064		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
27065	}
27066	if s.SecurityProfileIds == nil {
27067		invalidParams.Add(request.NewErrParamRequired("SecurityProfileIds"))
27068	}
27069	if s.SecurityProfileIds != nil && len(s.SecurityProfileIds) < 1 {
27070		invalidParams.Add(request.NewErrParamMinLen("SecurityProfileIds", 1))
27071	}
27072	if s.UserId == nil {
27073		invalidParams.Add(request.NewErrParamRequired("UserId"))
27074	}
27075	if s.UserId != nil && len(*s.UserId) < 1 {
27076		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
27077	}
27078
27079	if invalidParams.Len() > 0 {
27080		return invalidParams
27081	}
27082	return nil
27083}
27084
27085// SetInstanceId sets the InstanceId field's value.
27086func (s *UpdateUserSecurityProfilesInput) SetInstanceId(v string) *UpdateUserSecurityProfilesInput {
27087	s.InstanceId = &v
27088	return s
27089}
27090
27091// SetSecurityProfileIds sets the SecurityProfileIds field's value.
27092func (s *UpdateUserSecurityProfilesInput) SetSecurityProfileIds(v []*string) *UpdateUserSecurityProfilesInput {
27093	s.SecurityProfileIds = v
27094	return s
27095}
27096
27097// SetUserId sets the UserId field's value.
27098func (s *UpdateUserSecurityProfilesInput) SetUserId(v string) *UpdateUserSecurityProfilesInput {
27099	s.UserId = &v
27100	return s
27101}
27102
27103type UpdateUserSecurityProfilesOutput struct {
27104	_ struct{} `type:"structure"`
27105}
27106
27107// String returns the string representation
27108func (s UpdateUserSecurityProfilesOutput) String() string {
27109	return awsutil.Prettify(s)
27110}
27111
27112// GoString returns the string representation
27113func (s UpdateUserSecurityProfilesOutput) GoString() string {
27114	return s.String()
27115}
27116
27117// Contains the use case.
27118type UseCase struct {
27119	_ struct{} `type:"structure"`
27120
27121	// The Amazon Resource Name (ARN) for the use case.
27122	UseCaseArn *string `type:"string"`
27123
27124	// The identifier for the use case.
27125	UseCaseId *string `min:"1" type:"string"`
27126
27127	// The type of use case to associate to the AppIntegration association. Each
27128	// AppIntegration association can have only one of each use case type.
27129	UseCaseType *string `type:"string" enum:"UseCaseType"`
27130}
27131
27132// String returns the string representation
27133func (s UseCase) String() string {
27134	return awsutil.Prettify(s)
27135}
27136
27137// GoString returns the string representation
27138func (s UseCase) GoString() string {
27139	return s.String()
27140}
27141
27142// SetUseCaseArn sets the UseCaseArn field's value.
27143func (s *UseCase) SetUseCaseArn(v string) *UseCase {
27144	s.UseCaseArn = &v
27145	return s
27146}
27147
27148// SetUseCaseId sets the UseCaseId field's value.
27149func (s *UseCase) SetUseCaseId(v string) *UseCase {
27150	s.UseCaseId = &v
27151	return s
27152}
27153
27154// SetUseCaseType sets the UseCaseType field's value.
27155func (s *UseCase) SetUseCaseType(v string) *UseCase {
27156	s.UseCaseType = &v
27157	return s
27158}
27159
27160// Contains information about a user account for a Amazon Connect instance.
27161type User struct {
27162	_ struct{} `type:"structure"`
27163
27164	// The Amazon Resource Name (ARN) of the user account.
27165	Arn *string `type:"string"`
27166
27167	// The identifier of the user account in the directory used for identity management.
27168	DirectoryUserId *string `type:"string"`
27169
27170	// The identifier of the hierarchy group for the user.
27171	HierarchyGroupId *string `type:"string"`
27172
27173	// The identifier of the user account.
27174	Id *string `type:"string"`
27175
27176	// Information about the user identity.
27177	IdentityInfo *UserIdentityInfo `type:"structure"`
27178
27179	// Information about the phone configuration for the user.
27180	PhoneConfig *UserPhoneConfig `type:"structure"`
27181
27182	// The identifier of the routing profile for the user.
27183	RoutingProfileId *string `type:"string"`
27184
27185	// The identifiers of the security profiles for the user.
27186	SecurityProfileIds []*string `min:"1" type:"list"`
27187
27188	// The tags.
27189	Tags map[string]*string `min:"1" type:"map"`
27190
27191	// The user name assigned to the user account.
27192	Username *string `min:"1" type:"string"`
27193}
27194
27195// String returns the string representation
27196func (s User) String() string {
27197	return awsutil.Prettify(s)
27198}
27199
27200// GoString returns the string representation
27201func (s User) GoString() string {
27202	return s.String()
27203}
27204
27205// SetArn sets the Arn field's value.
27206func (s *User) SetArn(v string) *User {
27207	s.Arn = &v
27208	return s
27209}
27210
27211// SetDirectoryUserId sets the DirectoryUserId field's value.
27212func (s *User) SetDirectoryUserId(v string) *User {
27213	s.DirectoryUserId = &v
27214	return s
27215}
27216
27217// SetHierarchyGroupId sets the HierarchyGroupId field's value.
27218func (s *User) SetHierarchyGroupId(v string) *User {
27219	s.HierarchyGroupId = &v
27220	return s
27221}
27222
27223// SetId sets the Id field's value.
27224func (s *User) SetId(v string) *User {
27225	s.Id = &v
27226	return s
27227}
27228
27229// SetIdentityInfo sets the IdentityInfo field's value.
27230func (s *User) SetIdentityInfo(v *UserIdentityInfo) *User {
27231	s.IdentityInfo = v
27232	return s
27233}
27234
27235// SetPhoneConfig sets the PhoneConfig field's value.
27236func (s *User) SetPhoneConfig(v *UserPhoneConfig) *User {
27237	s.PhoneConfig = v
27238	return s
27239}
27240
27241// SetRoutingProfileId sets the RoutingProfileId field's value.
27242func (s *User) SetRoutingProfileId(v string) *User {
27243	s.RoutingProfileId = &v
27244	return s
27245}
27246
27247// SetSecurityProfileIds sets the SecurityProfileIds field's value.
27248func (s *User) SetSecurityProfileIds(v []*string) *User {
27249	s.SecurityProfileIds = v
27250	return s
27251}
27252
27253// SetTags sets the Tags field's value.
27254func (s *User) SetTags(v map[string]*string) *User {
27255	s.Tags = v
27256	return s
27257}
27258
27259// SetUsername sets the Username field's value.
27260func (s *User) SetUsername(v string) *User {
27261	s.Username = &v
27262	return s
27263}
27264
27265// Contains information about the identity of a user.
27266type UserIdentityInfo struct {
27267	_ struct{} `type:"structure"`
27268
27269	// The email address. If you are using SAML for identity management and include
27270	// this parameter, an error is returned.
27271	Email *string `type:"string"`
27272
27273	// The first name. This is required if you are using Amazon Connect or SAML
27274	// for identity management.
27275	FirstName *string `min:"1" type:"string"`
27276
27277	// The last name. This is required if you are using Amazon Connect or SAML for
27278	// identity management.
27279	LastName *string `min:"1" type:"string"`
27280}
27281
27282// String returns the string representation
27283func (s UserIdentityInfo) String() string {
27284	return awsutil.Prettify(s)
27285}
27286
27287// GoString returns the string representation
27288func (s UserIdentityInfo) GoString() string {
27289	return s.String()
27290}
27291
27292// Validate inspects the fields of the type to determine if they are valid.
27293func (s *UserIdentityInfo) Validate() error {
27294	invalidParams := request.ErrInvalidParams{Context: "UserIdentityInfo"}
27295	if s.FirstName != nil && len(*s.FirstName) < 1 {
27296		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
27297	}
27298	if s.LastName != nil && len(*s.LastName) < 1 {
27299		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
27300	}
27301
27302	if invalidParams.Len() > 0 {
27303		return invalidParams
27304	}
27305	return nil
27306}
27307
27308// SetEmail sets the Email field's value.
27309func (s *UserIdentityInfo) SetEmail(v string) *UserIdentityInfo {
27310	s.Email = &v
27311	return s
27312}
27313
27314// SetFirstName sets the FirstName field's value.
27315func (s *UserIdentityInfo) SetFirstName(v string) *UserIdentityInfo {
27316	s.FirstName = &v
27317	return s
27318}
27319
27320// SetLastName sets the LastName field's value.
27321func (s *UserIdentityInfo) SetLastName(v string) *UserIdentityInfo {
27322	s.LastName = &v
27323	return s
27324}
27325
27326// No user with the specified credentials was found in the Amazon Connect instance.
27327type UserNotFoundException struct {
27328	_            struct{}                  `type:"structure"`
27329	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27330
27331	Message_ *string `locationName:"Message" type:"string"`
27332}
27333
27334// String returns the string representation
27335func (s UserNotFoundException) String() string {
27336	return awsutil.Prettify(s)
27337}
27338
27339// GoString returns the string representation
27340func (s UserNotFoundException) GoString() string {
27341	return s.String()
27342}
27343
27344func newErrorUserNotFoundException(v protocol.ResponseMetadata) error {
27345	return &UserNotFoundException{
27346		RespMetadata: v,
27347	}
27348}
27349
27350// Code returns the exception type name.
27351func (s *UserNotFoundException) Code() string {
27352	return "UserNotFoundException"
27353}
27354
27355// Message returns the exception's message.
27356func (s *UserNotFoundException) Message() string {
27357	if s.Message_ != nil {
27358		return *s.Message_
27359	}
27360	return ""
27361}
27362
27363// OrigErr always returns nil, satisfies awserr.Error interface.
27364func (s *UserNotFoundException) OrigErr() error {
27365	return nil
27366}
27367
27368func (s *UserNotFoundException) Error() string {
27369	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
27370}
27371
27372// Status code returns the HTTP status code for the request's response error.
27373func (s *UserNotFoundException) StatusCode() int {
27374	return s.RespMetadata.StatusCode
27375}
27376
27377// RequestID returns the service's response RequestID for request.
27378func (s *UserNotFoundException) RequestID() string {
27379	return s.RespMetadata.RequestID
27380}
27381
27382// Contains information about the phone configuration settings for a user.
27383type UserPhoneConfig struct {
27384	_ struct{} `type:"structure"`
27385
27386	// The After Call Work (ACW) timeout setting, in seconds.
27387	AfterContactWorkTimeLimit *int64 `type:"integer"`
27388
27389	// The Auto accept setting.
27390	AutoAccept *bool `type:"boolean"`
27391
27392	// The phone number for the user's desk phone.
27393	DeskPhoneNumber *string `type:"string"`
27394
27395	// The phone type.
27396	//
27397	// PhoneType is a required field
27398	PhoneType *string `type:"string" required:"true" enum:"PhoneType"`
27399}
27400
27401// String returns the string representation
27402func (s UserPhoneConfig) String() string {
27403	return awsutil.Prettify(s)
27404}
27405
27406// GoString returns the string representation
27407func (s UserPhoneConfig) GoString() string {
27408	return s.String()
27409}
27410
27411// Validate inspects the fields of the type to determine if they are valid.
27412func (s *UserPhoneConfig) Validate() error {
27413	invalidParams := request.ErrInvalidParams{Context: "UserPhoneConfig"}
27414	if s.PhoneType == nil {
27415		invalidParams.Add(request.NewErrParamRequired("PhoneType"))
27416	}
27417
27418	if invalidParams.Len() > 0 {
27419		return invalidParams
27420	}
27421	return nil
27422}
27423
27424// SetAfterContactWorkTimeLimit sets the AfterContactWorkTimeLimit field's value.
27425func (s *UserPhoneConfig) SetAfterContactWorkTimeLimit(v int64) *UserPhoneConfig {
27426	s.AfterContactWorkTimeLimit = &v
27427	return s
27428}
27429
27430// SetAutoAccept sets the AutoAccept field's value.
27431func (s *UserPhoneConfig) SetAutoAccept(v bool) *UserPhoneConfig {
27432	s.AutoAccept = &v
27433	return s
27434}
27435
27436// SetDeskPhoneNumber sets the DeskPhoneNumber field's value.
27437func (s *UserPhoneConfig) SetDeskPhoneNumber(v string) *UserPhoneConfig {
27438	s.DeskPhoneNumber = &v
27439	return s
27440}
27441
27442// SetPhoneType sets the PhoneType field's value.
27443func (s *UserPhoneConfig) SetPhoneType(v string) *UserPhoneConfig {
27444	s.PhoneType = &v
27445	return s
27446}
27447
27448// Contains information about the quick connect configuration settings for a
27449// user. The contact flow must be of type Transfer to Agent.
27450type UserQuickConnectConfig struct {
27451	_ struct{} `type:"structure"`
27452
27453	// The identifier of the contact flow.
27454	//
27455	// ContactFlowId is a required field
27456	ContactFlowId *string `type:"string" required:"true"`
27457
27458	// The identifier of the user.
27459	//
27460	// UserId is a required field
27461	UserId *string `type:"string" required:"true"`
27462}
27463
27464// String returns the string representation
27465func (s UserQuickConnectConfig) String() string {
27466	return awsutil.Prettify(s)
27467}
27468
27469// GoString returns the string representation
27470func (s UserQuickConnectConfig) GoString() string {
27471	return s.String()
27472}
27473
27474// Validate inspects the fields of the type to determine if they are valid.
27475func (s *UserQuickConnectConfig) Validate() error {
27476	invalidParams := request.ErrInvalidParams{Context: "UserQuickConnectConfig"}
27477	if s.ContactFlowId == nil {
27478		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
27479	}
27480	if s.UserId == nil {
27481		invalidParams.Add(request.NewErrParamRequired("UserId"))
27482	}
27483
27484	if invalidParams.Len() > 0 {
27485		return invalidParams
27486	}
27487	return nil
27488}
27489
27490// SetContactFlowId sets the ContactFlowId field's value.
27491func (s *UserQuickConnectConfig) SetContactFlowId(v string) *UserQuickConnectConfig {
27492	s.ContactFlowId = &v
27493	return s
27494}
27495
27496// SetUserId sets the UserId field's value.
27497func (s *UserQuickConnectConfig) SetUserId(v string) *UserQuickConnectConfig {
27498	s.UserId = &v
27499	return s
27500}
27501
27502// Contains summary information about a user.
27503type UserSummary struct {
27504	_ struct{} `type:"structure"`
27505
27506	// The Amazon Resource Name (ARN) of the user account.
27507	Arn *string `type:"string"`
27508
27509	// The identifier of the user account.
27510	Id *string `type:"string"`
27511
27512	// The Amazon Connect user name of the user account.
27513	Username *string `min:"1" type:"string"`
27514}
27515
27516// String returns the string representation
27517func (s UserSummary) String() string {
27518	return awsutil.Prettify(s)
27519}
27520
27521// GoString returns the string representation
27522func (s UserSummary) GoString() string {
27523	return s.String()
27524}
27525
27526// SetArn sets the Arn field's value.
27527func (s *UserSummary) SetArn(v string) *UserSummary {
27528	s.Arn = &v
27529	return s
27530}
27531
27532// SetId sets the Id field's value.
27533func (s *UserSummary) SetId(v string) *UserSummary {
27534	s.Id = &v
27535	return s
27536}
27537
27538// SetUsername sets the Username field's value.
27539func (s *UserSummary) SetUsername(v string) *UserSummary {
27540	s.Username = &v
27541	return s
27542}
27543
27544// Contains information about the recording configuration settings.
27545type VoiceRecordingConfiguration struct {
27546	_ struct{} `type:"structure"`
27547
27548	// Identifies which track is being recorded.
27549	VoiceRecordingTrack *string `type:"string" enum:"VoiceRecordingTrack"`
27550}
27551
27552// String returns the string representation
27553func (s VoiceRecordingConfiguration) String() string {
27554	return awsutil.Prettify(s)
27555}
27556
27557// GoString returns the string representation
27558func (s VoiceRecordingConfiguration) GoString() string {
27559	return s.String()
27560}
27561
27562// SetVoiceRecordingTrack sets the VoiceRecordingTrack field's value.
27563func (s *VoiceRecordingConfiguration) SetVoiceRecordingTrack(v string) *VoiceRecordingConfiguration {
27564	s.VoiceRecordingTrack = &v
27565	return s
27566}
27567
27568const (
27569	// AgentStatusStateEnabled is a AgentStatusState enum value
27570	AgentStatusStateEnabled = "ENABLED"
27571
27572	// AgentStatusStateDisabled is a AgentStatusState enum value
27573	AgentStatusStateDisabled = "DISABLED"
27574)
27575
27576// AgentStatusState_Values returns all elements of the AgentStatusState enum
27577func AgentStatusState_Values() []string {
27578	return []string{
27579		AgentStatusStateEnabled,
27580		AgentStatusStateDisabled,
27581	}
27582}
27583
27584const (
27585	// AgentStatusTypeRoutable is a AgentStatusType enum value
27586	AgentStatusTypeRoutable = "ROUTABLE"
27587
27588	// AgentStatusTypeCustom is a AgentStatusType enum value
27589	AgentStatusTypeCustom = "CUSTOM"
27590
27591	// AgentStatusTypeOffline is a AgentStatusType enum value
27592	AgentStatusTypeOffline = "OFFLINE"
27593)
27594
27595// AgentStatusType_Values returns all elements of the AgentStatusType enum
27596func AgentStatusType_Values() []string {
27597	return []string{
27598		AgentStatusTypeRoutable,
27599		AgentStatusTypeCustom,
27600		AgentStatusTypeOffline,
27601	}
27602}
27603
27604const (
27605	// ChannelVoice is a Channel enum value
27606	ChannelVoice = "VOICE"
27607
27608	// ChannelChat is a Channel enum value
27609	ChannelChat = "CHAT"
27610
27611	// ChannelTask is a Channel enum value
27612	ChannelTask = "TASK"
27613)
27614
27615// Channel_Values returns all elements of the Channel enum
27616func Channel_Values() []string {
27617	return []string{
27618		ChannelVoice,
27619		ChannelChat,
27620		ChannelTask,
27621	}
27622}
27623
27624const (
27625	// ComparisonLt is a Comparison enum value
27626	ComparisonLt = "LT"
27627)
27628
27629// Comparison_Values returns all elements of the Comparison enum
27630func Comparison_Values() []string {
27631	return []string{
27632		ComparisonLt,
27633	}
27634}
27635
27636const (
27637	// ContactFlowTypeContactFlow is a ContactFlowType enum value
27638	ContactFlowTypeContactFlow = "CONTACT_FLOW"
27639
27640	// ContactFlowTypeCustomerQueue is a ContactFlowType enum value
27641	ContactFlowTypeCustomerQueue = "CUSTOMER_QUEUE"
27642
27643	// ContactFlowTypeCustomerHold is a ContactFlowType enum value
27644	ContactFlowTypeCustomerHold = "CUSTOMER_HOLD"
27645
27646	// ContactFlowTypeCustomerWhisper is a ContactFlowType enum value
27647	ContactFlowTypeCustomerWhisper = "CUSTOMER_WHISPER"
27648
27649	// ContactFlowTypeAgentHold is a ContactFlowType enum value
27650	ContactFlowTypeAgentHold = "AGENT_HOLD"
27651
27652	// ContactFlowTypeAgentWhisper is a ContactFlowType enum value
27653	ContactFlowTypeAgentWhisper = "AGENT_WHISPER"
27654
27655	// ContactFlowTypeOutboundWhisper is a ContactFlowType enum value
27656	ContactFlowTypeOutboundWhisper = "OUTBOUND_WHISPER"
27657
27658	// ContactFlowTypeAgentTransfer is a ContactFlowType enum value
27659	ContactFlowTypeAgentTransfer = "AGENT_TRANSFER"
27660
27661	// ContactFlowTypeQueueTransfer is a ContactFlowType enum value
27662	ContactFlowTypeQueueTransfer = "QUEUE_TRANSFER"
27663)
27664
27665// ContactFlowType_Values returns all elements of the ContactFlowType enum
27666func ContactFlowType_Values() []string {
27667	return []string{
27668		ContactFlowTypeContactFlow,
27669		ContactFlowTypeCustomerQueue,
27670		ContactFlowTypeCustomerHold,
27671		ContactFlowTypeCustomerWhisper,
27672		ContactFlowTypeAgentHold,
27673		ContactFlowTypeAgentWhisper,
27674		ContactFlowTypeOutboundWhisper,
27675		ContactFlowTypeAgentTransfer,
27676		ContactFlowTypeQueueTransfer,
27677	}
27678}
27679
27680// The current metric names.
27681const (
27682	// CurrentMetricNameAgentsOnline is a CurrentMetricName enum value
27683	CurrentMetricNameAgentsOnline = "AGENTS_ONLINE"
27684
27685	// CurrentMetricNameAgentsAvailable is a CurrentMetricName enum value
27686	CurrentMetricNameAgentsAvailable = "AGENTS_AVAILABLE"
27687
27688	// CurrentMetricNameAgentsOnCall is a CurrentMetricName enum value
27689	CurrentMetricNameAgentsOnCall = "AGENTS_ON_CALL"
27690
27691	// CurrentMetricNameAgentsNonProductive is a CurrentMetricName enum value
27692	CurrentMetricNameAgentsNonProductive = "AGENTS_NON_PRODUCTIVE"
27693
27694	// CurrentMetricNameAgentsAfterContactWork is a CurrentMetricName enum value
27695	CurrentMetricNameAgentsAfterContactWork = "AGENTS_AFTER_CONTACT_WORK"
27696
27697	// CurrentMetricNameAgentsError is a CurrentMetricName enum value
27698	CurrentMetricNameAgentsError = "AGENTS_ERROR"
27699
27700	// CurrentMetricNameAgentsStaffed is a CurrentMetricName enum value
27701	CurrentMetricNameAgentsStaffed = "AGENTS_STAFFED"
27702
27703	// CurrentMetricNameContactsInQueue is a CurrentMetricName enum value
27704	CurrentMetricNameContactsInQueue = "CONTACTS_IN_QUEUE"
27705
27706	// CurrentMetricNameOldestContactAge is a CurrentMetricName enum value
27707	CurrentMetricNameOldestContactAge = "OLDEST_CONTACT_AGE"
27708
27709	// CurrentMetricNameContactsScheduled is a CurrentMetricName enum value
27710	CurrentMetricNameContactsScheduled = "CONTACTS_SCHEDULED"
27711
27712	// CurrentMetricNameAgentsOnContact is a CurrentMetricName enum value
27713	CurrentMetricNameAgentsOnContact = "AGENTS_ON_CONTACT"
27714
27715	// CurrentMetricNameSlotsActive is a CurrentMetricName enum value
27716	CurrentMetricNameSlotsActive = "SLOTS_ACTIVE"
27717
27718	// CurrentMetricNameSlotsAvailable is a CurrentMetricName enum value
27719	CurrentMetricNameSlotsAvailable = "SLOTS_AVAILABLE"
27720)
27721
27722// CurrentMetricName_Values returns all elements of the CurrentMetricName enum
27723func CurrentMetricName_Values() []string {
27724	return []string{
27725		CurrentMetricNameAgentsOnline,
27726		CurrentMetricNameAgentsAvailable,
27727		CurrentMetricNameAgentsOnCall,
27728		CurrentMetricNameAgentsNonProductive,
27729		CurrentMetricNameAgentsAfterContactWork,
27730		CurrentMetricNameAgentsError,
27731		CurrentMetricNameAgentsStaffed,
27732		CurrentMetricNameContactsInQueue,
27733		CurrentMetricNameOldestContactAge,
27734		CurrentMetricNameContactsScheduled,
27735		CurrentMetricNameAgentsOnContact,
27736		CurrentMetricNameSlotsActive,
27737		CurrentMetricNameSlotsAvailable,
27738	}
27739}
27740
27741const (
27742	// DirectoryTypeSaml is a DirectoryType enum value
27743	DirectoryTypeSaml = "SAML"
27744
27745	// DirectoryTypeConnectManaged is a DirectoryType enum value
27746	DirectoryTypeConnectManaged = "CONNECT_MANAGED"
27747
27748	// DirectoryTypeExistingDirectory is a DirectoryType enum value
27749	DirectoryTypeExistingDirectory = "EXISTING_DIRECTORY"
27750)
27751
27752// DirectoryType_Values returns all elements of the DirectoryType enum
27753func DirectoryType_Values() []string {
27754	return []string{
27755		DirectoryTypeSaml,
27756		DirectoryTypeConnectManaged,
27757		DirectoryTypeExistingDirectory,
27758	}
27759}
27760
27761const (
27762	// EncryptionTypeKms is a EncryptionType enum value
27763	EncryptionTypeKms = "KMS"
27764)
27765
27766// EncryptionType_Values returns all elements of the EncryptionType enum
27767func EncryptionType_Values() []string {
27768	return []string{
27769		EncryptionTypeKms,
27770	}
27771}
27772
27773const (
27774	// GroupingQueue is a Grouping enum value
27775	GroupingQueue = "QUEUE"
27776
27777	// GroupingChannel is a Grouping enum value
27778	GroupingChannel = "CHANNEL"
27779)
27780
27781// Grouping_Values returns all elements of the Grouping enum
27782func Grouping_Values() []string {
27783	return []string{
27784		GroupingQueue,
27785		GroupingChannel,
27786	}
27787}
27788
27789// The historical metric names.
27790const (
27791	// HistoricalMetricNameContactsQueued is a HistoricalMetricName enum value
27792	HistoricalMetricNameContactsQueued = "CONTACTS_QUEUED"
27793
27794	// HistoricalMetricNameContactsHandled is a HistoricalMetricName enum value
27795	HistoricalMetricNameContactsHandled = "CONTACTS_HANDLED"
27796
27797	// HistoricalMetricNameContactsAbandoned is a HistoricalMetricName enum value
27798	HistoricalMetricNameContactsAbandoned = "CONTACTS_ABANDONED"
27799
27800	// HistoricalMetricNameContactsConsulted is a HistoricalMetricName enum value
27801	HistoricalMetricNameContactsConsulted = "CONTACTS_CONSULTED"
27802
27803	// HistoricalMetricNameContactsAgentHungUpFirst is a HistoricalMetricName enum value
27804	HistoricalMetricNameContactsAgentHungUpFirst = "CONTACTS_AGENT_HUNG_UP_FIRST"
27805
27806	// HistoricalMetricNameContactsHandledIncoming is a HistoricalMetricName enum value
27807	HistoricalMetricNameContactsHandledIncoming = "CONTACTS_HANDLED_INCOMING"
27808
27809	// HistoricalMetricNameContactsHandledOutbound is a HistoricalMetricName enum value
27810	HistoricalMetricNameContactsHandledOutbound = "CONTACTS_HANDLED_OUTBOUND"
27811
27812	// HistoricalMetricNameContactsHoldAbandons is a HistoricalMetricName enum value
27813	HistoricalMetricNameContactsHoldAbandons = "CONTACTS_HOLD_ABANDONS"
27814
27815	// HistoricalMetricNameContactsTransferredIn is a HistoricalMetricName enum value
27816	HistoricalMetricNameContactsTransferredIn = "CONTACTS_TRANSFERRED_IN"
27817
27818	// HistoricalMetricNameContactsTransferredOut is a HistoricalMetricName enum value
27819	HistoricalMetricNameContactsTransferredOut = "CONTACTS_TRANSFERRED_OUT"
27820
27821	// HistoricalMetricNameContactsTransferredInFromQueue is a HistoricalMetricName enum value
27822	HistoricalMetricNameContactsTransferredInFromQueue = "CONTACTS_TRANSFERRED_IN_FROM_QUEUE"
27823
27824	// HistoricalMetricNameContactsTransferredOutFromQueue is a HistoricalMetricName enum value
27825	HistoricalMetricNameContactsTransferredOutFromQueue = "CONTACTS_TRANSFERRED_OUT_FROM_QUEUE"
27826
27827	// HistoricalMetricNameContactsMissed is a HistoricalMetricName enum value
27828	HistoricalMetricNameContactsMissed = "CONTACTS_MISSED"
27829
27830	// HistoricalMetricNameCallbackContactsHandled is a HistoricalMetricName enum value
27831	HistoricalMetricNameCallbackContactsHandled = "CALLBACK_CONTACTS_HANDLED"
27832
27833	// HistoricalMetricNameApiContactsHandled is a HistoricalMetricName enum value
27834	HistoricalMetricNameApiContactsHandled = "API_CONTACTS_HANDLED"
27835
27836	// HistoricalMetricNameOccupancy is a HistoricalMetricName enum value
27837	HistoricalMetricNameOccupancy = "OCCUPANCY"
27838
27839	// HistoricalMetricNameHandleTime is a HistoricalMetricName enum value
27840	HistoricalMetricNameHandleTime = "HANDLE_TIME"
27841
27842	// HistoricalMetricNameAfterContactWorkTime is a HistoricalMetricName enum value
27843	HistoricalMetricNameAfterContactWorkTime = "AFTER_CONTACT_WORK_TIME"
27844
27845	// HistoricalMetricNameQueuedTime is a HistoricalMetricName enum value
27846	HistoricalMetricNameQueuedTime = "QUEUED_TIME"
27847
27848	// HistoricalMetricNameAbandonTime is a HistoricalMetricName enum value
27849	HistoricalMetricNameAbandonTime = "ABANDON_TIME"
27850
27851	// HistoricalMetricNameQueueAnswerTime is a HistoricalMetricName enum value
27852	HistoricalMetricNameQueueAnswerTime = "QUEUE_ANSWER_TIME"
27853
27854	// HistoricalMetricNameHoldTime is a HistoricalMetricName enum value
27855	HistoricalMetricNameHoldTime = "HOLD_TIME"
27856
27857	// HistoricalMetricNameInteractionTime is a HistoricalMetricName enum value
27858	HistoricalMetricNameInteractionTime = "INTERACTION_TIME"
27859
27860	// HistoricalMetricNameInteractionAndHoldTime is a HistoricalMetricName enum value
27861	HistoricalMetricNameInteractionAndHoldTime = "INTERACTION_AND_HOLD_TIME"
27862
27863	// HistoricalMetricNameServiceLevel is a HistoricalMetricName enum value
27864	HistoricalMetricNameServiceLevel = "SERVICE_LEVEL"
27865)
27866
27867// HistoricalMetricName_Values returns all elements of the HistoricalMetricName enum
27868func HistoricalMetricName_Values() []string {
27869	return []string{
27870		HistoricalMetricNameContactsQueued,
27871		HistoricalMetricNameContactsHandled,
27872		HistoricalMetricNameContactsAbandoned,
27873		HistoricalMetricNameContactsConsulted,
27874		HistoricalMetricNameContactsAgentHungUpFirst,
27875		HistoricalMetricNameContactsHandledIncoming,
27876		HistoricalMetricNameContactsHandledOutbound,
27877		HistoricalMetricNameContactsHoldAbandons,
27878		HistoricalMetricNameContactsTransferredIn,
27879		HistoricalMetricNameContactsTransferredOut,
27880		HistoricalMetricNameContactsTransferredInFromQueue,
27881		HistoricalMetricNameContactsTransferredOutFromQueue,
27882		HistoricalMetricNameContactsMissed,
27883		HistoricalMetricNameCallbackContactsHandled,
27884		HistoricalMetricNameApiContactsHandled,
27885		HistoricalMetricNameOccupancy,
27886		HistoricalMetricNameHandleTime,
27887		HistoricalMetricNameAfterContactWorkTime,
27888		HistoricalMetricNameQueuedTime,
27889		HistoricalMetricNameAbandonTime,
27890		HistoricalMetricNameQueueAnswerTime,
27891		HistoricalMetricNameHoldTime,
27892		HistoricalMetricNameInteractionTime,
27893		HistoricalMetricNameInteractionAndHoldTime,
27894		HistoricalMetricNameServiceLevel,
27895	}
27896}
27897
27898const (
27899	// HoursOfOperationDaysSunday is a HoursOfOperationDays enum value
27900	HoursOfOperationDaysSunday = "SUNDAY"
27901
27902	// HoursOfOperationDaysMonday is a HoursOfOperationDays enum value
27903	HoursOfOperationDaysMonday = "MONDAY"
27904
27905	// HoursOfOperationDaysTuesday is a HoursOfOperationDays enum value
27906	HoursOfOperationDaysTuesday = "TUESDAY"
27907
27908	// HoursOfOperationDaysWednesday is a HoursOfOperationDays enum value
27909	HoursOfOperationDaysWednesday = "WEDNESDAY"
27910
27911	// HoursOfOperationDaysThursday is a HoursOfOperationDays enum value
27912	HoursOfOperationDaysThursday = "THURSDAY"
27913
27914	// HoursOfOperationDaysFriday is a HoursOfOperationDays enum value
27915	HoursOfOperationDaysFriday = "FRIDAY"
27916
27917	// HoursOfOperationDaysSaturday is a HoursOfOperationDays enum value
27918	HoursOfOperationDaysSaturday = "SATURDAY"
27919)
27920
27921// HoursOfOperationDays_Values returns all elements of the HoursOfOperationDays enum
27922func HoursOfOperationDays_Values() []string {
27923	return []string{
27924		HoursOfOperationDaysSunday,
27925		HoursOfOperationDaysMonday,
27926		HoursOfOperationDaysTuesday,
27927		HoursOfOperationDaysWednesday,
27928		HoursOfOperationDaysThursday,
27929		HoursOfOperationDaysFriday,
27930		HoursOfOperationDaysSaturday,
27931	}
27932}
27933
27934const (
27935	// InstanceAttributeTypeInboundCalls is a InstanceAttributeType enum value
27936	InstanceAttributeTypeInboundCalls = "INBOUND_CALLS"
27937
27938	// InstanceAttributeTypeOutboundCalls is a InstanceAttributeType enum value
27939	InstanceAttributeTypeOutboundCalls = "OUTBOUND_CALLS"
27940
27941	// InstanceAttributeTypeContactflowLogs is a InstanceAttributeType enum value
27942	InstanceAttributeTypeContactflowLogs = "CONTACTFLOW_LOGS"
27943
27944	// InstanceAttributeTypeContactLens is a InstanceAttributeType enum value
27945	InstanceAttributeTypeContactLens = "CONTACT_LENS"
27946
27947	// InstanceAttributeTypeAutoResolveBestVoices is a InstanceAttributeType enum value
27948	InstanceAttributeTypeAutoResolveBestVoices = "AUTO_RESOLVE_BEST_VOICES"
27949
27950	// InstanceAttributeTypeUseCustomTtsVoices is a InstanceAttributeType enum value
27951	InstanceAttributeTypeUseCustomTtsVoices = "USE_CUSTOM_TTS_VOICES"
27952
27953	// InstanceAttributeTypeEarlyMedia is a InstanceAttributeType enum value
27954	InstanceAttributeTypeEarlyMedia = "EARLY_MEDIA"
27955)
27956
27957// InstanceAttributeType_Values returns all elements of the InstanceAttributeType enum
27958func InstanceAttributeType_Values() []string {
27959	return []string{
27960		InstanceAttributeTypeInboundCalls,
27961		InstanceAttributeTypeOutboundCalls,
27962		InstanceAttributeTypeContactflowLogs,
27963		InstanceAttributeTypeContactLens,
27964		InstanceAttributeTypeAutoResolveBestVoices,
27965		InstanceAttributeTypeUseCustomTtsVoices,
27966		InstanceAttributeTypeEarlyMedia,
27967	}
27968}
27969
27970const (
27971	// InstanceStatusCreationInProgress is a InstanceStatus enum value
27972	InstanceStatusCreationInProgress = "CREATION_IN_PROGRESS"
27973
27974	// InstanceStatusActive is a InstanceStatus enum value
27975	InstanceStatusActive = "ACTIVE"
27976
27977	// InstanceStatusCreationFailed is a InstanceStatus enum value
27978	InstanceStatusCreationFailed = "CREATION_FAILED"
27979)
27980
27981// InstanceStatus_Values returns all elements of the InstanceStatus enum
27982func InstanceStatus_Values() []string {
27983	return []string{
27984		InstanceStatusCreationInProgress,
27985		InstanceStatusActive,
27986		InstanceStatusCreationFailed,
27987	}
27988}
27989
27990const (
27991	// InstanceStorageResourceTypeChatTranscripts is a InstanceStorageResourceType enum value
27992	InstanceStorageResourceTypeChatTranscripts = "CHAT_TRANSCRIPTS"
27993
27994	// InstanceStorageResourceTypeCallRecordings is a InstanceStorageResourceType enum value
27995	InstanceStorageResourceTypeCallRecordings = "CALL_RECORDINGS"
27996
27997	// InstanceStorageResourceTypeScheduledReports is a InstanceStorageResourceType enum value
27998	InstanceStorageResourceTypeScheduledReports = "SCHEDULED_REPORTS"
27999
28000	// InstanceStorageResourceTypeMediaStreams is a InstanceStorageResourceType enum value
28001	InstanceStorageResourceTypeMediaStreams = "MEDIA_STREAMS"
28002
28003	// InstanceStorageResourceTypeContactTraceRecords is a InstanceStorageResourceType enum value
28004	InstanceStorageResourceTypeContactTraceRecords = "CONTACT_TRACE_RECORDS"
28005
28006	// InstanceStorageResourceTypeAgentEvents is a InstanceStorageResourceType enum value
28007	InstanceStorageResourceTypeAgentEvents = "AGENT_EVENTS"
28008)
28009
28010// InstanceStorageResourceType_Values returns all elements of the InstanceStorageResourceType enum
28011func InstanceStorageResourceType_Values() []string {
28012	return []string{
28013		InstanceStorageResourceTypeChatTranscripts,
28014		InstanceStorageResourceTypeCallRecordings,
28015		InstanceStorageResourceTypeScheduledReports,
28016		InstanceStorageResourceTypeMediaStreams,
28017		InstanceStorageResourceTypeContactTraceRecords,
28018		InstanceStorageResourceTypeAgentEvents,
28019	}
28020}
28021
28022const (
28023	// IntegrationTypeEvent is a IntegrationType enum value
28024	IntegrationTypeEvent = "EVENT"
28025)
28026
28027// IntegrationType_Values returns all elements of the IntegrationType enum
28028func IntegrationType_Values() []string {
28029	return []string{
28030		IntegrationTypeEvent,
28031	}
28032}
28033
28034const (
28035	// LexVersionV1 is a LexVersion enum value
28036	LexVersionV1 = "V1"
28037
28038	// LexVersionV2 is a LexVersion enum value
28039	LexVersionV2 = "V2"
28040)
28041
28042// LexVersion_Values returns all elements of the LexVersion enum
28043func LexVersion_Values() []string {
28044	return []string{
28045		LexVersionV1,
28046		LexVersionV2,
28047	}
28048}
28049
28050const (
28051	// PhoneNumberCountryCodeAf is a PhoneNumberCountryCode enum value
28052	PhoneNumberCountryCodeAf = "AF"
28053
28054	// PhoneNumberCountryCodeAl is a PhoneNumberCountryCode enum value
28055	PhoneNumberCountryCodeAl = "AL"
28056
28057	// PhoneNumberCountryCodeDz is a PhoneNumberCountryCode enum value
28058	PhoneNumberCountryCodeDz = "DZ"
28059
28060	// PhoneNumberCountryCodeAs is a PhoneNumberCountryCode enum value
28061	PhoneNumberCountryCodeAs = "AS"
28062
28063	// PhoneNumberCountryCodeAd is a PhoneNumberCountryCode enum value
28064	PhoneNumberCountryCodeAd = "AD"
28065
28066	// PhoneNumberCountryCodeAo is a PhoneNumberCountryCode enum value
28067	PhoneNumberCountryCodeAo = "AO"
28068
28069	// PhoneNumberCountryCodeAi is a PhoneNumberCountryCode enum value
28070	PhoneNumberCountryCodeAi = "AI"
28071
28072	// PhoneNumberCountryCodeAq is a PhoneNumberCountryCode enum value
28073	PhoneNumberCountryCodeAq = "AQ"
28074
28075	// PhoneNumberCountryCodeAg is a PhoneNumberCountryCode enum value
28076	PhoneNumberCountryCodeAg = "AG"
28077
28078	// PhoneNumberCountryCodeAr is a PhoneNumberCountryCode enum value
28079	PhoneNumberCountryCodeAr = "AR"
28080
28081	// PhoneNumberCountryCodeAm is a PhoneNumberCountryCode enum value
28082	PhoneNumberCountryCodeAm = "AM"
28083
28084	// PhoneNumberCountryCodeAw is a PhoneNumberCountryCode enum value
28085	PhoneNumberCountryCodeAw = "AW"
28086
28087	// PhoneNumberCountryCodeAu is a PhoneNumberCountryCode enum value
28088	PhoneNumberCountryCodeAu = "AU"
28089
28090	// PhoneNumberCountryCodeAt is a PhoneNumberCountryCode enum value
28091	PhoneNumberCountryCodeAt = "AT"
28092
28093	// PhoneNumberCountryCodeAz is a PhoneNumberCountryCode enum value
28094	PhoneNumberCountryCodeAz = "AZ"
28095
28096	// PhoneNumberCountryCodeBs is a PhoneNumberCountryCode enum value
28097	PhoneNumberCountryCodeBs = "BS"
28098
28099	// PhoneNumberCountryCodeBh is a PhoneNumberCountryCode enum value
28100	PhoneNumberCountryCodeBh = "BH"
28101
28102	// PhoneNumberCountryCodeBd is a PhoneNumberCountryCode enum value
28103	PhoneNumberCountryCodeBd = "BD"
28104
28105	// PhoneNumberCountryCodeBb is a PhoneNumberCountryCode enum value
28106	PhoneNumberCountryCodeBb = "BB"
28107
28108	// PhoneNumberCountryCodeBy is a PhoneNumberCountryCode enum value
28109	PhoneNumberCountryCodeBy = "BY"
28110
28111	// PhoneNumberCountryCodeBe is a PhoneNumberCountryCode enum value
28112	PhoneNumberCountryCodeBe = "BE"
28113
28114	// PhoneNumberCountryCodeBz is a PhoneNumberCountryCode enum value
28115	PhoneNumberCountryCodeBz = "BZ"
28116
28117	// PhoneNumberCountryCodeBj is a PhoneNumberCountryCode enum value
28118	PhoneNumberCountryCodeBj = "BJ"
28119
28120	// PhoneNumberCountryCodeBm is a PhoneNumberCountryCode enum value
28121	PhoneNumberCountryCodeBm = "BM"
28122
28123	// PhoneNumberCountryCodeBt is a PhoneNumberCountryCode enum value
28124	PhoneNumberCountryCodeBt = "BT"
28125
28126	// PhoneNumberCountryCodeBo is a PhoneNumberCountryCode enum value
28127	PhoneNumberCountryCodeBo = "BO"
28128
28129	// PhoneNumberCountryCodeBa is a PhoneNumberCountryCode enum value
28130	PhoneNumberCountryCodeBa = "BA"
28131
28132	// PhoneNumberCountryCodeBw is a PhoneNumberCountryCode enum value
28133	PhoneNumberCountryCodeBw = "BW"
28134
28135	// PhoneNumberCountryCodeBr is a PhoneNumberCountryCode enum value
28136	PhoneNumberCountryCodeBr = "BR"
28137
28138	// PhoneNumberCountryCodeIo is a PhoneNumberCountryCode enum value
28139	PhoneNumberCountryCodeIo = "IO"
28140
28141	// PhoneNumberCountryCodeVg is a PhoneNumberCountryCode enum value
28142	PhoneNumberCountryCodeVg = "VG"
28143
28144	// PhoneNumberCountryCodeBn is a PhoneNumberCountryCode enum value
28145	PhoneNumberCountryCodeBn = "BN"
28146
28147	// PhoneNumberCountryCodeBg is a PhoneNumberCountryCode enum value
28148	PhoneNumberCountryCodeBg = "BG"
28149
28150	// PhoneNumberCountryCodeBf is a PhoneNumberCountryCode enum value
28151	PhoneNumberCountryCodeBf = "BF"
28152
28153	// PhoneNumberCountryCodeBi is a PhoneNumberCountryCode enum value
28154	PhoneNumberCountryCodeBi = "BI"
28155
28156	// PhoneNumberCountryCodeKh is a PhoneNumberCountryCode enum value
28157	PhoneNumberCountryCodeKh = "KH"
28158
28159	// PhoneNumberCountryCodeCm is a PhoneNumberCountryCode enum value
28160	PhoneNumberCountryCodeCm = "CM"
28161
28162	// PhoneNumberCountryCodeCa is a PhoneNumberCountryCode enum value
28163	PhoneNumberCountryCodeCa = "CA"
28164
28165	// PhoneNumberCountryCodeCv is a PhoneNumberCountryCode enum value
28166	PhoneNumberCountryCodeCv = "CV"
28167
28168	// PhoneNumberCountryCodeKy is a PhoneNumberCountryCode enum value
28169	PhoneNumberCountryCodeKy = "KY"
28170
28171	// PhoneNumberCountryCodeCf is a PhoneNumberCountryCode enum value
28172	PhoneNumberCountryCodeCf = "CF"
28173
28174	// PhoneNumberCountryCodeTd is a PhoneNumberCountryCode enum value
28175	PhoneNumberCountryCodeTd = "TD"
28176
28177	// PhoneNumberCountryCodeCl is a PhoneNumberCountryCode enum value
28178	PhoneNumberCountryCodeCl = "CL"
28179
28180	// PhoneNumberCountryCodeCn is a PhoneNumberCountryCode enum value
28181	PhoneNumberCountryCodeCn = "CN"
28182
28183	// PhoneNumberCountryCodeCx is a PhoneNumberCountryCode enum value
28184	PhoneNumberCountryCodeCx = "CX"
28185
28186	// PhoneNumberCountryCodeCc is a PhoneNumberCountryCode enum value
28187	PhoneNumberCountryCodeCc = "CC"
28188
28189	// PhoneNumberCountryCodeCo is a PhoneNumberCountryCode enum value
28190	PhoneNumberCountryCodeCo = "CO"
28191
28192	// PhoneNumberCountryCodeKm is a PhoneNumberCountryCode enum value
28193	PhoneNumberCountryCodeKm = "KM"
28194
28195	// PhoneNumberCountryCodeCk is a PhoneNumberCountryCode enum value
28196	PhoneNumberCountryCodeCk = "CK"
28197
28198	// PhoneNumberCountryCodeCr is a PhoneNumberCountryCode enum value
28199	PhoneNumberCountryCodeCr = "CR"
28200
28201	// PhoneNumberCountryCodeHr is a PhoneNumberCountryCode enum value
28202	PhoneNumberCountryCodeHr = "HR"
28203
28204	// PhoneNumberCountryCodeCu is a PhoneNumberCountryCode enum value
28205	PhoneNumberCountryCodeCu = "CU"
28206
28207	// PhoneNumberCountryCodeCw is a PhoneNumberCountryCode enum value
28208	PhoneNumberCountryCodeCw = "CW"
28209
28210	// PhoneNumberCountryCodeCy is a PhoneNumberCountryCode enum value
28211	PhoneNumberCountryCodeCy = "CY"
28212
28213	// PhoneNumberCountryCodeCz is a PhoneNumberCountryCode enum value
28214	PhoneNumberCountryCodeCz = "CZ"
28215
28216	// PhoneNumberCountryCodeCd is a PhoneNumberCountryCode enum value
28217	PhoneNumberCountryCodeCd = "CD"
28218
28219	// PhoneNumberCountryCodeDk is a PhoneNumberCountryCode enum value
28220	PhoneNumberCountryCodeDk = "DK"
28221
28222	// PhoneNumberCountryCodeDj is a PhoneNumberCountryCode enum value
28223	PhoneNumberCountryCodeDj = "DJ"
28224
28225	// PhoneNumberCountryCodeDm is a PhoneNumberCountryCode enum value
28226	PhoneNumberCountryCodeDm = "DM"
28227
28228	// PhoneNumberCountryCodeDo is a PhoneNumberCountryCode enum value
28229	PhoneNumberCountryCodeDo = "DO"
28230
28231	// PhoneNumberCountryCodeTl is a PhoneNumberCountryCode enum value
28232	PhoneNumberCountryCodeTl = "TL"
28233
28234	// PhoneNumberCountryCodeEc is a PhoneNumberCountryCode enum value
28235	PhoneNumberCountryCodeEc = "EC"
28236
28237	// PhoneNumberCountryCodeEg is a PhoneNumberCountryCode enum value
28238	PhoneNumberCountryCodeEg = "EG"
28239
28240	// PhoneNumberCountryCodeSv is a PhoneNumberCountryCode enum value
28241	PhoneNumberCountryCodeSv = "SV"
28242
28243	// PhoneNumberCountryCodeGq is a PhoneNumberCountryCode enum value
28244	PhoneNumberCountryCodeGq = "GQ"
28245
28246	// PhoneNumberCountryCodeEr is a PhoneNumberCountryCode enum value
28247	PhoneNumberCountryCodeEr = "ER"
28248
28249	// PhoneNumberCountryCodeEe is a PhoneNumberCountryCode enum value
28250	PhoneNumberCountryCodeEe = "EE"
28251
28252	// PhoneNumberCountryCodeEt is a PhoneNumberCountryCode enum value
28253	PhoneNumberCountryCodeEt = "ET"
28254
28255	// PhoneNumberCountryCodeFk is a PhoneNumberCountryCode enum value
28256	PhoneNumberCountryCodeFk = "FK"
28257
28258	// PhoneNumberCountryCodeFo is a PhoneNumberCountryCode enum value
28259	PhoneNumberCountryCodeFo = "FO"
28260
28261	// PhoneNumberCountryCodeFj is a PhoneNumberCountryCode enum value
28262	PhoneNumberCountryCodeFj = "FJ"
28263
28264	// PhoneNumberCountryCodeFi is a PhoneNumberCountryCode enum value
28265	PhoneNumberCountryCodeFi = "FI"
28266
28267	// PhoneNumberCountryCodeFr is a PhoneNumberCountryCode enum value
28268	PhoneNumberCountryCodeFr = "FR"
28269
28270	// PhoneNumberCountryCodePf is a PhoneNumberCountryCode enum value
28271	PhoneNumberCountryCodePf = "PF"
28272
28273	// PhoneNumberCountryCodeGa is a PhoneNumberCountryCode enum value
28274	PhoneNumberCountryCodeGa = "GA"
28275
28276	// PhoneNumberCountryCodeGm is a PhoneNumberCountryCode enum value
28277	PhoneNumberCountryCodeGm = "GM"
28278
28279	// PhoneNumberCountryCodeGe is a PhoneNumberCountryCode enum value
28280	PhoneNumberCountryCodeGe = "GE"
28281
28282	// PhoneNumberCountryCodeDe is a PhoneNumberCountryCode enum value
28283	PhoneNumberCountryCodeDe = "DE"
28284
28285	// PhoneNumberCountryCodeGh is a PhoneNumberCountryCode enum value
28286	PhoneNumberCountryCodeGh = "GH"
28287
28288	// PhoneNumberCountryCodeGi is a PhoneNumberCountryCode enum value
28289	PhoneNumberCountryCodeGi = "GI"
28290
28291	// PhoneNumberCountryCodeGr is a PhoneNumberCountryCode enum value
28292	PhoneNumberCountryCodeGr = "GR"
28293
28294	// PhoneNumberCountryCodeGl is a PhoneNumberCountryCode enum value
28295	PhoneNumberCountryCodeGl = "GL"
28296
28297	// PhoneNumberCountryCodeGd is a PhoneNumberCountryCode enum value
28298	PhoneNumberCountryCodeGd = "GD"
28299
28300	// PhoneNumberCountryCodeGu is a PhoneNumberCountryCode enum value
28301	PhoneNumberCountryCodeGu = "GU"
28302
28303	// PhoneNumberCountryCodeGt is a PhoneNumberCountryCode enum value
28304	PhoneNumberCountryCodeGt = "GT"
28305
28306	// PhoneNumberCountryCodeGg is a PhoneNumberCountryCode enum value
28307	PhoneNumberCountryCodeGg = "GG"
28308
28309	// PhoneNumberCountryCodeGn is a PhoneNumberCountryCode enum value
28310	PhoneNumberCountryCodeGn = "GN"
28311
28312	// PhoneNumberCountryCodeGw is a PhoneNumberCountryCode enum value
28313	PhoneNumberCountryCodeGw = "GW"
28314
28315	// PhoneNumberCountryCodeGy is a PhoneNumberCountryCode enum value
28316	PhoneNumberCountryCodeGy = "GY"
28317
28318	// PhoneNumberCountryCodeHt is a PhoneNumberCountryCode enum value
28319	PhoneNumberCountryCodeHt = "HT"
28320
28321	// PhoneNumberCountryCodeHn is a PhoneNumberCountryCode enum value
28322	PhoneNumberCountryCodeHn = "HN"
28323
28324	// PhoneNumberCountryCodeHk is a PhoneNumberCountryCode enum value
28325	PhoneNumberCountryCodeHk = "HK"
28326
28327	// PhoneNumberCountryCodeHu is a PhoneNumberCountryCode enum value
28328	PhoneNumberCountryCodeHu = "HU"
28329
28330	// PhoneNumberCountryCodeIs is a PhoneNumberCountryCode enum value
28331	PhoneNumberCountryCodeIs = "IS"
28332
28333	// PhoneNumberCountryCodeIn is a PhoneNumberCountryCode enum value
28334	PhoneNumberCountryCodeIn = "IN"
28335
28336	// PhoneNumberCountryCodeId is a PhoneNumberCountryCode enum value
28337	PhoneNumberCountryCodeId = "ID"
28338
28339	// PhoneNumberCountryCodeIr is a PhoneNumberCountryCode enum value
28340	PhoneNumberCountryCodeIr = "IR"
28341
28342	// PhoneNumberCountryCodeIq is a PhoneNumberCountryCode enum value
28343	PhoneNumberCountryCodeIq = "IQ"
28344
28345	// PhoneNumberCountryCodeIe is a PhoneNumberCountryCode enum value
28346	PhoneNumberCountryCodeIe = "IE"
28347
28348	// PhoneNumberCountryCodeIm is a PhoneNumberCountryCode enum value
28349	PhoneNumberCountryCodeIm = "IM"
28350
28351	// PhoneNumberCountryCodeIl is a PhoneNumberCountryCode enum value
28352	PhoneNumberCountryCodeIl = "IL"
28353
28354	// PhoneNumberCountryCodeIt is a PhoneNumberCountryCode enum value
28355	PhoneNumberCountryCodeIt = "IT"
28356
28357	// PhoneNumberCountryCodeCi is a PhoneNumberCountryCode enum value
28358	PhoneNumberCountryCodeCi = "CI"
28359
28360	// PhoneNumberCountryCodeJm is a PhoneNumberCountryCode enum value
28361	PhoneNumberCountryCodeJm = "JM"
28362
28363	// PhoneNumberCountryCodeJp is a PhoneNumberCountryCode enum value
28364	PhoneNumberCountryCodeJp = "JP"
28365
28366	// PhoneNumberCountryCodeJe is a PhoneNumberCountryCode enum value
28367	PhoneNumberCountryCodeJe = "JE"
28368
28369	// PhoneNumberCountryCodeJo is a PhoneNumberCountryCode enum value
28370	PhoneNumberCountryCodeJo = "JO"
28371
28372	// PhoneNumberCountryCodeKz is a PhoneNumberCountryCode enum value
28373	PhoneNumberCountryCodeKz = "KZ"
28374
28375	// PhoneNumberCountryCodeKe is a PhoneNumberCountryCode enum value
28376	PhoneNumberCountryCodeKe = "KE"
28377
28378	// PhoneNumberCountryCodeKi is a PhoneNumberCountryCode enum value
28379	PhoneNumberCountryCodeKi = "KI"
28380
28381	// PhoneNumberCountryCodeKw is a PhoneNumberCountryCode enum value
28382	PhoneNumberCountryCodeKw = "KW"
28383
28384	// PhoneNumberCountryCodeKg is a PhoneNumberCountryCode enum value
28385	PhoneNumberCountryCodeKg = "KG"
28386
28387	// PhoneNumberCountryCodeLa is a PhoneNumberCountryCode enum value
28388	PhoneNumberCountryCodeLa = "LA"
28389
28390	// PhoneNumberCountryCodeLv is a PhoneNumberCountryCode enum value
28391	PhoneNumberCountryCodeLv = "LV"
28392
28393	// PhoneNumberCountryCodeLb is a PhoneNumberCountryCode enum value
28394	PhoneNumberCountryCodeLb = "LB"
28395
28396	// PhoneNumberCountryCodeLs is a PhoneNumberCountryCode enum value
28397	PhoneNumberCountryCodeLs = "LS"
28398
28399	// PhoneNumberCountryCodeLr is a PhoneNumberCountryCode enum value
28400	PhoneNumberCountryCodeLr = "LR"
28401
28402	// PhoneNumberCountryCodeLy is a PhoneNumberCountryCode enum value
28403	PhoneNumberCountryCodeLy = "LY"
28404
28405	// PhoneNumberCountryCodeLi is a PhoneNumberCountryCode enum value
28406	PhoneNumberCountryCodeLi = "LI"
28407
28408	// PhoneNumberCountryCodeLt is a PhoneNumberCountryCode enum value
28409	PhoneNumberCountryCodeLt = "LT"
28410
28411	// PhoneNumberCountryCodeLu is a PhoneNumberCountryCode enum value
28412	PhoneNumberCountryCodeLu = "LU"
28413
28414	// PhoneNumberCountryCodeMo is a PhoneNumberCountryCode enum value
28415	PhoneNumberCountryCodeMo = "MO"
28416
28417	// PhoneNumberCountryCodeMk is a PhoneNumberCountryCode enum value
28418	PhoneNumberCountryCodeMk = "MK"
28419
28420	// PhoneNumberCountryCodeMg is a PhoneNumberCountryCode enum value
28421	PhoneNumberCountryCodeMg = "MG"
28422
28423	// PhoneNumberCountryCodeMw is a PhoneNumberCountryCode enum value
28424	PhoneNumberCountryCodeMw = "MW"
28425
28426	// PhoneNumberCountryCodeMy is a PhoneNumberCountryCode enum value
28427	PhoneNumberCountryCodeMy = "MY"
28428
28429	// PhoneNumberCountryCodeMv is a PhoneNumberCountryCode enum value
28430	PhoneNumberCountryCodeMv = "MV"
28431
28432	// PhoneNumberCountryCodeMl is a PhoneNumberCountryCode enum value
28433	PhoneNumberCountryCodeMl = "ML"
28434
28435	// PhoneNumberCountryCodeMt is a PhoneNumberCountryCode enum value
28436	PhoneNumberCountryCodeMt = "MT"
28437
28438	// PhoneNumberCountryCodeMh is a PhoneNumberCountryCode enum value
28439	PhoneNumberCountryCodeMh = "MH"
28440
28441	// PhoneNumberCountryCodeMr is a PhoneNumberCountryCode enum value
28442	PhoneNumberCountryCodeMr = "MR"
28443
28444	// PhoneNumberCountryCodeMu is a PhoneNumberCountryCode enum value
28445	PhoneNumberCountryCodeMu = "MU"
28446
28447	// PhoneNumberCountryCodeYt is a PhoneNumberCountryCode enum value
28448	PhoneNumberCountryCodeYt = "YT"
28449
28450	// PhoneNumberCountryCodeMx is a PhoneNumberCountryCode enum value
28451	PhoneNumberCountryCodeMx = "MX"
28452
28453	// PhoneNumberCountryCodeFm is a PhoneNumberCountryCode enum value
28454	PhoneNumberCountryCodeFm = "FM"
28455
28456	// PhoneNumberCountryCodeMd is a PhoneNumberCountryCode enum value
28457	PhoneNumberCountryCodeMd = "MD"
28458
28459	// PhoneNumberCountryCodeMc is a PhoneNumberCountryCode enum value
28460	PhoneNumberCountryCodeMc = "MC"
28461
28462	// PhoneNumberCountryCodeMn is a PhoneNumberCountryCode enum value
28463	PhoneNumberCountryCodeMn = "MN"
28464
28465	// PhoneNumberCountryCodeMe is a PhoneNumberCountryCode enum value
28466	PhoneNumberCountryCodeMe = "ME"
28467
28468	// PhoneNumberCountryCodeMs is a PhoneNumberCountryCode enum value
28469	PhoneNumberCountryCodeMs = "MS"
28470
28471	// PhoneNumberCountryCodeMa is a PhoneNumberCountryCode enum value
28472	PhoneNumberCountryCodeMa = "MA"
28473
28474	// PhoneNumberCountryCodeMz is a PhoneNumberCountryCode enum value
28475	PhoneNumberCountryCodeMz = "MZ"
28476
28477	// PhoneNumberCountryCodeMm is a PhoneNumberCountryCode enum value
28478	PhoneNumberCountryCodeMm = "MM"
28479
28480	// PhoneNumberCountryCodeNa is a PhoneNumberCountryCode enum value
28481	PhoneNumberCountryCodeNa = "NA"
28482
28483	// PhoneNumberCountryCodeNr is a PhoneNumberCountryCode enum value
28484	PhoneNumberCountryCodeNr = "NR"
28485
28486	// PhoneNumberCountryCodeNp is a PhoneNumberCountryCode enum value
28487	PhoneNumberCountryCodeNp = "NP"
28488
28489	// PhoneNumberCountryCodeNl is a PhoneNumberCountryCode enum value
28490	PhoneNumberCountryCodeNl = "NL"
28491
28492	// PhoneNumberCountryCodeAn is a PhoneNumberCountryCode enum value
28493	PhoneNumberCountryCodeAn = "AN"
28494
28495	// PhoneNumberCountryCodeNc is a PhoneNumberCountryCode enum value
28496	PhoneNumberCountryCodeNc = "NC"
28497
28498	// PhoneNumberCountryCodeNz is a PhoneNumberCountryCode enum value
28499	PhoneNumberCountryCodeNz = "NZ"
28500
28501	// PhoneNumberCountryCodeNi is a PhoneNumberCountryCode enum value
28502	PhoneNumberCountryCodeNi = "NI"
28503
28504	// PhoneNumberCountryCodeNe is a PhoneNumberCountryCode enum value
28505	PhoneNumberCountryCodeNe = "NE"
28506
28507	// PhoneNumberCountryCodeNg is a PhoneNumberCountryCode enum value
28508	PhoneNumberCountryCodeNg = "NG"
28509
28510	// PhoneNumberCountryCodeNu is a PhoneNumberCountryCode enum value
28511	PhoneNumberCountryCodeNu = "NU"
28512
28513	// PhoneNumberCountryCodeKp is a PhoneNumberCountryCode enum value
28514	PhoneNumberCountryCodeKp = "KP"
28515
28516	// PhoneNumberCountryCodeMp is a PhoneNumberCountryCode enum value
28517	PhoneNumberCountryCodeMp = "MP"
28518
28519	// PhoneNumberCountryCodeNo is a PhoneNumberCountryCode enum value
28520	PhoneNumberCountryCodeNo = "NO"
28521
28522	// PhoneNumberCountryCodeOm is a PhoneNumberCountryCode enum value
28523	PhoneNumberCountryCodeOm = "OM"
28524
28525	// PhoneNumberCountryCodePk is a PhoneNumberCountryCode enum value
28526	PhoneNumberCountryCodePk = "PK"
28527
28528	// PhoneNumberCountryCodePw is a PhoneNumberCountryCode enum value
28529	PhoneNumberCountryCodePw = "PW"
28530
28531	// PhoneNumberCountryCodePa is a PhoneNumberCountryCode enum value
28532	PhoneNumberCountryCodePa = "PA"
28533
28534	// PhoneNumberCountryCodePg is a PhoneNumberCountryCode enum value
28535	PhoneNumberCountryCodePg = "PG"
28536
28537	// PhoneNumberCountryCodePy is a PhoneNumberCountryCode enum value
28538	PhoneNumberCountryCodePy = "PY"
28539
28540	// PhoneNumberCountryCodePe is a PhoneNumberCountryCode enum value
28541	PhoneNumberCountryCodePe = "PE"
28542
28543	// PhoneNumberCountryCodePh is a PhoneNumberCountryCode enum value
28544	PhoneNumberCountryCodePh = "PH"
28545
28546	// PhoneNumberCountryCodePn is a PhoneNumberCountryCode enum value
28547	PhoneNumberCountryCodePn = "PN"
28548
28549	// PhoneNumberCountryCodePl is a PhoneNumberCountryCode enum value
28550	PhoneNumberCountryCodePl = "PL"
28551
28552	// PhoneNumberCountryCodePt is a PhoneNumberCountryCode enum value
28553	PhoneNumberCountryCodePt = "PT"
28554
28555	// PhoneNumberCountryCodePr is a PhoneNumberCountryCode enum value
28556	PhoneNumberCountryCodePr = "PR"
28557
28558	// PhoneNumberCountryCodeQa is a PhoneNumberCountryCode enum value
28559	PhoneNumberCountryCodeQa = "QA"
28560
28561	// PhoneNumberCountryCodeCg is a PhoneNumberCountryCode enum value
28562	PhoneNumberCountryCodeCg = "CG"
28563
28564	// PhoneNumberCountryCodeRe is a PhoneNumberCountryCode enum value
28565	PhoneNumberCountryCodeRe = "RE"
28566
28567	// PhoneNumberCountryCodeRo is a PhoneNumberCountryCode enum value
28568	PhoneNumberCountryCodeRo = "RO"
28569
28570	// PhoneNumberCountryCodeRu is a PhoneNumberCountryCode enum value
28571	PhoneNumberCountryCodeRu = "RU"
28572
28573	// PhoneNumberCountryCodeRw is a PhoneNumberCountryCode enum value
28574	PhoneNumberCountryCodeRw = "RW"
28575
28576	// PhoneNumberCountryCodeBl is a PhoneNumberCountryCode enum value
28577	PhoneNumberCountryCodeBl = "BL"
28578
28579	// PhoneNumberCountryCodeSh is a PhoneNumberCountryCode enum value
28580	PhoneNumberCountryCodeSh = "SH"
28581
28582	// PhoneNumberCountryCodeKn is a PhoneNumberCountryCode enum value
28583	PhoneNumberCountryCodeKn = "KN"
28584
28585	// PhoneNumberCountryCodeLc is a PhoneNumberCountryCode enum value
28586	PhoneNumberCountryCodeLc = "LC"
28587
28588	// PhoneNumberCountryCodeMf is a PhoneNumberCountryCode enum value
28589	PhoneNumberCountryCodeMf = "MF"
28590
28591	// PhoneNumberCountryCodePm is a PhoneNumberCountryCode enum value
28592	PhoneNumberCountryCodePm = "PM"
28593
28594	// PhoneNumberCountryCodeVc is a PhoneNumberCountryCode enum value
28595	PhoneNumberCountryCodeVc = "VC"
28596
28597	// PhoneNumberCountryCodeWs is a PhoneNumberCountryCode enum value
28598	PhoneNumberCountryCodeWs = "WS"
28599
28600	// PhoneNumberCountryCodeSm is a PhoneNumberCountryCode enum value
28601	PhoneNumberCountryCodeSm = "SM"
28602
28603	// PhoneNumberCountryCodeSt is a PhoneNumberCountryCode enum value
28604	PhoneNumberCountryCodeSt = "ST"
28605
28606	// PhoneNumberCountryCodeSa is a PhoneNumberCountryCode enum value
28607	PhoneNumberCountryCodeSa = "SA"
28608
28609	// PhoneNumberCountryCodeSn is a PhoneNumberCountryCode enum value
28610	PhoneNumberCountryCodeSn = "SN"
28611
28612	// PhoneNumberCountryCodeRs is a PhoneNumberCountryCode enum value
28613	PhoneNumberCountryCodeRs = "RS"
28614
28615	// PhoneNumberCountryCodeSc is a PhoneNumberCountryCode enum value
28616	PhoneNumberCountryCodeSc = "SC"
28617
28618	// PhoneNumberCountryCodeSl is a PhoneNumberCountryCode enum value
28619	PhoneNumberCountryCodeSl = "SL"
28620
28621	// PhoneNumberCountryCodeSg is a PhoneNumberCountryCode enum value
28622	PhoneNumberCountryCodeSg = "SG"
28623
28624	// PhoneNumberCountryCodeSx is a PhoneNumberCountryCode enum value
28625	PhoneNumberCountryCodeSx = "SX"
28626
28627	// PhoneNumberCountryCodeSk is a PhoneNumberCountryCode enum value
28628	PhoneNumberCountryCodeSk = "SK"
28629
28630	// PhoneNumberCountryCodeSi is a PhoneNumberCountryCode enum value
28631	PhoneNumberCountryCodeSi = "SI"
28632
28633	// PhoneNumberCountryCodeSb is a PhoneNumberCountryCode enum value
28634	PhoneNumberCountryCodeSb = "SB"
28635
28636	// PhoneNumberCountryCodeSo is a PhoneNumberCountryCode enum value
28637	PhoneNumberCountryCodeSo = "SO"
28638
28639	// PhoneNumberCountryCodeZa is a PhoneNumberCountryCode enum value
28640	PhoneNumberCountryCodeZa = "ZA"
28641
28642	// PhoneNumberCountryCodeKr is a PhoneNumberCountryCode enum value
28643	PhoneNumberCountryCodeKr = "KR"
28644
28645	// PhoneNumberCountryCodeEs is a PhoneNumberCountryCode enum value
28646	PhoneNumberCountryCodeEs = "ES"
28647
28648	// PhoneNumberCountryCodeLk is a PhoneNumberCountryCode enum value
28649	PhoneNumberCountryCodeLk = "LK"
28650
28651	// PhoneNumberCountryCodeSd is a PhoneNumberCountryCode enum value
28652	PhoneNumberCountryCodeSd = "SD"
28653
28654	// PhoneNumberCountryCodeSr is a PhoneNumberCountryCode enum value
28655	PhoneNumberCountryCodeSr = "SR"
28656
28657	// PhoneNumberCountryCodeSj is a PhoneNumberCountryCode enum value
28658	PhoneNumberCountryCodeSj = "SJ"
28659
28660	// PhoneNumberCountryCodeSz is a PhoneNumberCountryCode enum value
28661	PhoneNumberCountryCodeSz = "SZ"
28662
28663	// PhoneNumberCountryCodeSe is a PhoneNumberCountryCode enum value
28664	PhoneNumberCountryCodeSe = "SE"
28665
28666	// PhoneNumberCountryCodeCh is a PhoneNumberCountryCode enum value
28667	PhoneNumberCountryCodeCh = "CH"
28668
28669	// PhoneNumberCountryCodeSy is a PhoneNumberCountryCode enum value
28670	PhoneNumberCountryCodeSy = "SY"
28671
28672	// PhoneNumberCountryCodeTw is a PhoneNumberCountryCode enum value
28673	PhoneNumberCountryCodeTw = "TW"
28674
28675	// PhoneNumberCountryCodeTj is a PhoneNumberCountryCode enum value
28676	PhoneNumberCountryCodeTj = "TJ"
28677
28678	// PhoneNumberCountryCodeTz is a PhoneNumberCountryCode enum value
28679	PhoneNumberCountryCodeTz = "TZ"
28680
28681	// PhoneNumberCountryCodeTh is a PhoneNumberCountryCode enum value
28682	PhoneNumberCountryCodeTh = "TH"
28683
28684	// PhoneNumberCountryCodeTg is a PhoneNumberCountryCode enum value
28685	PhoneNumberCountryCodeTg = "TG"
28686
28687	// PhoneNumberCountryCodeTk is a PhoneNumberCountryCode enum value
28688	PhoneNumberCountryCodeTk = "TK"
28689
28690	// PhoneNumberCountryCodeTo is a PhoneNumberCountryCode enum value
28691	PhoneNumberCountryCodeTo = "TO"
28692
28693	// PhoneNumberCountryCodeTt is a PhoneNumberCountryCode enum value
28694	PhoneNumberCountryCodeTt = "TT"
28695
28696	// PhoneNumberCountryCodeTn is a PhoneNumberCountryCode enum value
28697	PhoneNumberCountryCodeTn = "TN"
28698
28699	// PhoneNumberCountryCodeTr is a PhoneNumberCountryCode enum value
28700	PhoneNumberCountryCodeTr = "TR"
28701
28702	// PhoneNumberCountryCodeTm is a PhoneNumberCountryCode enum value
28703	PhoneNumberCountryCodeTm = "TM"
28704
28705	// PhoneNumberCountryCodeTc is a PhoneNumberCountryCode enum value
28706	PhoneNumberCountryCodeTc = "TC"
28707
28708	// PhoneNumberCountryCodeTv is a PhoneNumberCountryCode enum value
28709	PhoneNumberCountryCodeTv = "TV"
28710
28711	// PhoneNumberCountryCodeVi is a PhoneNumberCountryCode enum value
28712	PhoneNumberCountryCodeVi = "VI"
28713
28714	// PhoneNumberCountryCodeUg is a PhoneNumberCountryCode enum value
28715	PhoneNumberCountryCodeUg = "UG"
28716
28717	// PhoneNumberCountryCodeUa is a PhoneNumberCountryCode enum value
28718	PhoneNumberCountryCodeUa = "UA"
28719
28720	// PhoneNumberCountryCodeAe is a PhoneNumberCountryCode enum value
28721	PhoneNumberCountryCodeAe = "AE"
28722
28723	// PhoneNumberCountryCodeGb is a PhoneNumberCountryCode enum value
28724	PhoneNumberCountryCodeGb = "GB"
28725
28726	// PhoneNumberCountryCodeUs is a PhoneNumberCountryCode enum value
28727	PhoneNumberCountryCodeUs = "US"
28728
28729	// PhoneNumberCountryCodeUy is a PhoneNumberCountryCode enum value
28730	PhoneNumberCountryCodeUy = "UY"
28731
28732	// PhoneNumberCountryCodeUz is a PhoneNumberCountryCode enum value
28733	PhoneNumberCountryCodeUz = "UZ"
28734
28735	// PhoneNumberCountryCodeVu is a PhoneNumberCountryCode enum value
28736	PhoneNumberCountryCodeVu = "VU"
28737
28738	// PhoneNumberCountryCodeVa is a PhoneNumberCountryCode enum value
28739	PhoneNumberCountryCodeVa = "VA"
28740
28741	// PhoneNumberCountryCodeVe is a PhoneNumberCountryCode enum value
28742	PhoneNumberCountryCodeVe = "VE"
28743
28744	// PhoneNumberCountryCodeVn is a PhoneNumberCountryCode enum value
28745	PhoneNumberCountryCodeVn = "VN"
28746
28747	// PhoneNumberCountryCodeWf is a PhoneNumberCountryCode enum value
28748	PhoneNumberCountryCodeWf = "WF"
28749
28750	// PhoneNumberCountryCodeEh is a PhoneNumberCountryCode enum value
28751	PhoneNumberCountryCodeEh = "EH"
28752
28753	// PhoneNumberCountryCodeYe is a PhoneNumberCountryCode enum value
28754	PhoneNumberCountryCodeYe = "YE"
28755
28756	// PhoneNumberCountryCodeZm is a PhoneNumberCountryCode enum value
28757	PhoneNumberCountryCodeZm = "ZM"
28758
28759	// PhoneNumberCountryCodeZw is a PhoneNumberCountryCode enum value
28760	PhoneNumberCountryCodeZw = "ZW"
28761)
28762
28763// PhoneNumberCountryCode_Values returns all elements of the PhoneNumberCountryCode enum
28764func PhoneNumberCountryCode_Values() []string {
28765	return []string{
28766		PhoneNumberCountryCodeAf,
28767		PhoneNumberCountryCodeAl,
28768		PhoneNumberCountryCodeDz,
28769		PhoneNumberCountryCodeAs,
28770		PhoneNumberCountryCodeAd,
28771		PhoneNumberCountryCodeAo,
28772		PhoneNumberCountryCodeAi,
28773		PhoneNumberCountryCodeAq,
28774		PhoneNumberCountryCodeAg,
28775		PhoneNumberCountryCodeAr,
28776		PhoneNumberCountryCodeAm,
28777		PhoneNumberCountryCodeAw,
28778		PhoneNumberCountryCodeAu,
28779		PhoneNumberCountryCodeAt,
28780		PhoneNumberCountryCodeAz,
28781		PhoneNumberCountryCodeBs,
28782		PhoneNumberCountryCodeBh,
28783		PhoneNumberCountryCodeBd,
28784		PhoneNumberCountryCodeBb,
28785		PhoneNumberCountryCodeBy,
28786		PhoneNumberCountryCodeBe,
28787		PhoneNumberCountryCodeBz,
28788		PhoneNumberCountryCodeBj,
28789		PhoneNumberCountryCodeBm,
28790		PhoneNumberCountryCodeBt,
28791		PhoneNumberCountryCodeBo,
28792		PhoneNumberCountryCodeBa,
28793		PhoneNumberCountryCodeBw,
28794		PhoneNumberCountryCodeBr,
28795		PhoneNumberCountryCodeIo,
28796		PhoneNumberCountryCodeVg,
28797		PhoneNumberCountryCodeBn,
28798		PhoneNumberCountryCodeBg,
28799		PhoneNumberCountryCodeBf,
28800		PhoneNumberCountryCodeBi,
28801		PhoneNumberCountryCodeKh,
28802		PhoneNumberCountryCodeCm,
28803		PhoneNumberCountryCodeCa,
28804		PhoneNumberCountryCodeCv,
28805		PhoneNumberCountryCodeKy,
28806		PhoneNumberCountryCodeCf,
28807		PhoneNumberCountryCodeTd,
28808		PhoneNumberCountryCodeCl,
28809		PhoneNumberCountryCodeCn,
28810		PhoneNumberCountryCodeCx,
28811		PhoneNumberCountryCodeCc,
28812		PhoneNumberCountryCodeCo,
28813		PhoneNumberCountryCodeKm,
28814		PhoneNumberCountryCodeCk,
28815		PhoneNumberCountryCodeCr,
28816		PhoneNumberCountryCodeHr,
28817		PhoneNumberCountryCodeCu,
28818		PhoneNumberCountryCodeCw,
28819		PhoneNumberCountryCodeCy,
28820		PhoneNumberCountryCodeCz,
28821		PhoneNumberCountryCodeCd,
28822		PhoneNumberCountryCodeDk,
28823		PhoneNumberCountryCodeDj,
28824		PhoneNumberCountryCodeDm,
28825		PhoneNumberCountryCodeDo,
28826		PhoneNumberCountryCodeTl,
28827		PhoneNumberCountryCodeEc,
28828		PhoneNumberCountryCodeEg,
28829		PhoneNumberCountryCodeSv,
28830		PhoneNumberCountryCodeGq,
28831		PhoneNumberCountryCodeEr,
28832		PhoneNumberCountryCodeEe,
28833		PhoneNumberCountryCodeEt,
28834		PhoneNumberCountryCodeFk,
28835		PhoneNumberCountryCodeFo,
28836		PhoneNumberCountryCodeFj,
28837		PhoneNumberCountryCodeFi,
28838		PhoneNumberCountryCodeFr,
28839		PhoneNumberCountryCodePf,
28840		PhoneNumberCountryCodeGa,
28841		PhoneNumberCountryCodeGm,
28842		PhoneNumberCountryCodeGe,
28843		PhoneNumberCountryCodeDe,
28844		PhoneNumberCountryCodeGh,
28845		PhoneNumberCountryCodeGi,
28846		PhoneNumberCountryCodeGr,
28847		PhoneNumberCountryCodeGl,
28848		PhoneNumberCountryCodeGd,
28849		PhoneNumberCountryCodeGu,
28850		PhoneNumberCountryCodeGt,
28851		PhoneNumberCountryCodeGg,
28852		PhoneNumberCountryCodeGn,
28853		PhoneNumberCountryCodeGw,
28854		PhoneNumberCountryCodeGy,
28855		PhoneNumberCountryCodeHt,
28856		PhoneNumberCountryCodeHn,
28857		PhoneNumberCountryCodeHk,
28858		PhoneNumberCountryCodeHu,
28859		PhoneNumberCountryCodeIs,
28860		PhoneNumberCountryCodeIn,
28861		PhoneNumberCountryCodeId,
28862		PhoneNumberCountryCodeIr,
28863		PhoneNumberCountryCodeIq,
28864		PhoneNumberCountryCodeIe,
28865		PhoneNumberCountryCodeIm,
28866		PhoneNumberCountryCodeIl,
28867		PhoneNumberCountryCodeIt,
28868		PhoneNumberCountryCodeCi,
28869		PhoneNumberCountryCodeJm,
28870		PhoneNumberCountryCodeJp,
28871		PhoneNumberCountryCodeJe,
28872		PhoneNumberCountryCodeJo,
28873		PhoneNumberCountryCodeKz,
28874		PhoneNumberCountryCodeKe,
28875		PhoneNumberCountryCodeKi,
28876		PhoneNumberCountryCodeKw,
28877		PhoneNumberCountryCodeKg,
28878		PhoneNumberCountryCodeLa,
28879		PhoneNumberCountryCodeLv,
28880		PhoneNumberCountryCodeLb,
28881		PhoneNumberCountryCodeLs,
28882		PhoneNumberCountryCodeLr,
28883		PhoneNumberCountryCodeLy,
28884		PhoneNumberCountryCodeLi,
28885		PhoneNumberCountryCodeLt,
28886		PhoneNumberCountryCodeLu,
28887		PhoneNumberCountryCodeMo,
28888		PhoneNumberCountryCodeMk,
28889		PhoneNumberCountryCodeMg,
28890		PhoneNumberCountryCodeMw,
28891		PhoneNumberCountryCodeMy,
28892		PhoneNumberCountryCodeMv,
28893		PhoneNumberCountryCodeMl,
28894		PhoneNumberCountryCodeMt,
28895		PhoneNumberCountryCodeMh,
28896		PhoneNumberCountryCodeMr,
28897		PhoneNumberCountryCodeMu,
28898		PhoneNumberCountryCodeYt,
28899		PhoneNumberCountryCodeMx,
28900		PhoneNumberCountryCodeFm,
28901		PhoneNumberCountryCodeMd,
28902		PhoneNumberCountryCodeMc,
28903		PhoneNumberCountryCodeMn,
28904		PhoneNumberCountryCodeMe,
28905		PhoneNumberCountryCodeMs,
28906		PhoneNumberCountryCodeMa,
28907		PhoneNumberCountryCodeMz,
28908		PhoneNumberCountryCodeMm,
28909		PhoneNumberCountryCodeNa,
28910		PhoneNumberCountryCodeNr,
28911		PhoneNumberCountryCodeNp,
28912		PhoneNumberCountryCodeNl,
28913		PhoneNumberCountryCodeAn,
28914		PhoneNumberCountryCodeNc,
28915		PhoneNumberCountryCodeNz,
28916		PhoneNumberCountryCodeNi,
28917		PhoneNumberCountryCodeNe,
28918		PhoneNumberCountryCodeNg,
28919		PhoneNumberCountryCodeNu,
28920		PhoneNumberCountryCodeKp,
28921		PhoneNumberCountryCodeMp,
28922		PhoneNumberCountryCodeNo,
28923		PhoneNumberCountryCodeOm,
28924		PhoneNumberCountryCodePk,
28925		PhoneNumberCountryCodePw,
28926		PhoneNumberCountryCodePa,
28927		PhoneNumberCountryCodePg,
28928		PhoneNumberCountryCodePy,
28929		PhoneNumberCountryCodePe,
28930		PhoneNumberCountryCodePh,
28931		PhoneNumberCountryCodePn,
28932		PhoneNumberCountryCodePl,
28933		PhoneNumberCountryCodePt,
28934		PhoneNumberCountryCodePr,
28935		PhoneNumberCountryCodeQa,
28936		PhoneNumberCountryCodeCg,
28937		PhoneNumberCountryCodeRe,
28938		PhoneNumberCountryCodeRo,
28939		PhoneNumberCountryCodeRu,
28940		PhoneNumberCountryCodeRw,
28941		PhoneNumberCountryCodeBl,
28942		PhoneNumberCountryCodeSh,
28943		PhoneNumberCountryCodeKn,
28944		PhoneNumberCountryCodeLc,
28945		PhoneNumberCountryCodeMf,
28946		PhoneNumberCountryCodePm,
28947		PhoneNumberCountryCodeVc,
28948		PhoneNumberCountryCodeWs,
28949		PhoneNumberCountryCodeSm,
28950		PhoneNumberCountryCodeSt,
28951		PhoneNumberCountryCodeSa,
28952		PhoneNumberCountryCodeSn,
28953		PhoneNumberCountryCodeRs,
28954		PhoneNumberCountryCodeSc,
28955		PhoneNumberCountryCodeSl,
28956		PhoneNumberCountryCodeSg,
28957		PhoneNumberCountryCodeSx,
28958		PhoneNumberCountryCodeSk,
28959		PhoneNumberCountryCodeSi,
28960		PhoneNumberCountryCodeSb,
28961		PhoneNumberCountryCodeSo,
28962		PhoneNumberCountryCodeZa,
28963		PhoneNumberCountryCodeKr,
28964		PhoneNumberCountryCodeEs,
28965		PhoneNumberCountryCodeLk,
28966		PhoneNumberCountryCodeSd,
28967		PhoneNumberCountryCodeSr,
28968		PhoneNumberCountryCodeSj,
28969		PhoneNumberCountryCodeSz,
28970		PhoneNumberCountryCodeSe,
28971		PhoneNumberCountryCodeCh,
28972		PhoneNumberCountryCodeSy,
28973		PhoneNumberCountryCodeTw,
28974		PhoneNumberCountryCodeTj,
28975		PhoneNumberCountryCodeTz,
28976		PhoneNumberCountryCodeTh,
28977		PhoneNumberCountryCodeTg,
28978		PhoneNumberCountryCodeTk,
28979		PhoneNumberCountryCodeTo,
28980		PhoneNumberCountryCodeTt,
28981		PhoneNumberCountryCodeTn,
28982		PhoneNumberCountryCodeTr,
28983		PhoneNumberCountryCodeTm,
28984		PhoneNumberCountryCodeTc,
28985		PhoneNumberCountryCodeTv,
28986		PhoneNumberCountryCodeVi,
28987		PhoneNumberCountryCodeUg,
28988		PhoneNumberCountryCodeUa,
28989		PhoneNumberCountryCodeAe,
28990		PhoneNumberCountryCodeGb,
28991		PhoneNumberCountryCodeUs,
28992		PhoneNumberCountryCodeUy,
28993		PhoneNumberCountryCodeUz,
28994		PhoneNumberCountryCodeVu,
28995		PhoneNumberCountryCodeVa,
28996		PhoneNumberCountryCodeVe,
28997		PhoneNumberCountryCodeVn,
28998		PhoneNumberCountryCodeWf,
28999		PhoneNumberCountryCodeEh,
29000		PhoneNumberCountryCodeYe,
29001		PhoneNumberCountryCodeZm,
29002		PhoneNumberCountryCodeZw,
29003	}
29004}
29005
29006const (
29007	// PhoneNumberTypeTollFree is a PhoneNumberType enum value
29008	PhoneNumberTypeTollFree = "TOLL_FREE"
29009
29010	// PhoneNumberTypeDid is a PhoneNumberType enum value
29011	PhoneNumberTypeDid = "DID"
29012)
29013
29014// PhoneNumberType_Values returns all elements of the PhoneNumberType enum
29015func PhoneNumberType_Values() []string {
29016	return []string{
29017		PhoneNumberTypeTollFree,
29018		PhoneNumberTypeDid,
29019	}
29020}
29021
29022const (
29023	// PhoneTypeSoftPhone is a PhoneType enum value
29024	PhoneTypeSoftPhone = "SOFT_PHONE"
29025
29026	// PhoneTypeDeskPhone is a PhoneType enum value
29027	PhoneTypeDeskPhone = "DESK_PHONE"
29028)
29029
29030// PhoneType_Values returns all elements of the PhoneType enum
29031func PhoneType_Values() []string {
29032	return []string{
29033		PhoneTypeSoftPhone,
29034		PhoneTypeDeskPhone,
29035	}
29036}
29037
29038const (
29039	// QueueStatusEnabled is a QueueStatus enum value
29040	QueueStatusEnabled = "ENABLED"
29041
29042	// QueueStatusDisabled is a QueueStatus enum value
29043	QueueStatusDisabled = "DISABLED"
29044)
29045
29046// QueueStatus_Values returns all elements of the QueueStatus enum
29047func QueueStatus_Values() []string {
29048	return []string{
29049		QueueStatusEnabled,
29050		QueueStatusDisabled,
29051	}
29052}
29053
29054const (
29055	// QueueTypeStandard is a QueueType enum value
29056	QueueTypeStandard = "STANDARD"
29057
29058	// QueueTypeAgent is a QueueType enum value
29059	QueueTypeAgent = "AGENT"
29060)
29061
29062// QueueType_Values returns all elements of the QueueType enum
29063func QueueType_Values() []string {
29064	return []string{
29065		QueueTypeStandard,
29066		QueueTypeAgent,
29067	}
29068}
29069
29070const (
29071	// QuickConnectTypeUser is a QuickConnectType enum value
29072	QuickConnectTypeUser = "USER"
29073
29074	// QuickConnectTypeQueue is a QuickConnectType enum value
29075	QuickConnectTypeQueue = "QUEUE"
29076
29077	// QuickConnectTypePhoneNumber is a QuickConnectType enum value
29078	QuickConnectTypePhoneNumber = "PHONE_NUMBER"
29079)
29080
29081// QuickConnectType_Values returns all elements of the QuickConnectType enum
29082func QuickConnectType_Values() []string {
29083	return []string{
29084		QuickConnectTypeUser,
29085		QuickConnectTypeQueue,
29086		QuickConnectTypePhoneNumber,
29087	}
29088}
29089
29090const (
29091	// ReferenceTypeUrl is a ReferenceType enum value
29092	ReferenceTypeUrl = "URL"
29093)
29094
29095// ReferenceType_Values returns all elements of the ReferenceType enum
29096func ReferenceType_Values() []string {
29097	return []string{
29098		ReferenceTypeUrl,
29099	}
29100}
29101
29102const (
29103	// ResourceTypeContact is a ResourceType enum value
29104	ResourceTypeContact = "CONTACT"
29105
29106	// ResourceTypeContactFlow is a ResourceType enum value
29107	ResourceTypeContactFlow = "CONTACT_FLOW"
29108
29109	// ResourceTypeInstance is a ResourceType enum value
29110	ResourceTypeInstance = "INSTANCE"
29111
29112	// ResourceTypeParticipant is a ResourceType enum value
29113	ResourceTypeParticipant = "PARTICIPANT"
29114
29115	// ResourceTypeHierarchyLevel is a ResourceType enum value
29116	ResourceTypeHierarchyLevel = "HIERARCHY_LEVEL"
29117
29118	// ResourceTypeHierarchyGroup is a ResourceType enum value
29119	ResourceTypeHierarchyGroup = "HIERARCHY_GROUP"
29120
29121	// ResourceTypeUser is a ResourceType enum value
29122	ResourceTypeUser = "USER"
29123)
29124
29125// ResourceType_Values returns all elements of the ResourceType enum
29126func ResourceType_Values() []string {
29127	return []string{
29128		ResourceTypeContact,
29129		ResourceTypeContactFlow,
29130		ResourceTypeInstance,
29131		ResourceTypeParticipant,
29132		ResourceTypeHierarchyLevel,
29133		ResourceTypeHierarchyGroup,
29134		ResourceTypeUser,
29135	}
29136}
29137
29138const (
29139	// SourceTypeSalesforce is a SourceType enum value
29140	SourceTypeSalesforce = "SALESFORCE"
29141
29142	// SourceTypeZendesk is a SourceType enum value
29143	SourceTypeZendesk = "ZENDESK"
29144)
29145
29146// SourceType_Values returns all elements of the SourceType enum
29147func SourceType_Values() []string {
29148	return []string{
29149		SourceTypeSalesforce,
29150		SourceTypeZendesk,
29151	}
29152}
29153
29154const (
29155	// StatisticSum is a Statistic enum value
29156	StatisticSum = "SUM"
29157
29158	// StatisticMax is a Statistic enum value
29159	StatisticMax = "MAX"
29160
29161	// StatisticAvg is a Statistic enum value
29162	StatisticAvg = "AVG"
29163)
29164
29165// Statistic_Values returns all elements of the Statistic enum
29166func Statistic_Values() []string {
29167	return []string{
29168		StatisticSum,
29169		StatisticMax,
29170		StatisticAvg,
29171	}
29172}
29173
29174const (
29175	// StorageTypeS3 is a StorageType enum value
29176	StorageTypeS3 = "S3"
29177
29178	// StorageTypeKinesisVideoStream is a StorageType enum value
29179	StorageTypeKinesisVideoStream = "KINESIS_VIDEO_STREAM"
29180
29181	// StorageTypeKinesisStream is a StorageType enum value
29182	StorageTypeKinesisStream = "KINESIS_STREAM"
29183
29184	// StorageTypeKinesisFirehose is a StorageType enum value
29185	StorageTypeKinesisFirehose = "KINESIS_FIREHOSE"
29186)
29187
29188// StorageType_Values returns all elements of the StorageType enum
29189func StorageType_Values() []string {
29190	return []string{
29191		StorageTypeS3,
29192		StorageTypeKinesisVideoStream,
29193		StorageTypeKinesisStream,
29194		StorageTypeKinesisFirehose,
29195	}
29196}
29197
29198const (
29199	// UnitSeconds is a Unit enum value
29200	UnitSeconds = "SECONDS"
29201
29202	// UnitCount is a Unit enum value
29203	UnitCount = "COUNT"
29204
29205	// UnitPercent is a Unit enum value
29206	UnitPercent = "PERCENT"
29207)
29208
29209// Unit_Values returns all elements of the Unit enum
29210func Unit_Values() []string {
29211	return []string{
29212		UnitSeconds,
29213		UnitCount,
29214		UnitPercent,
29215	}
29216}
29217
29218const (
29219	// UseCaseTypeRulesEvaluation is a UseCaseType enum value
29220	UseCaseTypeRulesEvaluation = "RULES_EVALUATION"
29221)
29222
29223// UseCaseType_Values returns all elements of the UseCaseType enum
29224func UseCaseType_Values() []string {
29225	return []string{
29226		UseCaseTypeRulesEvaluation,
29227	}
29228}
29229
29230const (
29231	// VoiceRecordingTrackFromAgent is a VoiceRecordingTrack enum value
29232	VoiceRecordingTrackFromAgent = "FROM_AGENT"
29233
29234	// VoiceRecordingTrackToAgent is a VoiceRecordingTrack enum value
29235	VoiceRecordingTrackToAgent = "TO_AGENT"
29236
29237	// VoiceRecordingTrackAll is a VoiceRecordingTrack enum value
29238	VoiceRecordingTrackAll = "ALL"
29239)
29240
29241// VoiceRecordingTrack_Values returns all elements of the VoiceRecordingTrack enum
29242func VoiceRecordingTrack_Values() []string {
29243	return []string{
29244		VoiceRecordingTrackFromAgent,
29245		VoiceRecordingTrackToAgent,
29246		VoiceRecordingTrackAll,
29247	}
29248}
29249