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 opCreateUser = "CreateUser"
17
18// CreateUserRequest generates a "aws/request.Request" representing the
19// client's request for the CreateUser 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 CreateUser for more information on using the CreateUser
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 CreateUserRequest method.
34//    req, resp := client.CreateUserRequest(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/CreateUser
42func (c *Connect) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
43	op := &request.Operation{
44		Name:       opCreateUser,
45		HTTPMethod: "PUT",
46		HTTPPath:   "/users/{InstanceId}",
47	}
48
49	if input == nil {
50		input = &CreateUserInput{}
51	}
52
53	output = &CreateUserOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateUser API operation for Amazon Connect Service.
59//
60// Creates a user account for the specified Amazon Connect instance.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for Amazon Connect Service's
67// API operation CreateUser for usage and error information.
68//
69// Returned Error Types:
70//   * InvalidRequestException
71//   The request is not valid.
72//
73//   * InvalidParameterException
74//   One or more of the specified parameters are not valid.
75//
76//   * LimitExceededException
77//   The allowed limit for the resource has been exceeded.
78//
79//   * DuplicateResourceException
80//   A resource with the specified name already exists.
81//
82//   * ResourceNotFoundException
83//   The specified resource was not found.
84//
85//   * ThrottlingException
86//   The throttling limit has been exceeded.
87//
88//   * InternalServiceException
89//   Request processing failed due to an error or failure with the service.
90//
91// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser
92func (c *Connect) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
93	req, out := c.CreateUserRequest(input)
94	return out, req.Send()
95}
96
97// CreateUserWithContext is the same as CreateUser with the addition of
98// the ability to pass a context and additional request options.
99//
100// See CreateUser for details on how to use this API operation.
101//
102// The context must be non-nil and will be used for request cancellation. If
103// the context is nil a panic will occur. In the future the SDK may create
104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
105// for more information on using Contexts.
106func (c *Connect) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
107	req, out := c.CreateUserRequest(input)
108	req.SetContext(ctx)
109	req.ApplyOptions(opts...)
110	return out, req.Send()
111}
112
113const opDeleteUser = "DeleteUser"
114
115// DeleteUserRequest generates a "aws/request.Request" representing the
116// client's request for the DeleteUser operation. The "output" return
117// value will be populated with the request's response once the request completes
118// successfully.
119//
120// Use "Send" method on the returned Request to send the API call to the service.
121// the "output" return value is not valid until after Send returns without error.
122//
123// See DeleteUser for more information on using the DeleteUser
124// API call, and error handling.
125//
126// This method is useful when you want to inject custom logic or configuration
127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
128//
129//
130//    // Example sending a request using the DeleteUserRequest method.
131//    req, resp := client.DeleteUserRequest(params)
132//
133//    err := req.Send()
134//    if err == nil { // resp is now filled
135//        fmt.Println(resp)
136//    }
137//
138// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser
139func (c *Connect) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
140	op := &request.Operation{
141		Name:       opDeleteUser,
142		HTTPMethod: "DELETE",
143		HTTPPath:   "/users/{InstanceId}/{UserId}",
144	}
145
146	if input == nil {
147		input = &DeleteUserInput{}
148	}
149
150	output = &DeleteUserOutput{}
151	req = c.newRequest(op, input, output)
152	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
153	return
154}
155
156// DeleteUser API operation for Amazon Connect Service.
157//
158// Deletes a user account from the specified Amazon Connect instance.
159//
160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
161// with awserr.Error's Code and Message methods to get detailed information about
162// the error.
163//
164// See the AWS API reference guide for Amazon Connect Service's
165// API operation DeleteUser for usage and error information.
166//
167// Returned Error Types:
168//   * InvalidRequestException
169//   The request is not valid.
170//
171//   * InvalidParameterException
172//   One or more of the specified parameters are not valid.
173//
174//   * ResourceNotFoundException
175//   The specified resource was not found.
176//
177//   * ThrottlingException
178//   The throttling limit has been exceeded.
179//
180//   * InternalServiceException
181//   Request processing failed due to an error or failure with the service.
182//
183// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser
184func (c *Connect) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
185	req, out := c.DeleteUserRequest(input)
186	return out, req.Send()
187}
188
189// DeleteUserWithContext is the same as DeleteUser with the addition of
190// the ability to pass a context and additional request options.
191//
192// See DeleteUser for details on how to use this API operation.
193//
194// The context must be non-nil and will be used for request cancellation. If
195// the context is nil a panic will occur. In the future the SDK may create
196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
197// for more information on using Contexts.
198func (c *Connect) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
199	req, out := c.DeleteUserRequest(input)
200	req.SetContext(ctx)
201	req.ApplyOptions(opts...)
202	return out, req.Send()
203}
204
205const opDescribeUser = "DescribeUser"
206
207// DescribeUserRequest generates a "aws/request.Request" representing the
208// client's request for the DescribeUser operation. The "output" return
209// value will be populated with the request's response once the request completes
210// successfully.
211//
212// Use "Send" method on the returned Request to send the API call to the service.
213// the "output" return value is not valid until after Send returns without error.
214//
215// See DescribeUser for more information on using the DescribeUser
216// API call, and error handling.
217//
218// This method is useful when you want to inject custom logic or configuration
219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
220//
221//
222//    // Example sending a request using the DescribeUserRequest method.
223//    req, resp := client.DescribeUserRequest(params)
224//
225//    err := req.Send()
226//    if err == nil { // resp is now filled
227//        fmt.Println(resp)
228//    }
229//
230// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser
231func (c *Connect) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) {
232	op := &request.Operation{
233		Name:       opDescribeUser,
234		HTTPMethod: "GET",
235		HTTPPath:   "/users/{InstanceId}/{UserId}",
236	}
237
238	if input == nil {
239		input = &DescribeUserInput{}
240	}
241
242	output = &DescribeUserOutput{}
243	req = c.newRequest(op, input, output)
244	return
245}
246
247// DescribeUser API operation for Amazon Connect Service.
248//
249// Describes the specified user account. You can find the instance ID in the
250// console (it’s the final part of the ARN). The console does not display
251// the user IDs. Instead, list the users and note the IDs provided in the output.
252//
253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
254// with awserr.Error's Code and Message methods to get detailed information about
255// the error.
256//
257// See the AWS API reference guide for Amazon Connect Service's
258// API operation DescribeUser for usage and error information.
259//
260// Returned Error Types:
261//   * InvalidRequestException
262//   The request is not valid.
263//
264//   * InvalidParameterException
265//   One or more of the specified parameters are not valid.
266//
267//   * ResourceNotFoundException
268//   The specified resource was not found.
269//
270//   * ThrottlingException
271//   The throttling limit has been exceeded.
272//
273//   * InternalServiceException
274//   Request processing failed due to an error or failure with the service.
275//
276// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser
277func (c *Connect) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) {
278	req, out := c.DescribeUserRequest(input)
279	return out, req.Send()
280}
281
282// DescribeUserWithContext is the same as DescribeUser with the addition of
283// the ability to pass a context and additional request options.
284//
285// See DescribeUser for details on how to use this API operation.
286//
287// The context must be non-nil and will be used for request cancellation. If
288// the context is nil a panic will occur. In the future the SDK may create
289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
290// for more information on using Contexts.
291func (c *Connect) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) {
292	req, out := c.DescribeUserRequest(input)
293	req.SetContext(ctx)
294	req.ApplyOptions(opts...)
295	return out, req.Send()
296}
297
298const opDescribeUserHierarchyGroup = "DescribeUserHierarchyGroup"
299
300// DescribeUserHierarchyGroupRequest generates a "aws/request.Request" representing the
301// client's request for the DescribeUserHierarchyGroup operation. The "output" return
302// value will be populated with the request's response once the request completes
303// successfully.
304//
305// Use "Send" method on the returned Request to send the API call to the service.
306// the "output" return value is not valid until after Send returns without error.
307//
308// See DescribeUserHierarchyGroup for more information on using the DescribeUserHierarchyGroup
309// API call, and error handling.
310//
311// This method is useful when you want to inject custom logic or configuration
312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
313//
314//
315//    // Example sending a request using the DescribeUserHierarchyGroupRequest method.
316//    req, resp := client.DescribeUserHierarchyGroupRequest(params)
317//
318//    err := req.Send()
319//    if err == nil { // resp is now filled
320//        fmt.Println(resp)
321//    }
322//
323// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup
324func (c *Connect) DescribeUserHierarchyGroupRequest(input *DescribeUserHierarchyGroupInput) (req *request.Request, output *DescribeUserHierarchyGroupOutput) {
325	op := &request.Operation{
326		Name:       opDescribeUserHierarchyGroup,
327		HTTPMethod: "GET",
328		HTTPPath:   "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}",
329	}
330
331	if input == nil {
332		input = &DescribeUserHierarchyGroupInput{}
333	}
334
335	output = &DescribeUserHierarchyGroupOutput{}
336	req = c.newRequest(op, input, output)
337	return
338}
339
340// DescribeUserHierarchyGroup API operation for Amazon Connect Service.
341//
342// Describes the specified hierarchy group.
343//
344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
345// with awserr.Error's Code and Message methods to get detailed information about
346// the error.
347//
348// See the AWS API reference guide for Amazon Connect Service's
349// API operation DescribeUserHierarchyGroup for usage and error information.
350//
351// Returned Error Types:
352//   * InvalidRequestException
353//   The request is not valid.
354//
355//   * InvalidParameterException
356//   One or more of the specified parameters are not valid.
357//
358//   * ResourceNotFoundException
359//   The specified resource was not found.
360//
361//   * ThrottlingException
362//   The throttling limit has been exceeded.
363//
364//   * InternalServiceException
365//   Request processing failed due to an error or failure with the service.
366//
367// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup
368func (c *Connect) DescribeUserHierarchyGroup(input *DescribeUserHierarchyGroupInput) (*DescribeUserHierarchyGroupOutput, error) {
369	req, out := c.DescribeUserHierarchyGroupRequest(input)
370	return out, req.Send()
371}
372
373// DescribeUserHierarchyGroupWithContext is the same as DescribeUserHierarchyGroup with the addition of
374// the ability to pass a context and additional request options.
375//
376// See DescribeUserHierarchyGroup for details on how to use this API operation.
377//
378// The context must be non-nil and will be used for request cancellation. If
379// the context is nil a panic will occur. In the future the SDK may create
380// sub-contexts for http.Requests. See https://golang.org/pkg/context/
381// for more information on using Contexts.
382func (c *Connect) DescribeUserHierarchyGroupWithContext(ctx aws.Context, input *DescribeUserHierarchyGroupInput, opts ...request.Option) (*DescribeUserHierarchyGroupOutput, error) {
383	req, out := c.DescribeUserHierarchyGroupRequest(input)
384	req.SetContext(ctx)
385	req.ApplyOptions(opts...)
386	return out, req.Send()
387}
388
389const opDescribeUserHierarchyStructure = "DescribeUserHierarchyStructure"
390
391// DescribeUserHierarchyStructureRequest generates a "aws/request.Request" representing the
392// client's request for the DescribeUserHierarchyStructure operation. The "output" return
393// value will be populated with the request's response once the request completes
394// successfully.
395//
396// Use "Send" method on the returned Request to send the API call to the service.
397// the "output" return value is not valid until after Send returns without error.
398//
399// See DescribeUserHierarchyStructure for more information on using the DescribeUserHierarchyStructure
400// API call, and error handling.
401//
402// This method is useful when you want to inject custom logic or configuration
403// into the SDK's request lifecycle. Such as custom headers, or retry logic.
404//
405//
406//    // Example sending a request using the DescribeUserHierarchyStructureRequest method.
407//    req, resp := client.DescribeUserHierarchyStructureRequest(params)
408//
409//    err := req.Send()
410//    if err == nil { // resp is now filled
411//        fmt.Println(resp)
412//    }
413//
414// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure
415func (c *Connect) DescribeUserHierarchyStructureRequest(input *DescribeUserHierarchyStructureInput) (req *request.Request, output *DescribeUserHierarchyStructureOutput) {
416	op := &request.Operation{
417		Name:       opDescribeUserHierarchyStructure,
418		HTTPMethod: "GET",
419		HTTPPath:   "/user-hierarchy-structure/{InstanceId}",
420	}
421
422	if input == nil {
423		input = &DescribeUserHierarchyStructureInput{}
424	}
425
426	output = &DescribeUserHierarchyStructureOutput{}
427	req = c.newRequest(op, input, output)
428	return
429}
430
431// DescribeUserHierarchyStructure API operation for Amazon Connect Service.
432//
433// Describes the hierarchy structure of the specified Amazon Connect instance.
434//
435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
436// with awserr.Error's Code and Message methods to get detailed information about
437// the error.
438//
439// See the AWS API reference guide for Amazon Connect Service's
440// API operation DescribeUserHierarchyStructure for usage and error information.
441//
442// Returned Error Types:
443//   * InvalidRequestException
444//   The request is not valid.
445//
446//   * InvalidParameterException
447//   One or more of the specified parameters are not valid.
448//
449//   * ResourceNotFoundException
450//   The specified resource was not found.
451//
452//   * ThrottlingException
453//   The throttling limit has been exceeded.
454//
455//   * InternalServiceException
456//   Request processing failed due to an error or failure with the service.
457//
458// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure
459func (c *Connect) DescribeUserHierarchyStructure(input *DescribeUserHierarchyStructureInput) (*DescribeUserHierarchyStructureOutput, error) {
460	req, out := c.DescribeUserHierarchyStructureRequest(input)
461	return out, req.Send()
462}
463
464// DescribeUserHierarchyStructureWithContext is the same as DescribeUserHierarchyStructure with the addition of
465// the ability to pass a context and additional request options.
466//
467// See DescribeUserHierarchyStructure for details on how to use this API operation.
468//
469// The context must be non-nil and will be used for request cancellation. If
470// the context is nil a panic will occur. In the future the SDK may create
471// sub-contexts for http.Requests. See https://golang.org/pkg/context/
472// for more information on using Contexts.
473func (c *Connect) DescribeUserHierarchyStructureWithContext(ctx aws.Context, input *DescribeUserHierarchyStructureInput, opts ...request.Option) (*DescribeUserHierarchyStructureOutput, error) {
474	req, out := c.DescribeUserHierarchyStructureRequest(input)
475	req.SetContext(ctx)
476	req.ApplyOptions(opts...)
477	return out, req.Send()
478}
479
480const opGetContactAttributes = "GetContactAttributes"
481
482// GetContactAttributesRequest generates a "aws/request.Request" representing the
483// client's request for the GetContactAttributes operation. The "output" return
484// value will be populated with the request's response once the request completes
485// successfully.
486//
487// Use "Send" method on the returned Request to send the API call to the service.
488// the "output" return value is not valid until after Send returns without error.
489//
490// See GetContactAttributes for more information on using the GetContactAttributes
491// API call, and error handling.
492//
493// This method is useful when you want to inject custom logic or configuration
494// into the SDK's request lifecycle. Such as custom headers, or retry logic.
495//
496//
497//    // Example sending a request using the GetContactAttributesRequest method.
498//    req, resp := client.GetContactAttributesRequest(params)
499//
500//    err := req.Send()
501//    if err == nil { // resp is now filled
502//        fmt.Println(resp)
503//    }
504//
505// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes
506func (c *Connect) GetContactAttributesRequest(input *GetContactAttributesInput) (req *request.Request, output *GetContactAttributesOutput) {
507	op := &request.Operation{
508		Name:       opGetContactAttributes,
509		HTTPMethod: "GET",
510		HTTPPath:   "/contact/attributes/{InstanceId}/{InitialContactId}",
511	}
512
513	if input == nil {
514		input = &GetContactAttributesInput{}
515	}
516
517	output = &GetContactAttributesOutput{}
518	req = c.newRequest(op, input, output)
519	return
520}
521
522// GetContactAttributes API operation for Amazon Connect Service.
523//
524// Retrieves the contact attributes for the specified contact.
525//
526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
527// with awserr.Error's Code and Message methods to get detailed information about
528// the error.
529//
530// See the AWS API reference guide for Amazon Connect Service's
531// API operation GetContactAttributes for usage and error information.
532//
533// Returned Error Types:
534//   * InvalidRequestException
535//   The request is not valid.
536//
537//   * ResourceNotFoundException
538//   The specified resource was not found.
539//
540//   * InternalServiceException
541//   Request processing failed due to an error or failure with the service.
542//
543// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes
544func (c *Connect) GetContactAttributes(input *GetContactAttributesInput) (*GetContactAttributesOutput, error) {
545	req, out := c.GetContactAttributesRequest(input)
546	return out, req.Send()
547}
548
549// GetContactAttributesWithContext is the same as GetContactAttributes with the addition of
550// the ability to pass a context and additional request options.
551//
552// See GetContactAttributes for details on how to use this API operation.
553//
554// The context must be non-nil and will be used for request cancellation. If
555// the context is nil a panic will occur. In the future the SDK may create
556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
557// for more information on using Contexts.
558func (c *Connect) GetContactAttributesWithContext(ctx aws.Context, input *GetContactAttributesInput, opts ...request.Option) (*GetContactAttributesOutput, error) {
559	req, out := c.GetContactAttributesRequest(input)
560	req.SetContext(ctx)
561	req.ApplyOptions(opts...)
562	return out, req.Send()
563}
564
565const opGetCurrentMetricData = "GetCurrentMetricData"
566
567// GetCurrentMetricDataRequest generates a "aws/request.Request" representing the
568// client's request for the GetCurrentMetricData operation. The "output" return
569// value will be populated with the request's response once the request completes
570// successfully.
571//
572// Use "Send" method on the returned Request to send the API call to the service.
573// the "output" return value is not valid until after Send returns without error.
574//
575// See GetCurrentMetricData for more information on using the GetCurrentMetricData
576// API call, and error handling.
577//
578// This method is useful when you want to inject custom logic or configuration
579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
580//
581//
582//    // Example sending a request using the GetCurrentMetricDataRequest method.
583//    req, resp := client.GetCurrentMetricDataRequest(params)
584//
585//    err := req.Send()
586//    if err == nil { // resp is now filled
587//        fmt.Println(resp)
588//    }
589//
590// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData
591func (c *Connect) GetCurrentMetricDataRequest(input *GetCurrentMetricDataInput) (req *request.Request, output *GetCurrentMetricDataOutput) {
592	op := &request.Operation{
593		Name:       opGetCurrentMetricData,
594		HTTPMethod: "POST",
595		HTTPPath:   "/metrics/current/{InstanceId}",
596		Paginator: &request.Paginator{
597			InputTokens:     []string{"NextToken"},
598			OutputTokens:    []string{"NextToken"},
599			LimitToken:      "MaxResults",
600			TruncationToken: "",
601		},
602	}
603
604	if input == nil {
605		input = &GetCurrentMetricDataInput{}
606	}
607
608	output = &GetCurrentMetricDataOutput{}
609	req = c.newRequest(op, input, output)
610	return
611}
612
613// GetCurrentMetricData API operation for Amazon Connect Service.
614//
615// Gets the real-time metric data from the specified Amazon Connect instance.
616//
617// For more information, see Real-time Metrics Reports (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-reports.html)
618// in the Amazon Connect Administrator Guide.
619//
620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
621// with awserr.Error's Code and Message methods to get detailed information about
622// the error.
623//
624// See the AWS API reference guide for Amazon Connect Service's
625// API operation GetCurrentMetricData for usage and error information.
626//
627// Returned Error Types:
628//   * InvalidRequestException
629//   The request is not valid.
630//
631//   * InvalidParameterException
632//   One or more of the specified parameters are not valid.
633//
634//   * InternalServiceException
635//   Request processing failed due to an error or failure with the service.
636//
637//   * ThrottlingException
638//   The throttling limit has been exceeded.
639//
640//   * ResourceNotFoundException
641//   The specified resource was not found.
642//
643// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData
644func (c *Connect) GetCurrentMetricData(input *GetCurrentMetricDataInput) (*GetCurrentMetricDataOutput, error) {
645	req, out := c.GetCurrentMetricDataRequest(input)
646	return out, req.Send()
647}
648
649// GetCurrentMetricDataWithContext is the same as GetCurrentMetricData with the addition of
650// the ability to pass a context and additional request options.
651//
652// See GetCurrentMetricData for details on how to use this API operation.
653//
654// The context must be non-nil and will be used for request cancellation. If
655// the context is nil a panic will occur. In the future the SDK may create
656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
657// for more information on using Contexts.
658func (c *Connect) GetCurrentMetricDataWithContext(ctx aws.Context, input *GetCurrentMetricDataInput, opts ...request.Option) (*GetCurrentMetricDataOutput, error) {
659	req, out := c.GetCurrentMetricDataRequest(input)
660	req.SetContext(ctx)
661	req.ApplyOptions(opts...)
662	return out, req.Send()
663}
664
665// GetCurrentMetricDataPages iterates over the pages of a GetCurrentMetricData operation,
666// calling the "fn" function with the response data for each page. To stop
667// iterating, return false from the fn function.
668//
669// See GetCurrentMetricData method for more information on how to use this operation.
670//
671// Note: This operation can generate multiple requests to a service.
672//
673//    // Example iterating over at most 3 pages of a GetCurrentMetricData operation.
674//    pageNum := 0
675//    err := client.GetCurrentMetricDataPages(params,
676//        func(page *connect.GetCurrentMetricDataOutput, lastPage bool) bool {
677//            pageNum++
678//            fmt.Println(page)
679//            return pageNum <= 3
680//        })
681//
682func (c *Connect) GetCurrentMetricDataPages(input *GetCurrentMetricDataInput, fn func(*GetCurrentMetricDataOutput, bool) bool) error {
683	return c.GetCurrentMetricDataPagesWithContext(aws.BackgroundContext(), input, fn)
684}
685
686// GetCurrentMetricDataPagesWithContext same as GetCurrentMetricDataPages except
687// it takes a Context and allows setting request options on the pages.
688//
689// The context must be non-nil and will be used for request cancellation. If
690// the context is nil a panic will occur. In the future the SDK may create
691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
692// for more information on using Contexts.
693func (c *Connect) GetCurrentMetricDataPagesWithContext(ctx aws.Context, input *GetCurrentMetricDataInput, fn func(*GetCurrentMetricDataOutput, bool) bool, opts ...request.Option) error {
694	p := request.Pagination{
695		NewRequest: func() (*request.Request, error) {
696			var inCpy *GetCurrentMetricDataInput
697			if input != nil {
698				tmp := *input
699				inCpy = &tmp
700			}
701			req, _ := c.GetCurrentMetricDataRequest(inCpy)
702			req.SetContext(ctx)
703			req.ApplyOptions(opts...)
704			return req, nil
705		},
706	}
707
708	for p.Next() {
709		if !fn(p.Page().(*GetCurrentMetricDataOutput), !p.HasNextPage()) {
710			break
711		}
712	}
713
714	return p.Err()
715}
716
717const opGetFederationToken = "GetFederationToken"
718
719// GetFederationTokenRequest generates a "aws/request.Request" representing the
720// client's request for the GetFederationToken operation. The "output" return
721// value will be populated with the request's response once the request completes
722// successfully.
723//
724// Use "Send" method on the returned Request to send the API call to the service.
725// the "output" return value is not valid until after Send returns without error.
726//
727// See GetFederationToken for more information on using the GetFederationToken
728// API call, and error handling.
729//
730// This method is useful when you want to inject custom logic or configuration
731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
732//
733//
734//    // Example sending a request using the GetFederationTokenRequest method.
735//    req, resp := client.GetFederationTokenRequest(params)
736//
737//    err := req.Send()
738//    if err == nil { // resp is now filled
739//        fmt.Println(resp)
740//    }
741//
742// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken
743func (c *Connect) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) {
744	op := &request.Operation{
745		Name:       opGetFederationToken,
746		HTTPMethod: "GET",
747		HTTPPath:   "/user/federate/{InstanceId}",
748	}
749
750	if input == nil {
751		input = &GetFederationTokenInput{}
752	}
753
754	output = &GetFederationTokenOutput{}
755	req = c.newRequest(op, input, output)
756	return
757}
758
759// GetFederationToken API operation for Amazon Connect Service.
760//
761// Retrieves a token for federation.
762//
763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
764// with awserr.Error's Code and Message methods to get detailed information about
765// the error.
766//
767// See the AWS API reference guide for Amazon Connect Service's
768// API operation GetFederationToken for usage and error information.
769//
770// Returned Error Types:
771//   * InvalidRequestException
772//   The request is not valid.
773//
774//   * InvalidParameterException
775//   One or more of the specified parameters are not valid.
776//
777//   * ResourceNotFoundException
778//   The specified resource was not found.
779//
780//   * UserNotFoundException
781//   No user with the specified credentials was found in the Amazon Connect instance.
782//
783//   * InternalServiceException
784//   Request processing failed due to an error or failure with the service.
785//
786//   * DuplicateResourceException
787//   A resource with the specified name already exists.
788//
789// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken
790func (c *Connect) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) {
791	req, out := c.GetFederationTokenRequest(input)
792	return out, req.Send()
793}
794
795// GetFederationTokenWithContext is the same as GetFederationToken with the addition of
796// the ability to pass a context and additional request options.
797//
798// See GetFederationToken for details on how to use this API operation.
799//
800// The context must be non-nil and will be used for request cancellation. If
801// the context is nil a panic will occur. In the future the SDK may create
802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
803// for more information on using Contexts.
804func (c *Connect) GetFederationTokenWithContext(ctx aws.Context, input *GetFederationTokenInput, opts ...request.Option) (*GetFederationTokenOutput, error) {
805	req, out := c.GetFederationTokenRequest(input)
806	req.SetContext(ctx)
807	req.ApplyOptions(opts...)
808	return out, req.Send()
809}
810
811const opGetMetricData = "GetMetricData"
812
813// GetMetricDataRequest generates a "aws/request.Request" representing the
814// client's request for the GetMetricData operation. The "output" return
815// value will be populated with the request's response once the request completes
816// successfully.
817//
818// Use "Send" method on the returned Request to send the API call to the service.
819// the "output" return value is not valid until after Send returns without error.
820//
821// See GetMetricData for more information on using the GetMetricData
822// API call, and error handling.
823//
824// This method is useful when you want to inject custom logic or configuration
825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
826//
827//
828//    // Example sending a request using the GetMetricDataRequest method.
829//    req, resp := client.GetMetricDataRequest(params)
830//
831//    err := req.Send()
832//    if err == nil { // resp is now filled
833//        fmt.Println(resp)
834//    }
835//
836// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData
837func (c *Connect) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) {
838	op := &request.Operation{
839		Name:       opGetMetricData,
840		HTTPMethod: "POST",
841		HTTPPath:   "/metrics/historical/{InstanceId}",
842		Paginator: &request.Paginator{
843			InputTokens:     []string{"NextToken"},
844			OutputTokens:    []string{"NextToken"},
845			LimitToken:      "MaxResults",
846			TruncationToken: "",
847		},
848	}
849
850	if input == nil {
851		input = &GetMetricDataInput{}
852	}
853
854	output = &GetMetricDataOutput{}
855	req = c.newRequest(op, input, output)
856	return
857}
858
859// GetMetricData API operation for Amazon Connect Service.
860//
861// Gets historical metric data from the specified Amazon Connect instance.
862//
863// For more information, see Historical Metrics Reports (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics.html)
864// in the Amazon Connect Administrator Guide.
865//
866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
867// with awserr.Error's Code and Message methods to get detailed information about
868// the error.
869//
870// See the AWS API reference guide for Amazon Connect Service's
871// API operation GetMetricData for usage and error information.
872//
873// Returned Error Types:
874//   * InvalidRequestException
875//   The request is not valid.
876//
877//   * InvalidParameterException
878//   One or more of the specified parameters are not valid.
879//
880//   * InternalServiceException
881//   Request processing failed due to an error or failure with the service.
882//
883//   * ThrottlingException
884//   The throttling limit has been exceeded.
885//
886//   * ResourceNotFoundException
887//   The specified resource was not found.
888//
889// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData
890func (c *Connect) GetMetricData(input *GetMetricDataInput) (*GetMetricDataOutput, error) {
891	req, out := c.GetMetricDataRequest(input)
892	return out, req.Send()
893}
894
895// GetMetricDataWithContext is the same as GetMetricData with the addition of
896// the ability to pass a context and additional request options.
897//
898// See GetMetricData for details on how to use this API operation.
899//
900// The context must be non-nil and will be used for request cancellation. If
901// the context is nil a panic will occur. In the future the SDK may create
902// sub-contexts for http.Requests. See https://golang.org/pkg/context/
903// for more information on using Contexts.
904func (c *Connect) GetMetricDataWithContext(ctx aws.Context, input *GetMetricDataInput, opts ...request.Option) (*GetMetricDataOutput, error) {
905	req, out := c.GetMetricDataRequest(input)
906	req.SetContext(ctx)
907	req.ApplyOptions(opts...)
908	return out, req.Send()
909}
910
911// GetMetricDataPages iterates over the pages of a GetMetricData operation,
912// calling the "fn" function with the response data for each page. To stop
913// iterating, return false from the fn function.
914//
915// See GetMetricData method for more information on how to use this operation.
916//
917// Note: This operation can generate multiple requests to a service.
918//
919//    // Example iterating over at most 3 pages of a GetMetricData operation.
920//    pageNum := 0
921//    err := client.GetMetricDataPages(params,
922//        func(page *connect.GetMetricDataOutput, lastPage bool) bool {
923//            pageNum++
924//            fmt.Println(page)
925//            return pageNum <= 3
926//        })
927//
928func (c *Connect) GetMetricDataPages(input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool) error {
929	return c.GetMetricDataPagesWithContext(aws.BackgroundContext(), input, fn)
930}
931
932// GetMetricDataPagesWithContext same as GetMetricDataPages except
933// it takes a Context and allows setting request options on the pages.
934//
935// The context must be non-nil and will be used for request cancellation. If
936// the context is nil a panic will occur. In the future the SDK may create
937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
938// for more information on using Contexts.
939func (c *Connect) GetMetricDataPagesWithContext(ctx aws.Context, input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool, opts ...request.Option) error {
940	p := request.Pagination{
941		NewRequest: func() (*request.Request, error) {
942			var inCpy *GetMetricDataInput
943			if input != nil {
944				tmp := *input
945				inCpy = &tmp
946			}
947			req, _ := c.GetMetricDataRequest(inCpy)
948			req.SetContext(ctx)
949			req.ApplyOptions(opts...)
950			return req, nil
951		},
952	}
953
954	for p.Next() {
955		if !fn(p.Page().(*GetMetricDataOutput), !p.HasNextPage()) {
956			break
957		}
958	}
959
960	return p.Err()
961}
962
963const opListContactFlows = "ListContactFlows"
964
965// ListContactFlowsRequest generates a "aws/request.Request" representing the
966// client's request for the ListContactFlows operation. The "output" return
967// value will be populated with the request's response once the request completes
968// successfully.
969//
970// Use "Send" method on the returned Request to send the API call to the service.
971// the "output" return value is not valid until after Send returns without error.
972//
973// See ListContactFlows for more information on using the ListContactFlows
974// API call, and error handling.
975//
976// This method is useful when you want to inject custom logic or configuration
977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
978//
979//
980//    // Example sending a request using the ListContactFlowsRequest method.
981//    req, resp := client.ListContactFlowsRequest(params)
982//
983//    err := req.Send()
984//    if err == nil { // resp is now filled
985//        fmt.Println(resp)
986//    }
987//
988// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows
989func (c *Connect) ListContactFlowsRequest(input *ListContactFlowsInput) (req *request.Request, output *ListContactFlowsOutput) {
990	op := &request.Operation{
991		Name:       opListContactFlows,
992		HTTPMethod: "GET",
993		HTTPPath:   "/contact-flows-summary/{InstanceId}",
994		Paginator: &request.Paginator{
995			InputTokens:     []string{"NextToken"},
996			OutputTokens:    []string{"NextToken"},
997			LimitToken:      "MaxResults",
998			TruncationToken: "",
999		},
1000	}
1001
1002	if input == nil {
1003		input = &ListContactFlowsInput{}
1004	}
1005
1006	output = &ListContactFlowsOutput{}
1007	req = c.newRequest(op, input, output)
1008	return
1009}
1010
1011// ListContactFlows API operation for Amazon Connect Service.
1012//
1013// Provides information about the contact flows for the specified Amazon Connect
1014// instance.
1015//
1016// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1017// with awserr.Error's Code and Message methods to get detailed information about
1018// the error.
1019//
1020// See the AWS API reference guide for Amazon Connect Service's
1021// API operation ListContactFlows for usage and error information.
1022//
1023// Returned Error Types:
1024//   * InvalidRequestException
1025//   The request is not valid.
1026//
1027//   * InvalidParameterException
1028//   One or more of the specified parameters are not valid.
1029//
1030//   * ResourceNotFoundException
1031//   The specified resource was not found.
1032//
1033//   * ThrottlingException
1034//   The throttling limit has been exceeded.
1035//
1036//   * InternalServiceException
1037//   Request processing failed due to an error or failure with the service.
1038//
1039// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows
1040func (c *Connect) ListContactFlows(input *ListContactFlowsInput) (*ListContactFlowsOutput, error) {
1041	req, out := c.ListContactFlowsRequest(input)
1042	return out, req.Send()
1043}
1044
1045// ListContactFlowsWithContext is the same as ListContactFlows with the addition of
1046// the ability to pass a context and additional request options.
1047//
1048// See ListContactFlows for details on how to use this API operation.
1049//
1050// The context must be non-nil and will be used for request cancellation. If
1051// the context is nil a panic will occur. In the future the SDK may create
1052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1053// for more information on using Contexts.
1054func (c *Connect) ListContactFlowsWithContext(ctx aws.Context, input *ListContactFlowsInput, opts ...request.Option) (*ListContactFlowsOutput, error) {
1055	req, out := c.ListContactFlowsRequest(input)
1056	req.SetContext(ctx)
1057	req.ApplyOptions(opts...)
1058	return out, req.Send()
1059}
1060
1061// ListContactFlowsPages iterates over the pages of a ListContactFlows operation,
1062// calling the "fn" function with the response data for each page. To stop
1063// iterating, return false from the fn function.
1064//
1065// See ListContactFlows method for more information on how to use this operation.
1066//
1067// Note: This operation can generate multiple requests to a service.
1068//
1069//    // Example iterating over at most 3 pages of a ListContactFlows operation.
1070//    pageNum := 0
1071//    err := client.ListContactFlowsPages(params,
1072//        func(page *connect.ListContactFlowsOutput, lastPage bool) bool {
1073//            pageNum++
1074//            fmt.Println(page)
1075//            return pageNum <= 3
1076//        })
1077//
1078func (c *Connect) ListContactFlowsPages(input *ListContactFlowsInput, fn func(*ListContactFlowsOutput, bool) bool) error {
1079	return c.ListContactFlowsPagesWithContext(aws.BackgroundContext(), input, fn)
1080}
1081
1082// ListContactFlowsPagesWithContext same as ListContactFlowsPages except
1083// it takes a Context and allows setting request options on the pages.
1084//
1085// The context must be non-nil and will be used for request cancellation. If
1086// the context is nil a panic will occur. In the future the SDK may create
1087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1088// for more information on using Contexts.
1089func (c *Connect) ListContactFlowsPagesWithContext(ctx aws.Context, input *ListContactFlowsInput, fn func(*ListContactFlowsOutput, bool) bool, opts ...request.Option) error {
1090	p := request.Pagination{
1091		NewRequest: func() (*request.Request, error) {
1092			var inCpy *ListContactFlowsInput
1093			if input != nil {
1094				tmp := *input
1095				inCpy = &tmp
1096			}
1097			req, _ := c.ListContactFlowsRequest(inCpy)
1098			req.SetContext(ctx)
1099			req.ApplyOptions(opts...)
1100			return req, nil
1101		},
1102	}
1103
1104	for p.Next() {
1105		if !fn(p.Page().(*ListContactFlowsOutput), !p.HasNextPage()) {
1106			break
1107		}
1108	}
1109
1110	return p.Err()
1111}
1112
1113const opListHoursOfOperations = "ListHoursOfOperations"
1114
1115// ListHoursOfOperationsRequest generates a "aws/request.Request" representing the
1116// client's request for the ListHoursOfOperations operation. The "output" return
1117// value will be populated with the request's response once the request completes
1118// successfully.
1119//
1120// Use "Send" method on the returned Request to send the API call to the service.
1121// the "output" return value is not valid until after Send returns without error.
1122//
1123// See ListHoursOfOperations for more information on using the ListHoursOfOperations
1124// API call, and error handling.
1125//
1126// This method is useful when you want to inject custom logic or configuration
1127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1128//
1129//
1130//    // Example sending a request using the ListHoursOfOperationsRequest method.
1131//    req, resp := client.ListHoursOfOperationsRequest(params)
1132//
1133//    err := req.Send()
1134//    if err == nil { // resp is now filled
1135//        fmt.Println(resp)
1136//    }
1137//
1138// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations
1139func (c *Connect) ListHoursOfOperationsRequest(input *ListHoursOfOperationsInput) (req *request.Request, output *ListHoursOfOperationsOutput) {
1140	op := &request.Operation{
1141		Name:       opListHoursOfOperations,
1142		HTTPMethod: "GET",
1143		HTTPPath:   "/hours-of-operations-summary/{InstanceId}",
1144		Paginator: &request.Paginator{
1145			InputTokens:     []string{"NextToken"},
1146			OutputTokens:    []string{"NextToken"},
1147			LimitToken:      "MaxResults",
1148			TruncationToken: "",
1149		},
1150	}
1151
1152	if input == nil {
1153		input = &ListHoursOfOperationsInput{}
1154	}
1155
1156	output = &ListHoursOfOperationsOutput{}
1157	req = c.newRequest(op, input, output)
1158	return
1159}
1160
1161// ListHoursOfOperations API operation for Amazon Connect Service.
1162//
1163// Provides information about the hours of operation for the specified Amazon
1164// Connect instance.
1165//
1166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1167// with awserr.Error's Code and Message methods to get detailed information about
1168// the error.
1169//
1170// See the AWS API reference guide for Amazon Connect Service's
1171// API operation ListHoursOfOperations for usage and error information.
1172//
1173// Returned Error Types:
1174//   * InvalidRequestException
1175//   The request is not valid.
1176//
1177//   * InvalidParameterException
1178//   One or more of the specified parameters are not valid.
1179//
1180//   * ResourceNotFoundException
1181//   The specified resource was not found.
1182//
1183//   * ThrottlingException
1184//   The throttling limit has been exceeded.
1185//
1186//   * InternalServiceException
1187//   Request processing failed due to an error or failure with the service.
1188//
1189// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations
1190func (c *Connect) ListHoursOfOperations(input *ListHoursOfOperationsInput) (*ListHoursOfOperationsOutput, error) {
1191	req, out := c.ListHoursOfOperationsRequest(input)
1192	return out, req.Send()
1193}
1194
1195// ListHoursOfOperationsWithContext is the same as ListHoursOfOperations with the addition of
1196// the ability to pass a context and additional request options.
1197//
1198// See ListHoursOfOperations for details on how to use this API operation.
1199//
1200// The context must be non-nil and will be used for request cancellation. If
1201// the context is nil a panic will occur. In the future the SDK may create
1202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1203// for more information on using Contexts.
1204func (c *Connect) ListHoursOfOperationsWithContext(ctx aws.Context, input *ListHoursOfOperationsInput, opts ...request.Option) (*ListHoursOfOperationsOutput, error) {
1205	req, out := c.ListHoursOfOperationsRequest(input)
1206	req.SetContext(ctx)
1207	req.ApplyOptions(opts...)
1208	return out, req.Send()
1209}
1210
1211// ListHoursOfOperationsPages iterates over the pages of a ListHoursOfOperations operation,
1212// calling the "fn" function with the response data for each page. To stop
1213// iterating, return false from the fn function.
1214//
1215// See ListHoursOfOperations method for more information on how to use this operation.
1216//
1217// Note: This operation can generate multiple requests to a service.
1218//
1219//    // Example iterating over at most 3 pages of a ListHoursOfOperations operation.
1220//    pageNum := 0
1221//    err := client.ListHoursOfOperationsPages(params,
1222//        func(page *connect.ListHoursOfOperationsOutput, lastPage bool) bool {
1223//            pageNum++
1224//            fmt.Println(page)
1225//            return pageNum <= 3
1226//        })
1227//
1228func (c *Connect) ListHoursOfOperationsPages(input *ListHoursOfOperationsInput, fn func(*ListHoursOfOperationsOutput, bool) bool) error {
1229	return c.ListHoursOfOperationsPagesWithContext(aws.BackgroundContext(), input, fn)
1230}
1231
1232// ListHoursOfOperationsPagesWithContext same as ListHoursOfOperationsPages except
1233// it takes a Context and allows setting request options on the pages.
1234//
1235// The context must be non-nil and will be used for request cancellation. If
1236// the context is nil a panic will occur. In the future the SDK may create
1237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1238// for more information on using Contexts.
1239func (c *Connect) ListHoursOfOperationsPagesWithContext(ctx aws.Context, input *ListHoursOfOperationsInput, fn func(*ListHoursOfOperationsOutput, bool) bool, opts ...request.Option) error {
1240	p := request.Pagination{
1241		NewRequest: func() (*request.Request, error) {
1242			var inCpy *ListHoursOfOperationsInput
1243			if input != nil {
1244				tmp := *input
1245				inCpy = &tmp
1246			}
1247			req, _ := c.ListHoursOfOperationsRequest(inCpy)
1248			req.SetContext(ctx)
1249			req.ApplyOptions(opts...)
1250			return req, nil
1251		},
1252	}
1253
1254	for p.Next() {
1255		if !fn(p.Page().(*ListHoursOfOperationsOutput), !p.HasNextPage()) {
1256			break
1257		}
1258	}
1259
1260	return p.Err()
1261}
1262
1263const opListPhoneNumbers = "ListPhoneNumbers"
1264
1265// ListPhoneNumbersRequest generates a "aws/request.Request" representing the
1266// client's request for the ListPhoneNumbers operation. The "output" return
1267// value will be populated with the request's response once the request completes
1268// successfully.
1269//
1270// Use "Send" method on the returned Request to send the API call to the service.
1271// the "output" return value is not valid until after Send returns without error.
1272//
1273// See ListPhoneNumbers for more information on using the ListPhoneNumbers
1274// API call, and error handling.
1275//
1276// This method is useful when you want to inject custom logic or configuration
1277// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1278//
1279//
1280//    // Example sending a request using the ListPhoneNumbersRequest method.
1281//    req, resp := client.ListPhoneNumbersRequest(params)
1282//
1283//    err := req.Send()
1284//    if err == nil { // resp is now filled
1285//        fmt.Println(resp)
1286//    }
1287//
1288// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers
1289func (c *Connect) ListPhoneNumbersRequest(input *ListPhoneNumbersInput) (req *request.Request, output *ListPhoneNumbersOutput) {
1290	op := &request.Operation{
1291		Name:       opListPhoneNumbers,
1292		HTTPMethod: "GET",
1293		HTTPPath:   "/phone-numbers-summary/{InstanceId}",
1294		Paginator: &request.Paginator{
1295			InputTokens:     []string{"NextToken"},
1296			OutputTokens:    []string{"NextToken"},
1297			LimitToken:      "MaxResults",
1298			TruncationToken: "",
1299		},
1300	}
1301
1302	if input == nil {
1303		input = &ListPhoneNumbersInput{}
1304	}
1305
1306	output = &ListPhoneNumbersOutput{}
1307	req = c.newRequest(op, input, output)
1308	return
1309}
1310
1311// ListPhoneNumbers API operation for Amazon Connect Service.
1312//
1313// Provides information about the phone numbers for the specified Amazon Connect
1314// instance.
1315//
1316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1317// with awserr.Error's Code and Message methods to get detailed information about
1318// the error.
1319//
1320// See the AWS API reference guide for Amazon Connect Service's
1321// API operation ListPhoneNumbers for usage and error information.
1322//
1323// Returned Error Types:
1324//   * InvalidRequestException
1325//   The request is not valid.
1326//
1327//   * InvalidParameterException
1328//   One or more of the specified parameters are not valid.
1329//
1330//   * ResourceNotFoundException
1331//   The specified resource was not found.
1332//
1333//   * ThrottlingException
1334//   The throttling limit has been exceeded.
1335//
1336//   * InternalServiceException
1337//   Request processing failed due to an error or failure with the service.
1338//
1339// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers
1340func (c *Connect) ListPhoneNumbers(input *ListPhoneNumbersInput) (*ListPhoneNumbersOutput, error) {
1341	req, out := c.ListPhoneNumbersRequest(input)
1342	return out, req.Send()
1343}
1344
1345// ListPhoneNumbersWithContext is the same as ListPhoneNumbers with the addition of
1346// the ability to pass a context and additional request options.
1347//
1348// See ListPhoneNumbers for details on how to use this API operation.
1349//
1350// The context must be non-nil and will be used for request cancellation. If
1351// the context is nil a panic will occur. In the future the SDK may create
1352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1353// for more information on using Contexts.
1354func (c *Connect) ListPhoneNumbersWithContext(ctx aws.Context, input *ListPhoneNumbersInput, opts ...request.Option) (*ListPhoneNumbersOutput, error) {
1355	req, out := c.ListPhoneNumbersRequest(input)
1356	req.SetContext(ctx)
1357	req.ApplyOptions(opts...)
1358	return out, req.Send()
1359}
1360
1361// ListPhoneNumbersPages iterates over the pages of a ListPhoneNumbers operation,
1362// calling the "fn" function with the response data for each page. To stop
1363// iterating, return false from the fn function.
1364//
1365// See ListPhoneNumbers method for more information on how to use this operation.
1366//
1367// Note: This operation can generate multiple requests to a service.
1368//
1369//    // Example iterating over at most 3 pages of a ListPhoneNumbers operation.
1370//    pageNum := 0
1371//    err := client.ListPhoneNumbersPages(params,
1372//        func(page *connect.ListPhoneNumbersOutput, lastPage bool) bool {
1373//            pageNum++
1374//            fmt.Println(page)
1375//            return pageNum <= 3
1376//        })
1377//
1378func (c *Connect) ListPhoneNumbersPages(input *ListPhoneNumbersInput, fn func(*ListPhoneNumbersOutput, bool) bool) error {
1379	return c.ListPhoneNumbersPagesWithContext(aws.BackgroundContext(), input, fn)
1380}
1381
1382// ListPhoneNumbersPagesWithContext same as ListPhoneNumbersPages except
1383// it takes a Context and allows setting request options on the pages.
1384//
1385// The context must be non-nil and will be used for request cancellation. If
1386// the context is nil a panic will occur. In the future the SDK may create
1387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1388// for more information on using Contexts.
1389func (c *Connect) ListPhoneNumbersPagesWithContext(ctx aws.Context, input *ListPhoneNumbersInput, fn func(*ListPhoneNumbersOutput, bool) bool, opts ...request.Option) error {
1390	p := request.Pagination{
1391		NewRequest: func() (*request.Request, error) {
1392			var inCpy *ListPhoneNumbersInput
1393			if input != nil {
1394				tmp := *input
1395				inCpy = &tmp
1396			}
1397			req, _ := c.ListPhoneNumbersRequest(inCpy)
1398			req.SetContext(ctx)
1399			req.ApplyOptions(opts...)
1400			return req, nil
1401		},
1402	}
1403
1404	for p.Next() {
1405		if !fn(p.Page().(*ListPhoneNumbersOutput), !p.HasNextPage()) {
1406			break
1407		}
1408	}
1409
1410	return p.Err()
1411}
1412
1413const opListQueues = "ListQueues"
1414
1415// ListQueuesRequest generates a "aws/request.Request" representing the
1416// client's request for the ListQueues operation. The "output" return
1417// value will be populated with the request's response once the request completes
1418// successfully.
1419//
1420// Use "Send" method on the returned Request to send the API call to the service.
1421// the "output" return value is not valid until after Send returns without error.
1422//
1423// See ListQueues for more information on using the ListQueues
1424// API call, and error handling.
1425//
1426// This method is useful when you want to inject custom logic or configuration
1427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1428//
1429//
1430//    // Example sending a request using the ListQueuesRequest method.
1431//    req, resp := client.ListQueuesRequest(params)
1432//
1433//    err := req.Send()
1434//    if err == nil { // resp is now filled
1435//        fmt.Println(resp)
1436//    }
1437//
1438// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues
1439func (c *Connect) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, output *ListQueuesOutput) {
1440	op := &request.Operation{
1441		Name:       opListQueues,
1442		HTTPMethod: "GET",
1443		HTTPPath:   "/queues-summary/{InstanceId}",
1444		Paginator: &request.Paginator{
1445			InputTokens:     []string{"NextToken"},
1446			OutputTokens:    []string{"NextToken"},
1447			LimitToken:      "MaxResults",
1448			TruncationToken: "",
1449		},
1450	}
1451
1452	if input == nil {
1453		input = &ListQueuesInput{}
1454	}
1455
1456	output = &ListQueuesOutput{}
1457	req = c.newRequest(op, input, output)
1458	return
1459}
1460
1461// ListQueues API operation for Amazon Connect Service.
1462//
1463// Provides information about the queues for the specified Amazon Connect instance.
1464//
1465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1466// with awserr.Error's Code and Message methods to get detailed information about
1467// the error.
1468//
1469// See the AWS API reference guide for Amazon Connect Service's
1470// API operation ListQueues for usage and error information.
1471//
1472// Returned Error Types:
1473//   * InvalidRequestException
1474//   The request is not valid.
1475//
1476//   * InvalidParameterException
1477//   One or more of the specified parameters are not valid.
1478//
1479//   * ResourceNotFoundException
1480//   The specified resource was not found.
1481//
1482//   * ThrottlingException
1483//   The throttling limit has been exceeded.
1484//
1485//   * InternalServiceException
1486//   Request processing failed due to an error or failure with the service.
1487//
1488// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues
1489func (c *Connect) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) {
1490	req, out := c.ListQueuesRequest(input)
1491	return out, req.Send()
1492}
1493
1494// ListQueuesWithContext is the same as ListQueues with the addition of
1495// the ability to pass a context and additional request options.
1496//
1497// See ListQueues for details on how to use this API operation.
1498//
1499// The context must be non-nil and will be used for request cancellation. If
1500// the context is nil a panic will occur. In the future the SDK may create
1501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1502// for more information on using Contexts.
1503func (c *Connect) ListQueuesWithContext(ctx aws.Context, input *ListQueuesInput, opts ...request.Option) (*ListQueuesOutput, error) {
1504	req, out := c.ListQueuesRequest(input)
1505	req.SetContext(ctx)
1506	req.ApplyOptions(opts...)
1507	return out, req.Send()
1508}
1509
1510// ListQueuesPages iterates over the pages of a ListQueues operation,
1511// calling the "fn" function with the response data for each page. To stop
1512// iterating, return false from the fn function.
1513//
1514// See ListQueues method for more information on how to use this operation.
1515//
1516// Note: This operation can generate multiple requests to a service.
1517//
1518//    // Example iterating over at most 3 pages of a ListQueues operation.
1519//    pageNum := 0
1520//    err := client.ListQueuesPages(params,
1521//        func(page *connect.ListQueuesOutput, lastPage bool) bool {
1522//            pageNum++
1523//            fmt.Println(page)
1524//            return pageNum <= 3
1525//        })
1526//
1527func (c *Connect) ListQueuesPages(input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool) error {
1528	return c.ListQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
1529}
1530
1531// ListQueuesPagesWithContext same as ListQueuesPages except
1532// it takes a Context and allows setting request options on the pages.
1533//
1534// The context must be non-nil and will be used for request cancellation. If
1535// the context is nil a panic will occur. In the future the SDK may create
1536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1537// for more information on using Contexts.
1538func (c *Connect) ListQueuesPagesWithContext(ctx aws.Context, input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool, opts ...request.Option) error {
1539	p := request.Pagination{
1540		NewRequest: func() (*request.Request, error) {
1541			var inCpy *ListQueuesInput
1542			if input != nil {
1543				tmp := *input
1544				inCpy = &tmp
1545			}
1546			req, _ := c.ListQueuesRequest(inCpy)
1547			req.SetContext(ctx)
1548			req.ApplyOptions(opts...)
1549			return req, nil
1550		},
1551	}
1552
1553	for p.Next() {
1554		if !fn(p.Page().(*ListQueuesOutput), !p.HasNextPage()) {
1555			break
1556		}
1557	}
1558
1559	return p.Err()
1560}
1561
1562const opListRoutingProfiles = "ListRoutingProfiles"
1563
1564// ListRoutingProfilesRequest generates a "aws/request.Request" representing the
1565// client's request for the ListRoutingProfiles operation. The "output" return
1566// value will be populated with the request's response once the request completes
1567// successfully.
1568//
1569// Use "Send" method on the returned Request to send the API call to the service.
1570// the "output" return value is not valid until after Send returns without error.
1571//
1572// See ListRoutingProfiles for more information on using the ListRoutingProfiles
1573// API call, and error handling.
1574//
1575// This method is useful when you want to inject custom logic or configuration
1576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1577//
1578//
1579//    // Example sending a request using the ListRoutingProfilesRequest method.
1580//    req, resp := client.ListRoutingProfilesRequest(params)
1581//
1582//    err := req.Send()
1583//    if err == nil { // resp is now filled
1584//        fmt.Println(resp)
1585//    }
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles
1588func (c *Connect) ListRoutingProfilesRequest(input *ListRoutingProfilesInput) (req *request.Request, output *ListRoutingProfilesOutput) {
1589	op := &request.Operation{
1590		Name:       opListRoutingProfiles,
1591		HTTPMethod: "GET",
1592		HTTPPath:   "/routing-profiles-summary/{InstanceId}",
1593		Paginator: &request.Paginator{
1594			InputTokens:     []string{"NextToken"},
1595			OutputTokens:    []string{"NextToken"},
1596			LimitToken:      "MaxResults",
1597			TruncationToken: "",
1598		},
1599	}
1600
1601	if input == nil {
1602		input = &ListRoutingProfilesInput{}
1603	}
1604
1605	output = &ListRoutingProfilesOutput{}
1606	req = c.newRequest(op, input, output)
1607	return
1608}
1609
1610// ListRoutingProfiles API operation for Amazon Connect Service.
1611//
1612// Provides summary information about the routing profiles for the specified
1613// Amazon Connect instance.
1614//
1615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1616// with awserr.Error's Code and Message methods to get detailed information about
1617// the error.
1618//
1619// See the AWS API reference guide for Amazon Connect Service's
1620// API operation ListRoutingProfiles for usage and error information.
1621//
1622// Returned Error Types:
1623//   * InvalidRequestException
1624//   The request is not valid.
1625//
1626//   * InvalidParameterException
1627//   One or more of the specified parameters are not valid.
1628//
1629//   * ResourceNotFoundException
1630//   The specified resource was not found.
1631//
1632//   * ThrottlingException
1633//   The throttling limit has been exceeded.
1634//
1635//   * InternalServiceException
1636//   Request processing failed due to an error or failure with the service.
1637//
1638// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles
1639func (c *Connect) ListRoutingProfiles(input *ListRoutingProfilesInput) (*ListRoutingProfilesOutput, error) {
1640	req, out := c.ListRoutingProfilesRequest(input)
1641	return out, req.Send()
1642}
1643
1644// ListRoutingProfilesWithContext is the same as ListRoutingProfiles with the addition of
1645// the ability to pass a context and additional request options.
1646//
1647// See ListRoutingProfiles for details on how to use this API operation.
1648//
1649// The context must be non-nil and will be used for request cancellation. If
1650// the context is nil a panic will occur. In the future the SDK may create
1651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1652// for more information on using Contexts.
1653func (c *Connect) ListRoutingProfilesWithContext(ctx aws.Context, input *ListRoutingProfilesInput, opts ...request.Option) (*ListRoutingProfilesOutput, error) {
1654	req, out := c.ListRoutingProfilesRequest(input)
1655	req.SetContext(ctx)
1656	req.ApplyOptions(opts...)
1657	return out, req.Send()
1658}
1659
1660// ListRoutingProfilesPages iterates over the pages of a ListRoutingProfiles operation,
1661// calling the "fn" function with the response data for each page. To stop
1662// iterating, return false from the fn function.
1663//
1664// See ListRoutingProfiles method for more information on how to use this operation.
1665//
1666// Note: This operation can generate multiple requests to a service.
1667//
1668//    // Example iterating over at most 3 pages of a ListRoutingProfiles operation.
1669//    pageNum := 0
1670//    err := client.ListRoutingProfilesPages(params,
1671//        func(page *connect.ListRoutingProfilesOutput, lastPage bool) bool {
1672//            pageNum++
1673//            fmt.Println(page)
1674//            return pageNum <= 3
1675//        })
1676//
1677func (c *Connect) ListRoutingProfilesPages(input *ListRoutingProfilesInput, fn func(*ListRoutingProfilesOutput, bool) bool) error {
1678	return c.ListRoutingProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
1679}
1680
1681// ListRoutingProfilesPagesWithContext same as ListRoutingProfilesPages except
1682// it takes a Context and allows setting request options on the pages.
1683//
1684// The context must be non-nil and will be used for request cancellation. If
1685// the context is nil a panic will occur. In the future the SDK may create
1686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1687// for more information on using Contexts.
1688func (c *Connect) ListRoutingProfilesPagesWithContext(ctx aws.Context, input *ListRoutingProfilesInput, fn func(*ListRoutingProfilesOutput, bool) bool, opts ...request.Option) error {
1689	p := request.Pagination{
1690		NewRequest: func() (*request.Request, error) {
1691			var inCpy *ListRoutingProfilesInput
1692			if input != nil {
1693				tmp := *input
1694				inCpy = &tmp
1695			}
1696			req, _ := c.ListRoutingProfilesRequest(inCpy)
1697			req.SetContext(ctx)
1698			req.ApplyOptions(opts...)
1699			return req, nil
1700		},
1701	}
1702
1703	for p.Next() {
1704		if !fn(p.Page().(*ListRoutingProfilesOutput), !p.HasNextPage()) {
1705			break
1706		}
1707	}
1708
1709	return p.Err()
1710}
1711
1712const opListSecurityProfiles = "ListSecurityProfiles"
1713
1714// ListSecurityProfilesRequest generates a "aws/request.Request" representing the
1715// client's request for the ListSecurityProfiles operation. The "output" return
1716// value will be populated with the request's response once the request completes
1717// successfully.
1718//
1719// Use "Send" method on the returned Request to send the API call to the service.
1720// the "output" return value is not valid until after Send returns without error.
1721//
1722// See ListSecurityProfiles for more information on using the ListSecurityProfiles
1723// API call, and error handling.
1724//
1725// This method is useful when you want to inject custom logic or configuration
1726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1727//
1728//
1729//    // Example sending a request using the ListSecurityProfilesRequest method.
1730//    req, resp := client.ListSecurityProfilesRequest(params)
1731//
1732//    err := req.Send()
1733//    if err == nil { // resp is now filled
1734//        fmt.Println(resp)
1735//    }
1736//
1737// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles
1738func (c *Connect) ListSecurityProfilesRequest(input *ListSecurityProfilesInput) (req *request.Request, output *ListSecurityProfilesOutput) {
1739	op := &request.Operation{
1740		Name:       opListSecurityProfiles,
1741		HTTPMethod: "GET",
1742		HTTPPath:   "/security-profiles-summary/{InstanceId}",
1743		Paginator: &request.Paginator{
1744			InputTokens:     []string{"NextToken"},
1745			OutputTokens:    []string{"NextToken"},
1746			LimitToken:      "MaxResults",
1747			TruncationToken: "",
1748		},
1749	}
1750
1751	if input == nil {
1752		input = &ListSecurityProfilesInput{}
1753	}
1754
1755	output = &ListSecurityProfilesOutput{}
1756	req = c.newRequest(op, input, output)
1757	return
1758}
1759
1760// ListSecurityProfiles API operation for Amazon Connect Service.
1761//
1762// Provides summary information about the security profiles for the specified
1763// Amazon Connect instance.
1764//
1765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1766// with awserr.Error's Code and Message methods to get detailed information about
1767// the error.
1768//
1769// See the AWS API reference guide for Amazon Connect Service's
1770// API operation ListSecurityProfiles for usage and error information.
1771//
1772// Returned Error Types:
1773//   * InvalidRequestException
1774//   The request is not valid.
1775//
1776//   * InvalidParameterException
1777//   One or more of the specified parameters are not valid.
1778//
1779//   * ResourceNotFoundException
1780//   The specified resource was not found.
1781//
1782//   * ThrottlingException
1783//   The throttling limit has been exceeded.
1784//
1785//   * InternalServiceException
1786//   Request processing failed due to an error or failure with the service.
1787//
1788// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles
1789func (c *Connect) ListSecurityProfiles(input *ListSecurityProfilesInput) (*ListSecurityProfilesOutput, error) {
1790	req, out := c.ListSecurityProfilesRequest(input)
1791	return out, req.Send()
1792}
1793
1794// ListSecurityProfilesWithContext is the same as ListSecurityProfiles with the addition of
1795// the ability to pass a context and additional request options.
1796//
1797// See ListSecurityProfiles for details on how to use this API operation.
1798//
1799// The context must be non-nil and will be used for request cancellation. If
1800// the context is nil a panic will occur. In the future the SDK may create
1801// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1802// for more information on using Contexts.
1803func (c *Connect) ListSecurityProfilesWithContext(ctx aws.Context, input *ListSecurityProfilesInput, opts ...request.Option) (*ListSecurityProfilesOutput, error) {
1804	req, out := c.ListSecurityProfilesRequest(input)
1805	req.SetContext(ctx)
1806	req.ApplyOptions(opts...)
1807	return out, req.Send()
1808}
1809
1810// ListSecurityProfilesPages iterates over the pages of a ListSecurityProfiles operation,
1811// calling the "fn" function with the response data for each page. To stop
1812// iterating, return false from the fn function.
1813//
1814// See ListSecurityProfiles method for more information on how to use this operation.
1815//
1816// Note: This operation can generate multiple requests to a service.
1817//
1818//    // Example iterating over at most 3 pages of a ListSecurityProfiles operation.
1819//    pageNum := 0
1820//    err := client.ListSecurityProfilesPages(params,
1821//        func(page *connect.ListSecurityProfilesOutput, lastPage bool) bool {
1822//            pageNum++
1823//            fmt.Println(page)
1824//            return pageNum <= 3
1825//        })
1826//
1827func (c *Connect) ListSecurityProfilesPages(input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool) error {
1828	return c.ListSecurityProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
1829}
1830
1831// ListSecurityProfilesPagesWithContext same as ListSecurityProfilesPages except
1832// it takes a Context and allows setting request options on the pages.
1833//
1834// The context must be non-nil and will be used for request cancellation. If
1835// the context is nil a panic will occur. In the future the SDK may create
1836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1837// for more information on using Contexts.
1838func (c *Connect) ListSecurityProfilesPagesWithContext(ctx aws.Context, input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool, opts ...request.Option) error {
1839	p := request.Pagination{
1840		NewRequest: func() (*request.Request, error) {
1841			var inCpy *ListSecurityProfilesInput
1842			if input != nil {
1843				tmp := *input
1844				inCpy = &tmp
1845			}
1846			req, _ := c.ListSecurityProfilesRequest(inCpy)
1847			req.SetContext(ctx)
1848			req.ApplyOptions(opts...)
1849			return req, nil
1850		},
1851	}
1852
1853	for p.Next() {
1854		if !fn(p.Page().(*ListSecurityProfilesOutput), !p.HasNextPage()) {
1855			break
1856		}
1857	}
1858
1859	return p.Err()
1860}
1861
1862const opListTagsForResource = "ListTagsForResource"
1863
1864// ListTagsForResourceRequest generates a "aws/request.Request" representing the
1865// client's request for the ListTagsForResource operation. The "output" return
1866// value will be populated with the request's response once the request completes
1867// successfully.
1868//
1869// Use "Send" method on the returned Request to send the API call to the service.
1870// the "output" return value is not valid until after Send returns without error.
1871//
1872// See ListTagsForResource for more information on using the ListTagsForResource
1873// API call, and error handling.
1874//
1875// This method is useful when you want to inject custom logic or configuration
1876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1877//
1878//
1879//    // Example sending a request using the ListTagsForResourceRequest method.
1880//    req, resp := client.ListTagsForResourceRequest(params)
1881//
1882//    err := req.Send()
1883//    if err == nil { // resp is now filled
1884//        fmt.Println(resp)
1885//    }
1886//
1887// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource
1888func (c *Connect) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
1889	op := &request.Operation{
1890		Name:       opListTagsForResource,
1891		HTTPMethod: "GET",
1892		HTTPPath:   "/tags/{resourceArn}",
1893	}
1894
1895	if input == nil {
1896		input = &ListTagsForResourceInput{}
1897	}
1898
1899	output = &ListTagsForResourceOutput{}
1900	req = c.newRequest(op, input, output)
1901	return
1902}
1903
1904// ListTagsForResource API operation for Amazon Connect Service.
1905//
1906// Lists the tags for the specified resource.
1907//
1908// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1909// with awserr.Error's Code and Message methods to get detailed information about
1910// the error.
1911//
1912// See the AWS API reference guide for Amazon Connect Service's
1913// API operation ListTagsForResource for usage and error information.
1914//
1915// Returned Error Types:
1916//   * InvalidRequestException
1917//   The request is not valid.
1918//
1919//   * InvalidParameterException
1920//   One or more of the specified parameters are not valid.
1921//
1922//   * InternalServiceException
1923//   Request processing failed due to an error or failure with the service.
1924//
1925//   * ResourceNotFoundException
1926//   The specified resource was not found.
1927//
1928//   * ThrottlingException
1929//   The throttling limit has been exceeded.
1930//
1931// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource
1932func (c *Connect) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
1933	req, out := c.ListTagsForResourceRequest(input)
1934	return out, req.Send()
1935}
1936
1937// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
1938// the ability to pass a context and additional request options.
1939//
1940// See ListTagsForResource for details on how to use this API operation.
1941//
1942// The context must be non-nil and will be used for request cancellation. If
1943// the context is nil a panic will occur. In the future the SDK may create
1944// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1945// for more information on using Contexts.
1946func (c *Connect) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
1947	req, out := c.ListTagsForResourceRequest(input)
1948	req.SetContext(ctx)
1949	req.ApplyOptions(opts...)
1950	return out, req.Send()
1951}
1952
1953const opListUserHierarchyGroups = "ListUserHierarchyGroups"
1954
1955// ListUserHierarchyGroupsRequest generates a "aws/request.Request" representing the
1956// client's request for the ListUserHierarchyGroups operation. The "output" return
1957// value will be populated with the request's response once the request completes
1958// successfully.
1959//
1960// Use "Send" method on the returned Request to send the API call to the service.
1961// the "output" return value is not valid until after Send returns without error.
1962//
1963// See ListUserHierarchyGroups for more information on using the ListUserHierarchyGroups
1964// API call, and error handling.
1965//
1966// This method is useful when you want to inject custom logic or configuration
1967// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1968//
1969//
1970//    // Example sending a request using the ListUserHierarchyGroupsRequest method.
1971//    req, resp := client.ListUserHierarchyGroupsRequest(params)
1972//
1973//    err := req.Send()
1974//    if err == nil { // resp is now filled
1975//        fmt.Println(resp)
1976//    }
1977//
1978// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups
1979func (c *Connect) ListUserHierarchyGroupsRequest(input *ListUserHierarchyGroupsInput) (req *request.Request, output *ListUserHierarchyGroupsOutput) {
1980	op := &request.Operation{
1981		Name:       opListUserHierarchyGroups,
1982		HTTPMethod: "GET",
1983		HTTPPath:   "/user-hierarchy-groups-summary/{InstanceId}",
1984		Paginator: &request.Paginator{
1985			InputTokens:     []string{"NextToken"},
1986			OutputTokens:    []string{"NextToken"},
1987			LimitToken:      "MaxResults",
1988			TruncationToken: "",
1989		},
1990	}
1991
1992	if input == nil {
1993		input = &ListUserHierarchyGroupsInput{}
1994	}
1995
1996	output = &ListUserHierarchyGroupsOutput{}
1997	req = c.newRequest(op, input, output)
1998	return
1999}
2000
2001// ListUserHierarchyGroups API operation for Amazon Connect Service.
2002//
2003// Provides summary information about the hierarchy groups for the specified
2004// Amazon Connect instance.
2005//
2006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2007// with awserr.Error's Code and Message methods to get detailed information about
2008// the error.
2009//
2010// See the AWS API reference guide for Amazon Connect Service's
2011// API operation ListUserHierarchyGroups for usage and error information.
2012//
2013// Returned Error Types:
2014//   * InvalidRequestException
2015//   The request is not valid.
2016//
2017//   * InvalidParameterException
2018//   One or more of the specified parameters are not valid.
2019//
2020//   * ResourceNotFoundException
2021//   The specified resource was not found.
2022//
2023//   * ThrottlingException
2024//   The throttling limit has been exceeded.
2025//
2026//   * InternalServiceException
2027//   Request processing failed due to an error or failure with the service.
2028//
2029// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups
2030func (c *Connect) ListUserHierarchyGroups(input *ListUserHierarchyGroupsInput) (*ListUserHierarchyGroupsOutput, error) {
2031	req, out := c.ListUserHierarchyGroupsRequest(input)
2032	return out, req.Send()
2033}
2034
2035// ListUserHierarchyGroupsWithContext is the same as ListUserHierarchyGroups with the addition of
2036// the ability to pass a context and additional request options.
2037//
2038// See ListUserHierarchyGroups for details on how to use this API operation.
2039//
2040// The context must be non-nil and will be used for request cancellation. If
2041// the context is nil a panic will occur. In the future the SDK may create
2042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2043// for more information on using Contexts.
2044func (c *Connect) ListUserHierarchyGroupsWithContext(ctx aws.Context, input *ListUserHierarchyGroupsInput, opts ...request.Option) (*ListUserHierarchyGroupsOutput, error) {
2045	req, out := c.ListUserHierarchyGroupsRequest(input)
2046	req.SetContext(ctx)
2047	req.ApplyOptions(opts...)
2048	return out, req.Send()
2049}
2050
2051// ListUserHierarchyGroupsPages iterates over the pages of a ListUserHierarchyGroups operation,
2052// calling the "fn" function with the response data for each page. To stop
2053// iterating, return false from the fn function.
2054//
2055// See ListUserHierarchyGroups method for more information on how to use this operation.
2056//
2057// Note: This operation can generate multiple requests to a service.
2058//
2059//    // Example iterating over at most 3 pages of a ListUserHierarchyGroups operation.
2060//    pageNum := 0
2061//    err := client.ListUserHierarchyGroupsPages(params,
2062//        func(page *connect.ListUserHierarchyGroupsOutput, lastPage bool) bool {
2063//            pageNum++
2064//            fmt.Println(page)
2065//            return pageNum <= 3
2066//        })
2067//
2068func (c *Connect) ListUserHierarchyGroupsPages(input *ListUserHierarchyGroupsInput, fn func(*ListUserHierarchyGroupsOutput, bool) bool) error {
2069	return c.ListUserHierarchyGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
2070}
2071
2072// ListUserHierarchyGroupsPagesWithContext same as ListUserHierarchyGroupsPages except
2073// it takes a Context and allows setting request options on the pages.
2074//
2075// The context must be non-nil and will be used for request cancellation. If
2076// the context is nil a panic will occur. In the future the SDK may create
2077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2078// for more information on using Contexts.
2079func (c *Connect) ListUserHierarchyGroupsPagesWithContext(ctx aws.Context, input *ListUserHierarchyGroupsInput, fn func(*ListUserHierarchyGroupsOutput, bool) bool, opts ...request.Option) error {
2080	p := request.Pagination{
2081		NewRequest: func() (*request.Request, error) {
2082			var inCpy *ListUserHierarchyGroupsInput
2083			if input != nil {
2084				tmp := *input
2085				inCpy = &tmp
2086			}
2087			req, _ := c.ListUserHierarchyGroupsRequest(inCpy)
2088			req.SetContext(ctx)
2089			req.ApplyOptions(opts...)
2090			return req, nil
2091		},
2092	}
2093
2094	for p.Next() {
2095		if !fn(p.Page().(*ListUserHierarchyGroupsOutput), !p.HasNextPage()) {
2096			break
2097		}
2098	}
2099
2100	return p.Err()
2101}
2102
2103const opListUsers = "ListUsers"
2104
2105// ListUsersRequest generates a "aws/request.Request" representing the
2106// client's request for the ListUsers operation. The "output" return
2107// value will be populated with the request's response once the request completes
2108// successfully.
2109//
2110// Use "Send" method on the returned Request to send the API call to the service.
2111// the "output" return value is not valid until after Send returns without error.
2112//
2113// See ListUsers for more information on using the ListUsers
2114// API call, and error handling.
2115//
2116// This method is useful when you want to inject custom logic or configuration
2117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2118//
2119//
2120//    // Example sending a request using the ListUsersRequest method.
2121//    req, resp := client.ListUsersRequest(params)
2122//
2123//    err := req.Send()
2124//    if err == nil { // resp is now filled
2125//        fmt.Println(resp)
2126//    }
2127//
2128// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers
2129func (c *Connect) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
2130	op := &request.Operation{
2131		Name:       opListUsers,
2132		HTTPMethod: "GET",
2133		HTTPPath:   "/users-summary/{InstanceId}",
2134		Paginator: &request.Paginator{
2135			InputTokens:     []string{"NextToken"},
2136			OutputTokens:    []string{"NextToken"},
2137			LimitToken:      "MaxResults",
2138			TruncationToken: "",
2139		},
2140	}
2141
2142	if input == nil {
2143		input = &ListUsersInput{}
2144	}
2145
2146	output = &ListUsersOutput{}
2147	req = c.newRequest(op, input, output)
2148	return
2149}
2150
2151// ListUsers API operation for Amazon Connect Service.
2152//
2153// Provides summary information about the users for the specified Amazon Connect
2154// instance.
2155//
2156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2157// with awserr.Error's Code and Message methods to get detailed information about
2158// the error.
2159//
2160// See the AWS API reference guide for Amazon Connect Service's
2161// API operation ListUsers for usage and error information.
2162//
2163// Returned Error Types:
2164//   * InvalidRequestException
2165//   The request is not valid.
2166//
2167//   * InvalidParameterException
2168//   One or more of the specified parameters are not valid.
2169//
2170//   * ResourceNotFoundException
2171//   The specified resource was not found.
2172//
2173//   * ThrottlingException
2174//   The throttling limit has been exceeded.
2175//
2176//   * InternalServiceException
2177//   Request processing failed due to an error or failure with the service.
2178//
2179// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers
2180func (c *Connect) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
2181	req, out := c.ListUsersRequest(input)
2182	return out, req.Send()
2183}
2184
2185// ListUsersWithContext is the same as ListUsers with the addition of
2186// the ability to pass a context and additional request options.
2187//
2188// See ListUsers for details on how to use this API operation.
2189//
2190// The context must be non-nil and will be used for request cancellation. If
2191// the context is nil a panic will occur. In the future the SDK may create
2192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2193// for more information on using Contexts.
2194func (c *Connect) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) {
2195	req, out := c.ListUsersRequest(input)
2196	req.SetContext(ctx)
2197	req.ApplyOptions(opts...)
2198	return out, req.Send()
2199}
2200
2201// ListUsersPages iterates over the pages of a ListUsers operation,
2202// calling the "fn" function with the response data for each page. To stop
2203// iterating, return false from the fn function.
2204//
2205// See ListUsers method for more information on how to use this operation.
2206//
2207// Note: This operation can generate multiple requests to a service.
2208//
2209//    // Example iterating over at most 3 pages of a ListUsers operation.
2210//    pageNum := 0
2211//    err := client.ListUsersPages(params,
2212//        func(page *connect.ListUsersOutput, lastPage bool) bool {
2213//            pageNum++
2214//            fmt.Println(page)
2215//            return pageNum <= 3
2216//        })
2217//
2218func (c *Connect) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error {
2219	return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn)
2220}
2221
2222// ListUsersPagesWithContext same as ListUsersPages except
2223// it takes a Context and allows setting request options on the pages.
2224//
2225// The context must be non-nil and will be used for request cancellation. If
2226// the context is nil a panic will occur. In the future the SDK may create
2227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2228// for more information on using Contexts.
2229func (c *Connect) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error {
2230	p := request.Pagination{
2231		NewRequest: func() (*request.Request, error) {
2232			var inCpy *ListUsersInput
2233			if input != nil {
2234				tmp := *input
2235				inCpy = &tmp
2236			}
2237			req, _ := c.ListUsersRequest(inCpy)
2238			req.SetContext(ctx)
2239			req.ApplyOptions(opts...)
2240			return req, nil
2241		},
2242	}
2243
2244	for p.Next() {
2245		if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) {
2246			break
2247		}
2248	}
2249
2250	return p.Err()
2251}
2252
2253const opStartChatContact = "StartChatContact"
2254
2255// StartChatContactRequest generates a "aws/request.Request" representing the
2256// client's request for the StartChatContact operation. The "output" return
2257// value will be populated with the request's response once the request completes
2258// successfully.
2259//
2260// Use "Send" method on the returned Request to send the API call to the service.
2261// the "output" return value is not valid until after Send returns without error.
2262//
2263// See StartChatContact for more information on using the StartChatContact
2264// API call, and error handling.
2265//
2266// This method is useful when you want to inject custom logic or configuration
2267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2268//
2269//
2270//    // Example sending a request using the StartChatContactRequest method.
2271//    req, resp := client.StartChatContactRequest(params)
2272//
2273//    err := req.Send()
2274//    if err == nil { // resp is now filled
2275//        fmt.Println(resp)
2276//    }
2277//
2278// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact
2279func (c *Connect) StartChatContactRequest(input *StartChatContactInput) (req *request.Request, output *StartChatContactOutput) {
2280	op := &request.Operation{
2281		Name:       opStartChatContact,
2282		HTTPMethod: "PUT",
2283		HTTPPath:   "/contact/chat",
2284	}
2285
2286	if input == nil {
2287		input = &StartChatContactInput{}
2288	}
2289
2290	output = &StartChatContactOutput{}
2291	req = c.newRequest(op, input, output)
2292	return
2293}
2294
2295// StartChatContact API operation for Amazon Connect Service.
2296//
2297// Initiates a contact flow to start a new chat for the customer. Response of
2298// this API provides a token required to obtain credentials from the CreateParticipantConnection
2299// (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)
2300// API in the Amazon Connect Participant Service.
2301//
2302// When a new chat contact is successfully created, clients need to subscribe
2303// to the participant’s connection for the created chat within 5 minutes.
2304// This is achieved by invoking CreateParticipantConnection (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)
2305// with WEBSOCKET and CONNECTION_CREDENTIALS.
2306//
2307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2308// with awserr.Error's Code and Message methods to get detailed information about
2309// the error.
2310//
2311// See the AWS API reference guide for Amazon Connect Service's
2312// API operation StartChatContact for usage and error information.
2313//
2314// Returned Error Types:
2315//   * InvalidRequestException
2316//   The request is not valid.
2317//
2318//   * InvalidParameterException
2319//   One or more of the specified parameters are not valid.
2320//
2321//   * ResourceNotFoundException
2322//   The specified resource was not found.
2323//
2324//   * InternalServiceException
2325//   Request processing failed due to an error or failure with the service.
2326//
2327//   * LimitExceededException
2328//   The allowed limit for the resource has been exceeded.
2329//
2330// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact
2331func (c *Connect) StartChatContact(input *StartChatContactInput) (*StartChatContactOutput, error) {
2332	req, out := c.StartChatContactRequest(input)
2333	return out, req.Send()
2334}
2335
2336// StartChatContactWithContext is the same as StartChatContact with the addition of
2337// the ability to pass a context and additional request options.
2338//
2339// See StartChatContact for details on how to use this API operation.
2340//
2341// The context must be non-nil and will be used for request cancellation. If
2342// the context is nil a panic will occur. In the future the SDK may create
2343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2344// for more information on using Contexts.
2345func (c *Connect) StartChatContactWithContext(ctx aws.Context, input *StartChatContactInput, opts ...request.Option) (*StartChatContactOutput, error) {
2346	req, out := c.StartChatContactRequest(input)
2347	req.SetContext(ctx)
2348	req.ApplyOptions(opts...)
2349	return out, req.Send()
2350}
2351
2352const opStartOutboundVoiceContact = "StartOutboundVoiceContact"
2353
2354// StartOutboundVoiceContactRequest generates a "aws/request.Request" representing the
2355// client's request for the StartOutboundVoiceContact operation. The "output" return
2356// value will be populated with the request's response once the request completes
2357// successfully.
2358//
2359// Use "Send" method on the returned Request to send the API call to the service.
2360// the "output" return value is not valid until after Send returns without error.
2361//
2362// See StartOutboundVoiceContact for more information on using the StartOutboundVoiceContact
2363// API call, and error handling.
2364//
2365// This method is useful when you want to inject custom logic or configuration
2366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2367//
2368//
2369//    // Example sending a request using the StartOutboundVoiceContactRequest method.
2370//    req, resp := client.StartOutboundVoiceContactRequest(params)
2371//
2372//    err := req.Send()
2373//    if err == nil { // resp is now filled
2374//        fmt.Println(resp)
2375//    }
2376//
2377// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact
2378func (c *Connect) StartOutboundVoiceContactRequest(input *StartOutboundVoiceContactInput) (req *request.Request, output *StartOutboundVoiceContactOutput) {
2379	op := &request.Operation{
2380		Name:       opStartOutboundVoiceContact,
2381		HTTPMethod: "PUT",
2382		HTTPPath:   "/contact/outbound-voice",
2383	}
2384
2385	if input == nil {
2386		input = &StartOutboundVoiceContactInput{}
2387	}
2388
2389	output = &StartOutboundVoiceContactOutput{}
2390	req = c.newRequest(op, input, output)
2391	return
2392}
2393
2394// StartOutboundVoiceContact API operation for Amazon Connect Service.
2395//
2396// Initiates a contact flow to place an outbound call to a customer.
2397//
2398// There is a 60 second dialing timeout for this operation. If the call is not
2399// connected after 60 seconds, it fails.
2400//
2401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2402// with awserr.Error's Code and Message methods to get detailed information about
2403// the error.
2404//
2405// See the AWS API reference guide for Amazon Connect Service's
2406// API operation StartOutboundVoiceContact for usage and error information.
2407//
2408// Returned Error Types:
2409//   * InvalidRequestException
2410//   The request is not valid.
2411//
2412//   * InvalidParameterException
2413//   One or more of the specified parameters are not valid.
2414//
2415//   * ResourceNotFoundException
2416//   The specified resource was not found.
2417//
2418//   * InternalServiceException
2419//   Request processing failed due to an error or failure with the service.
2420//
2421//   * LimitExceededException
2422//   The allowed limit for the resource has been exceeded.
2423//
2424//   * DestinationNotAllowedException
2425//   Outbound calls to the destination number are not allowed.
2426//
2427//   * OutboundContactNotPermittedException
2428//   The contact is not permitted.
2429//
2430// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact
2431func (c *Connect) StartOutboundVoiceContact(input *StartOutboundVoiceContactInput) (*StartOutboundVoiceContactOutput, error) {
2432	req, out := c.StartOutboundVoiceContactRequest(input)
2433	return out, req.Send()
2434}
2435
2436// StartOutboundVoiceContactWithContext is the same as StartOutboundVoiceContact with the addition of
2437// the ability to pass a context and additional request options.
2438//
2439// See StartOutboundVoiceContact for details on how to use this API operation.
2440//
2441// The context must be non-nil and will be used for request cancellation. If
2442// the context is nil a panic will occur. In the future the SDK may create
2443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2444// for more information on using Contexts.
2445func (c *Connect) StartOutboundVoiceContactWithContext(ctx aws.Context, input *StartOutboundVoiceContactInput, opts ...request.Option) (*StartOutboundVoiceContactOutput, error) {
2446	req, out := c.StartOutboundVoiceContactRequest(input)
2447	req.SetContext(ctx)
2448	req.ApplyOptions(opts...)
2449	return out, req.Send()
2450}
2451
2452const opStopContact = "StopContact"
2453
2454// StopContactRequest generates a "aws/request.Request" representing the
2455// client's request for the StopContact operation. The "output" return
2456// value will be populated with the request's response once the request completes
2457// successfully.
2458//
2459// Use "Send" method on the returned Request to send the API call to the service.
2460// the "output" return value is not valid until after Send returns without error.
2461//
2462// See StopContact for more information on using the StopContact
2463// API call, and error handling.
2464//
2465// This method is useful when you want to inject custom logic or configuration
2466// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2467//
2468//
2469//    // Example sending a request using the StopContactRequest method.
2470//    req, resp := client.StopContactRequest(params)
2471//
2472//    err := req.Send()
2473//    if err == nil { // resp is now filled
2474//        fmt.Println(resp)
2475//    }
2476//
2477// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact
2478func (c *Connect) StopContactRequest(input *StopContactInput) (req *request.Request, output *StopContactOutput) {
2479	op := &request.Operation{
2480		Name:       opStopContact,
2481		HTTPMethod: "POST",
2482		HTTPPath:   "/contact/stop",
2483	}
2484
2485	if input == nil {
2486		input = &StopContactInput{}
2487	}
2488
2489	output = &StopContactOutput{}
2490	req = c.newRequest(op, input, output)
2491	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2492	return
2493}
2494
2495// StopContact API operation for Amazon Connect Service.
2496//
2497// Ends the specified contact.
2498//
2499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2500// with awserr.Error's Code and Message methods to get detailed information about
2501// the error.
2502//
2503// See the AWS API reference guide for Amazon Connect Service's
2504// API operation StopContact for usage and error information.
2505//
2506// Returned Error Types:
2507//   * InvalidRequestException
2508//   The request is not valid.
2509//
2510//   * ContactNotFoundException
2511//   The contact with the specified ID is not active or does not exist.
2512//
2513//   * InvalidParameterException
2514//   One or more of the specified parameters are not valid.
2515//
2516//   * ResourceNotFoundException
2517//   The specified resource was not found.
2518//
2519//   * InternalServiceException
2520//   Request processing failed due to an error or failure with the service.
2521//
2522// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact
2523func (c *Connect) StopContact(input *StopContactInput) (*StopContactOutput, error) {
2524	req, out := c.StopContactRequest(input)
2525	return out, req.Send()
2526}
2527
2528// StopContactWithContext is the same as StopContact with the addition of
2529// the ability to pass a context and additional request options.
2530//
2531// See StopContact for details on how to use this API operation.
2532//
2533// The context must be non-nil and will be used for request cancellation. If
2534// the context is nil a panic will occur. In the future the SDK may create
2535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2536// for more information on using Contexts.
2537func (c *Connect) StopContactWithContext(ctx aws.Context, input *StopContactInput, opts ...request.Option) (*StopContactOutput, error) {
2538	req, out := c.StopContactRequest(input)
2539	req.SetContext(ctx)
2540	req.ApplyOptions(opts...)
2541	return out, req.Send()
2542}
2543
2544const opTagResource = "TagResource"
2545
2546// TagResourceRequest generates a "aws/request.Request" representing the
2547// client's request for the TagResource operation. The "output" return
2548// value will be populated with the request's response once the request completes
2549// successfully.
2550//
2551// Use "Send" method on the returned Request to send the API call to the service.
2552// the "output" return value is not valid until after Send returns without error.
2553//
2554// See TagResource for more information on using the TagResource
2555// API call, and error handling.
2556//
2557// This method is useful when you want to inject custom logic or configuration
2558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2559//
2560//
2561//    // Example sending a request using the TagResourceRequest method.
2562//    req, resp := client.TagResourceRequest(params)
2563//
2564//    err := req.Send()
2565//    if err == nil { // resp is now filled
2566//        fmt.Println(resp)
2567//    }
2568//
2569// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource
2570func (c *Connect) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
2571	op := &request.Operation{
2572		Name:       opTagResource,
2573		HTTPMethod: "POST",
2574		HTTPPath:   "/tags/{resourceArn}",
2575	}
2576
2577	if input == nil {
2578		input = &TagResourceInput{}
2579	}
2580
2581	output = &TagResourceOutput{}
2582	req = c.newRequest(op, input, output)
2583	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2584	return
2585}
2586
2587// TagResource API operation for Amazon Connect Service.
2588//
2589// Adds the specified tags to the specified resource.
2590//
2591// The supported resource type is users.
2592//
2593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2594// with awserr.Error's Code and Message methods to get detailed information about
2595// the error.
2596//
2597// See the AWS API reference guide for Amazon Connect Service's
2598// API operation TagResource for usage and error information.
2599//
2600// Returned Error Types:
2601//   * InvalidRequestException
2602//   The request is not valid.
2603//
2604//   * InvalidParameterException
2605//   One or more of the specified parameters are not valid.
2606//
2607//   * InternalServiceException
2608//   Request processing failed due to an error or failure with the service.
2609//
2610//   * ResourceNotFoundException
2611//   The specified resource was not found.
2612//
2613//   * ThrottlingException
2614//   The throttling limit has been exceeded.
2615//
2616// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource
2617func (c *Connect) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
2618	req, out := c.TagResourceRequest(input)
2619	return out, req.Send()
2620}
2621
2622// TagResourceWithContext is the same as TagResource with the addition of
2623// the ability to pass a context and additional request options.
2624//
2625// See TagResource for details on how to use this API operation.
2626//
2627// The context must be non-nil and will be used for request cancellation. If
2628// the context is nil a panic will occur. In the future the SDK may create
2629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2630// for more information on using Contexts.
2631func (c *Connect) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
2632	req, out := c.TagResourceRequest(input)
2633	req.SetContext(ctx)
2634	req.ApplyOptions(opts...)
2635	return out, req.Send()
2636}
2637
2638const opUntagResource = "UntagResource"
2639
2640// UntagResourceRequest generates a "aws/request.Request" representing the
2641// client's request for the UntagResource operation. The "output" return
2642// value will be populated with the request's response once the request completes
2643// successfully.
2644//
2645// Use "Send" method on the returned Request to send the API call to the service.
2646// the "output" return value is not valid until after Send returns without error.
2647//
2648// See UntagResource for more information on using the UntagResource
2649// API call, and error handling.
2650//
2651// This method is useful when you want to inject custom logic or configuration
2652// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2653//
2654//
2655//    // Example sending a request using the UntagResourceRequest method.
2656//    req, resp := client.UntagResourceRequest(params)
2657//
2658//    err := req.Send()
2659//    if err == nil { // resp is now filled
2660//        fmt.Println(resp)
2661//    }
2662//
2663// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource
2664func (c *Connect) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
2665	op := &request.Operation{
2666		Name:       opUntagResource,
2667		HTTPMethod: "DELETE",
2668		HTTPPath:   "/tags/{resourceArn}",
2669	}
2670
2671	if input == nil {
2672		input = &UntagResourceInput{}
2673	}
2674
2675	output = &UntagResourceOutput{}
2676	req = c.newRequest(op, input, output)
2677	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2678	return
2679}
2680
2681// UntagResource API operation for Amazon Connect Service.
2682//
2683// Removes the specified tags from the specified resource.
2684//
2685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2686// with awserr.Error's Code and Message methods to get detailed information about
2687// the error.
2688//
2689// See the AWS API reference guide for Amazon Connect Service's
2690// API operation UntagResource for usage and error information.
2691//
2692// Returned Error Types:
2693//   * InvalidRequestException
2694//   The request is not valid.
2695//
2696//   * InvalidParameterException
2697//   One or more of the specified parameters are not valid.
2698//
2699//   * InternalServiceException
2700//   Request processing failed due to an error or failure with the service.
2701//
2702//   * ResourceNotFoundException
2703//   The specified resource was not found.
2704//
2705//   * ThrottlingException
2706//   The throttling limit has been exceeded.
2707//
2708// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource
2709func (c *Connect) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
2710	req, out := c.UntagResourceRequest(input)
2711	return out, req.Send()
2712}
2713
2714// UntagResourceWithContext is the same as UntagResource with the addition of
2715// the ability to pass a context and additional request options.
2716//
2717// See UntagResource for details on how to use this API operation.
2718//
2719// The context must be non-nil and will be used for request cancellation. If
2720// the context is nil a panic will occur. In the future the SDK may create
2721// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2722// for more information on using Contexts.
2723func (c *Connect) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
2724	req, out := c.UntagResourceRequest(input)
2725	req.SetContext(ctx)
2726	req.ApplyOptions(opts...)
2727	return out, req.Send()
2728}
2729
2730const opUpdateContactAttributes = "UpdateContactAttributes"
2731
2732// UpdateContactAttributesRequest generates a "aws/request.Request" representing the
2733// client's request for the UpdateContactAttributes operation. The "output" return
2734// value will be populated with the request's response once the request completes
2735// successfully.
2736//
2737// Use "Send" method on the returned Request to send the API call to the service.
2738// the "output" return value is not valid until after Send returns without error.
2739//
2740// See UpdateContactAttributes for more information on using the UpdateContactAttributes
2741// API call, and error handling.
2742//
2743// This method is useful when you want to inject custom logic or configuration
2744// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2745//
2746//
2747//    // Example sending a request using the UpdateContactAttributesRequest method.
2748//    req, resp := client.UpdateContactAttributesRequest(params)
2749//
2750//    err := req.Send()
2751//    if err == nil { // resp is now filled
2752//        fmt.Println(resp)
2753//    }
2754//
2755// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes
2756func (c *Connect) UpdateContactAttributesRequest(input *UpdateContactAttributesInput) (req *request.Request, output *UpdateContactAttributesOutput) {
2757	op := &request.Operation{
2758		Name:       opUpdateContactAttributes,
2759		HTTPMethod: "POST",
2760		HTTPPath:   "/contact/attributes",
2761	}
2762
2763	if input == nil {
2764		input = &UpdateContactAttributesInput{}
2765	}
2766
2767	output = &UpdateContactAttributesOutput{}
2768	req = c.newRequest(op, input, output)
2769	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2770	return
2771}
2772
2773// UpdateContactAttributes API operation for Amazon Connect Service.
2774//
2775// Creates or updates the contact attributes associated with the specified contact.
2776//
2777// You can add or update attributes for both ongoing and completed contacts.
2778// For example, you can update the customer's name or the reason the customer
2779// called while the call is active, or add notes about steps that the agent
2780// took during the call that are displayed to the next agent that takes the
2781// call. You can also update attributes for a contact using data from your CRM
2782// application and save the data with the contact in Amazon Connect. You could
2783// also flag calls for additional analysis, such as legal review or identifying
2784// abusive callers.
2785//
2786// Contact attributes are available in Amazon Connect for 24 months, and are
2787// then deleted.
2788//
2789// Important: You cannot use the operation to update attributes for contacts
2790// that occurred prior to the release of the API, September 12, 2018. You can
2791// update attributes only for contacts that started after the release of the
2792// API. If you attempt to update attributes for a contact that occurred prior
2793// to the release of the API, a 400 error is returned. This applies also to
2794// queued callbacks that were initiated prior to the release of the API but
2795// are still active in your instance.
2796//
2797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2798// with awserr.Error's Code and Message methods to get detailed information about
2799// the error.
2800//
2801// See the AWS API reference guide for Amazon Connect Service's
2802// API operation UpdateContactAttributes for usage and error information.
2803//
2804// Returned Error Types:
2805//   * InvalidRequestException
2806//   The request is not valid.
2807//
2808//   * InvalidParameterException
2809//   One or more of the specified parameters are not valid.
2810//
2811//   * ResourceNotFoundException
2812//   The specified resource was not found.
2813//
2814//   * InternalServiceException
2815//   Request processing failed due to an error or failure with the service.
2816//
2817// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes
2818func (c *Connect) UpdateContactAttributes(input *UpdateContactAttributesInput) (*UpdateContactAttributesOutput, error) {
2819	req, out := c.UpdateContactAttributesRequest(input)
2820	return out, req.Send()
2821}
2822
2823// UpdateContactAttributesWithContext is the same as UpdateContactAttributes with the addition of
2824// the ability to pass a context and additional request options.
2825//
2826// See UpdateContactAttributes for details on how to use this API operation.
2827//
2828// The context must be non-nil and will be used for request cancellation. If
2829// the context is nil a panic will occur. In the future the SDK may create
2830// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2831// for more information on using Contexts.
2832func (c *Connect) UpdateContactAttributesWithContext(ctx aws.Context, input *UpdateContactAttributesInput, opts ...request.Option) (*UpdateContactAttributesOutput, error) {
2833	req, out := c.UpdateContactAttributesRequest(input)
2834	req.SetContext(ctx)
2835	req.ApplyOptions(opts...)
2836	return out, req.Send()
2837}
2838
2839const opUpdateUserHierarchy = "UpdateUserHierarchy"
2840
2841// UpdateUserHierarchyRequest generates a "aws/request.Request" representing the
2842// client's request for the UpdateUserHierarchy operation. The "output" return
2843// value will be populated with the request's response once the request completes
2844// successfully.
2845//
2846// Use "Send" method on the returned Request to send the API call to the service.
2847// the "output" return value is not valid until after Send returns without error.
2848//
2849// See UpdateUserHierarchy for more information on using the UpdateUserHierarchy
2850// API call, and error handling.
2851//
2852// This method is useful when you want to inject custom logic or configuration
2853// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2854//
2855//
2856//    // Example sending a request using the UpdateUserHierarchyRequest method.
2857//    req, resp := client.UpdateUserHierarchyRequest(params)
2858//
2859//    err := req.Send()
2860//    if err == nil { // resp is now filled
2861//        fmt.Println(resp)
2862//    }
2863//
2864// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy
2865func (c *Connect) UpdateUserHierarchyRequest(input *UpdateUserHierarchyInput) (req *request.Request, output *UpdateUserHierarchyOutput) {
2866	op := &request.Operation{
2867		Name:       opUpdateUserHierarchy,
2868		HTTPMethod: "POST",
2869		HTTPPath:   "/users/{InstanceId}/{UserId}/hierarchy",
2870	}
2871
2872	if input == nil {
2873		input = &UpdateUserHierarchyInput{}
2874	}
2875
2876	output = &UpdateUserHierarchyOutput{}
2877	req = c.newRequest(op, input, output)
2878	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2879	return
2880}
2881
2882// UpdateUserHierarchy API operation for Amazon Connect Service.
2883//
2884// Assigns the specified hierarchy group to the specified user.
2885//
2886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2887// with awserr.Error's Code and Message methods to get detailed information about
2888// the error.
2889//
2890// See the AWS API reference guide for Amazon Connect Service's
2891// API operation UpdateUserHierarchy for usage and error information.
2892//
2893// Returned Error Types:
2894//   * InvalidRequestException
2895//   The request is not valid.
2896//
2897//   * InvalidParameterException
2898//   One or more of the specified parameters are not valid.
2899//
2900//   * ResourceNotFoundException
2901//   The specified resource was not found.
2902//
2903//   * ThrottlingException
2904//   The throttling limit has been exceeded.
2905//
2906//   * InternalServiceException
2907//   Request processing failed due to an error or failure with the service.
2908//
2909// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy
2910func (c *Connect) UpdateUserHierarchy(input *UpdateUserHierarchyInput) (*UpdateUserHierarchyOutput, error) {
2911	req, out := c.UpdateUserHierarchyRequest(input)
2912	return out, req.Send()
2913}
2914
2915// UpdateUserHierarchyWithContext is the same as UpdateUserHierarchy with the addition of
2916// the ability to pass a context and additional request options.
2917//
2918// See UpdateUserHierarchy for details on how to use this API operation.
2919//
2920// The context must be non-nil and will be used for request cancellation. If
2921// the context is nil a panic will occur. In the future the SDK may create
2922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2923// for more information on using Contexts.
2924func (c *Connect) UpdateUserHierarchyWithContext(ctx aws.Context, input *UpdateUserHierarchyInput, opts ...request.Option) (*UpdateUserHierarchyOutput, error) {
2925	req, out := c.UpdateUserHierarchyRequest(input)
2926	req.SetContext(ctx)
2927	req.ApplyOptions(opts...)
2928	return out, req.Send()
2929}
2930
2931const opUpdateUserIdentityInfo = "UpdateUserIdentityInfo"
2932
2933// UpdateUserIdentityInfoRequest generates a "aws/request.Request" representing the
2934// client's request for the UpdateUserIdentityInfo operation. The "output" return
2935// value will be populated with the request's response once the request completes
2936// successfully.
2937//
2938// Use "Send" method on the returned Request to send the API call to the service.
2939// the "output" return value is not valid until after Send returns without error.
2940//
2941// See UpdateUserIdentityInfo for more information on using the UpdateUserIdentityInfo
2942// API call, and error handling.
2943//
2944// This method is useful when you want to inject custom logic or configuration
2945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2946//
2947//
2948//    // Example sending a request using the UpdateUserIdentityInfoRequest method.
2949//    req, resp := client.UpdateUserIdentityInfoRequest(params)
2950//
2951//    err := req.Send()
2952//    if err == nil { // resp is now filled
2953//        fmt.Println(resp)
2954//    }
2955//
2956// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo
2957func (c *Connect) UpdateUserIdentityInfoRequest(input *UpdateUserIdentityInfoInput) (req *request.Request, output *UpdateUserIdentityInfoOutput) {
2958	op := &request.Operation{
2959		Name:       opUpdateUserIdentityInfo,
2960		HTTPMethod: "POST",
2961		HTTPPath:   "/users/{InstanceId}/{UserId}/identity-info",
2962	}
2963
2964	if input == nil {
2965		input = &UpdateUserIdentityInfoInput{}
2966	}
2967
2968	output = &UpdateUserIdentityInfoOutput{}
2969	req = c.newRequest(op, input, output)
2970	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2971	return
2972}
2973
2974// UpdateUserIdentityInfo API operation for Amazon Connect Service.
2975//
2976// Updates the identity information for the specified user.
2977//
2978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2979// with awserr.Error's Code and Message methods to get detailed information about
2980// the error.
2981//
2982// See the AWS API reference guide for Amazon Connect Service's
2983// API operation UpdateUserIdentityInfo for usage and error information.
2984//
2985// Returned Error Types:
2986//   * InvalidRequestException
2987//   The request is not valid.
2988//
2989//   * InvalidParameterException
2990//   One or more of the specified parameters are not valid.
2991//
2992//   * ResourceNotFoundException
2993//   The specified resource was not found.
2994//
2995//   * ThrottlingException
2996//   The throttling limit has been exceeded.
2997//
2998//   * InternalServiceException
2999//   Request processing failed due to an error or failure with the service.
3000//
3001// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo
3002func (c *Connect) UpdateUserIdentityInfo(input *UpdateUserIdentityInfoInput) (*UpdateUserIdentityInfoOutput, error) {
3003	req, out := c.UpdateUserIdentityInfoRequest(input)
3004	return out, req.Send()
3005}
3006
3007// UpdateUserIdentityInfoWithContext is the same as UpdateUserIdentityInfo with the addition of
3008// the ability to pass a context and additional request options.
3009//
3010// See UpdateUserIdentityInfo for details on how to use this API operation.
3011//
3012// The context must be non-nil and will be used for request cancellation. If
3013// the context is nil a panic will occur. In the future the SDK may create
3014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3015// for more information on using Contexts.
3016func (c *Connect) UpdateUserIdentityInfoWithContext(ctx aws.Context, input *UpdateUserIdentityInfoInput, opts ...request.Option) (*UpdateUserIdentityInfoOutput, error) {
3017	req, out := c.UpdateUserIdentityInfoRequest(input)
3018	req.SetContext(ctx)
3019	req.ApplyOptions(opts...)
3020	return out, req.Send()
3021}
3022
3023const opUpdateUserPhoneConfig = "UpdateUserPhoneConfig"
3024
3025// UpdateUserPhoneConfigRequest generates a "aws/request.Request" representing the
3026// client's request for the UpdateUserPhoneConfig operation. The "output" return
3027// value will be populated with the request's response once the request completes
3028// successfully.
3029//
3030// Use "Send" method on the returned Request to send the API call to the service.
3031// the "output" return value is not valid until after Send returns without error.
3032//
3033// See UpdateUserPhoneConfig for more information on using the UpdateUserPhoneConfig
3034// API call, and error handling.
3035//
3036// This method is useful when you want to inject custom logic or configuration
3037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3038//
3039//
3040//    // Example sending a request using the UpdateUserPhoneConfigRequest method.
3041//    req, resp := client.UpdateUserPhoneConfigRequest(params)
3042//
3043//    err := req.Send()
3044//    if err == nil { // resp is now filled
3045//        fmt.Println(resp)
3046//    }
3047//
3048// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig
3049func (c *Connect) UpdateUserPhoneConfigRequest(input *UpdateUserPhoneConfigInput) (req *request.Request, output *UpdateUserPhoneConfigOutput) {
3050	op := &request.Operation{
3051		Name:       opUpdateUserPhoneConfig,
3052		HTTPMethod: "POST",
3053		HTTPPath:   "/users/{InstanceId}/{UserId}/phone-config",
3054	}
3055
3056	if input == nil {
3057		input = &UpdateUserPhoneConfigInput{}
3058	}
3059
3060	output = &UpdateUserPhoneConfigOutput{}
3061	req = c.newRequest(op, input, output)
3062	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3063	return
3064}
3065
3066// UpdateUserPhoneConfig API operation for Amazon Connect Service.
3067//
3068// Updates the phone configuration settings for the specified user.
3069//
3070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3071// with awserr.Error's Code and Message methods to get detailed information about
3072// the error.
3073//
3074// See the AWS API reference guide for Amazon Connect Service's
3075// API operation UpdateUserPhoneConfig for usage and error information.
3076//
3077// Returned Error Types:
3078//   * InvalidRequestException
3079//   The request is not valid.
3080//
3081//   * InvalidParameterException
3082//   One or more of the specified parameters are not valid.
3083//
3084//   * ResourceNotFoundException
3085//   The specified resource was not found.
3086//
3087//   * ThrottlingException
3088//   The throttling limit has been exceeded.
3089//
3090//   * InternalServiceException
3091//   Request processing failed due to an error or failure with the service.
3092//
3093// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig
3094func (c *Connect) UpdateUserPhoneConfig(input *UpdateUserPhoneConfigInput) (*UpdateUserPhoneConfigOutput, error) {
3095	req, out := c.UpdateUserPhoneConfigRequest(input)
3096	return out, req.Send()
3097}
3098
3099// UpdateUserPhoneConfigWithContext is the same as UpdateUserPhoneConfig with the addition of
3100// the ability to pass a context and additional request options.
3101//
3102// See UpdateUserPhoneConfig for details on how to use this API operation.
3103//
3104// The context must be non-nil and will be used for request cancellation. If
3105// the context is nil a panic will occur. In the future the SDK may create
3106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3107// for more information on using Contexts.
3108func (c *Connect) UpdateUserPhoneConfigWithContext(ctx aws.Context, input *UpdateUserPhoneConfigInput, opts ...request.Option) (*UpdateUserPhoneConfigOutput, error) {
3109	req, out := c.UpdateUserPhoneConfigRequest(input)
3110	req.SetContext(ctx)
3111	req.ApplyOptions(opts...)
3112	return out, req.Send()
3113}
3114
3115const opUpdateUserRoutingProfile = "UpdateUserRoutingProfile"
3116
3117// UpdateUserRoutingProfileRequest generates a "aws/request.Request" representing the
3118// client's request for the UpdateUserRoutingProfile operation. The "output" return
3119// value will be populated with the request's response once the request completes
3120// successfully.
3121//
3122// Use "Send" method on the returned Request to send the API call to the service.
3123// the "output" return value is not valid until after Send returns without error.
3124//
3125// See UpdateUserRoutingProfile for more information on using the UpdateUserRoutingProfile
3126// API call, and error handling.
3127//
3128// This method is useful when you want to inject custom logic or configuration
3129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3130//
3131//
3132//    // Example sending a request using the UpdateUserRoutingProfileRequest method.
3133//    req, resp := client.UpdateUserRoutingProfileRequest(params)
3134//
3135//    err := req.Send()
3136//    if err == nil { // resp is now filled
3137//        fmt.Println(resp)
3138//    }
3139//
3140// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile
3141func (c *Connect) UpdateUserRoutingProfileRequest(input *UpdateUserRoutingProfileInput) (req *request.Request, output *UpdateUserRoutingProfileOutput) {
3142	op := &request.Operation{
3143		Name:       opUpdateUserRoutingProfile,
3144		HTTPMethod: "POST",
3145		HTTPPath:   "/users/{InstanceId}/{UserId}/routing-profile",
3146	}
3147
3148	if input == nil {
3149		input = &UpdateUserRoutingProfileInput{}
3150	}
3151
3152	output = &UpdateUserRoutingProfileOutput{}
3153	req = c.newRequest(op, input, output)
3154	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3155	return
3156}
3157
3158// UpdateUserRoutingProfile API operation for Amazon Connect Service.
3159//
3160// Assigns the specified routing profile to the specified user.
3161//
3162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3163// with awserr.Error's Code and Message methods to get detailed information about
3164// the error.
3165//
3166// See the AWS API reference guide for Amazon Connect Service's
3167// API operation UpdateUserRoutingProfile for usage and error information.
3168//
3169// Returned Error Types:
3170//   * InvalidRequestException
3171//   The request is not valid.
3172//
3173//   * InvalidParameterException
3174//   One or more of the specified parameters are not valid.
3175//
3176//   * ResourceNotFoundException
3177//   The specified resource was not found.
3178//
3179//   * ThrottlingException
3180//   The throttling limit has been exceeded.
3181//
3182//   * InternalServiceException
3183//   Request processing failed due to an error or failure with the service.
3184//
3185// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile
3186func (c *Connect) UpdateUserRoutingProfile(input *UpdateUserRoutingProfileInput) (*UpdateUserRoutingProfileOutput, error) {
3187	req, out := c.UpdateUserRoutingProfileRequest(input)
3188	return out, req.Send()
3189}
3190
3191// UpdateUserRoutingProfileWithContext is the same as UpdateUserRoutingProfile with the addition of
3192// the ability to pass a context and additional request options.
3193//
3194// See UpdateUserRoutingProfile for details on how to use this API operation.
3195//
3196// The context must be non-nil and will be used for request cancellation. If
3197// the context is nil a panic will occur. In the future the SDK may create
3198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3199// for more information on using Contexts.
3200func (c *Connect) UpdateUserRoutingProfileWithContext(ctx aws.Context, input *UpdateUserRoutingProfileInput, opts ...request.Option) (*UpdateUserRoutingProfileOutput, error) {
3201	req, out := c.UpdateUserRoutingProfileRequest(input)
3202	req.SetContext(ctx)
3203	req.ApplyOptions(opts...)
3204	return out, req.Send()
3205}
3206
3207const opUpdateUserSecurityProfiles = "UpdateUserSecurityProfiles"
3208
3209// UpdateUserSecurityProfilesRequest generates a "aws/request.Request" representing the
3210// client's request for the UpdateUserSecurityProfiles operation. The "output" return
3211// value will be populated with the request's response once the request completes
3212// successfully.
3213//
3214// Use "Send" method on the returned Request to send the API call to the service.
3215// the "output" return value is not valid until after Send returns without error.
3216//
3217// See UpdateUserSecurityProfiles for more information on using the UpdateUserSecurityProfiles
3218// API call, and error handling.
3219//
3220// This method is useful when you want to inject custom logic or configuration
3221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3222//
3223//
3224//    // Example sending a request using the UpdateUserSecurityProfilesRequest method.
3225//    req, resp := client.UpdateUserSecurityProfilesRequest(params)
3226//
3227//    err := req.Send()
3228//    if err == nil { // resp is now filled
3229//        fmt.Println(resp)
3230//    }
3231//
3232// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles
3233func (c *Connect) UpdateUserSecurityProfilesRequest(input *UpdateUserSecurityProfilesInput) (req *request.Request, output *UpdateUserSecurityProfilesOutput) {
3234	op := &request.Operation{
3235		Name:       opUpdateUserSecurityProfiles,
3236		HTTPMethod: "POST",
3237		HTTPPath:   "/users/{InstanceId}/{UserId}/security-profiles",
3238	}
3239
3240	if input == nil {
3241		input = &UpdateUserSecurityProfilesInput{}
3242	}
3243
3244	output = &UpdateUserSecurityProfilesOutput{}
3245	req = c.newRequest(op, input, output)
3246	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3247	return
3248}
3249
3250// UpdateUserSecurityProfiles API operation for Amazon Connect Service.
3251//
3252// Assigns the specified security profiles to the specified user.
3253//
3254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3255// with awserr.Error's Code and Message methods to get detailed information about
3256// the error.
3257//
3258// See the AWS API reference guide for Amazon Connect Service's
3259// API operation UpdateUserSecurityProfiles for usage and error information.
3260//
3261// Returned Error Types:
3262//   * InvalidRequestException
3263//   The request is not valid.
3264//
3265//   * InvalidParameterException
3266//   One or more of the specified parameters are not valid.
3267//
3268//   * ResourceNotFoundException
3269//   The specified resource was not found.
3270//
3271//   * ThrottlingException
3272//   The throttling limit has been exceeded.
3273//
3274//   * InternalServiceException
3275//   Request processing failed due to an error or failure with the service.
3276//
3277// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles
3278func (c *Connect) UpdateUserSecurityProfiles(input *UpdateUserSecurityProfilesInput) (*UpdateUserSecurityProfilesOutput, error) {
3279	req, out := c.UpdateUserSecurityProfilesRequest(input)
3280	return out, req.Send()
3281}
3282
3283// UpdateUserSecurityProfilesWithContext is the same as UpdateUserSecurityProfiles with the addition of
3284// the ability to pass a context and additional request options.
3285//
3286// See UpdateUserSecurityProfiles for details on how to use this API operation.
3287//
3288// The context must be non-nil and will be used for request cancellation. If
3289// the context is nil a panic will occur. In the future the SDK may create
3290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3291// for more information on using Contexts.
3292func (c *Connect) UpdateUserSecurityProfilesWithContext(ctx aws.Context, input *UpdateUserSecurityProfilesInput, opts ...request.Option) (*UpdateUserSecurityProfilesOutput, error) {
3293	req, out := c.UpdateUserSecurityProfilesRequest(input)
3294	req.SetContext(ctx)
3295	req.ApplyOptions(opts...)
3296	return out, req.Send()
3297}
3298
3299// A chat message.
3300type ChatMessage struct {
3301	_ struct{} `type:"structure"`
3302
3303	// The content of the chat message.
3304	//
3305	// Content is a required field
3306	Content *string `min:"1" type:"string" required:"true"`
3307
3308	// The type of the content. Supported types are text/plain.
3309	//
3310	// ContentType is a required field
3311	ContentType *string `min:"1" type:"string" required:"true"`
3312}
3313
3314// String returns the string representation
3315func (s ChatMessage) String() string {
3316	return awsutil.Prettify(s)
3317}
3318
3319// GoString returns the string representation
3320func (s ChatMessage) GoString() string {
3321	return s.String()
3322}
3323
3324// Validate inspects the fields of the type to determine if they are valid.
3325func (s *ChatMessage) Validate() error {
3326	invalidParams := request.ErrInvalidParams{Context: "ChatMessage"}
3327	if s.Content == nil {
3328		invalidParams.Add(request.NewErrParamRequired("Content"))
3329	}
3330	if s.Content != nil && len(*s.Content) < 1 {
3331		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
3332	}
3333	if s.ContentType == nil {
3334		invalidParams.Add(request.NewErrParamRequired("ContentType"))
3335	}
3336	if s.ContentType != nil && len(*s.ContentType) < 1 {
3337		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
3338	}
3339
3340	if invalidParams.Len() > 0 {
3341		return invalidParams
3342	}
3343	return nil
3344}
3345
3346// SetContent sets the Content field's value.
3347func (s *ChatMessage) SetContent(v string) *ChatMessage {
3348	s.Content = &v
3349	return s
3350}
3351
3352// SetContentType sets the ContentType field's value.
3353func (s *ChatMessage) SetContentType(v string) *ChatMessage {
3354	s.ContentType = &v
3355	return s
3356}
3357
3358// Contains summary information about a contact flow.
3359type ContactFlowSummary struct {
3360	_ struct{} `type:"structure"`
3361
3362	// The Amazon Resource Name (ARN) of the contact flow.
3363	Arn *string `type:"string"`
3364
3365	// The type of contact flow.
3366	ContactFlowType *string `type:"string" enum:"ContactFlowType"`
3367
3368	// The identifier of the contact flow.
3369	Id *string `type:"string"`
3370
3371	// The name of the contact flow.
3372	Name *string `type:"string"`
3373}
3374
3375// String returns the string representation
3376func (s ContactFlowSummary) String() string {
3377	return awsutil.Prettify(s)
3378}
3379
3380// GoString returns the string representation
3381func (s ContactFlowSummary) GoString() string {
3382	return s.String()
3383}
3384
3385// SetArn sets the Arn field's value.
3386func (s *ContactFlowSummary) SetArn(v string) *ContactFlowSummary {
3387	s.Arn = &v
3388	return s
3389}
3390
3391// SetContactFlowType sets the ContactFlowType field's value.
3392func (s *ContactFlowSummary) SetContactFlowType(v string) *ContactFlowSummary {
3393	s.ContactFlowType = &v
3394	return s
3395}
3396
3397// SetId sets the Id field's value.
3398func (s *ContactFlowSummary) SetId(v string) *ContactFlowSummary {
3399	s.Id = &v
3400	return s
3401}
3402
3403// SetName sets the Name field's value.
3404func (s *ContactFlowSummary) SetName(v string) *ContactFlowSummary {
3405	s.Name = &v
3406	return s
3407}
3408
3409// The contact with the specified ID is not active or does not exist.
3410type ContactNotFoundException struct {
3411	_            struct{}                  `type:"structure"`
3412	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3413
3414	// The message.
3415	Message_ *string `locationName:"Message" type:"string"`
3416}
3417
3418// String returns the string representation
3419func (s ContactNotFoundException) String() string {
3420	return awsutil.Prettify(s)
3421}
3422
3423// GoString returns the string representation
3424func (s ContactNotFoundException) GoString() string {
3425	return s.String()
3426}
3427
3428func newErrorContactNotFoundException(v protocol.ResponseMetadata) error {
3429	return &ContactNotFoundException{
3430		RespMetadata: v,
3431	}
3432}
3433
3434// Code returns the exception type name.
3435func (s *ContactNotFoundException) Code() string {
3436	return "ContactNotFoundException"
3437}
3438
3439// Message returns the exception's message.
3440func (s *ContactNotFoundException) Message() string {
3441	if s.Message_ != nil {
3442		return *s.Message_
3443	}
3444	return ""
3445}
3446
3447// OrigErr always returns nil, satisfies awserr.Error interface.
3448func (s *ContactNotFoundException) OrigErr() error {
3449	return nil
3450}
3451
3452func (s *ContactNotFoundException) Error() string {
3453	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
3454}
3455
3456// Status code returns the HTTP status code for the request's response error.
3457func (s *ContactNotFoundException) StatusCode() int {
3458	return s.RespMetadata.StatusCode
3459}
3460
3461// RequestID returns the service's response RequestID for request.
3462func (s *ContactNotFoundException) RequestID() string {
3463	return s.RespMetadata.RequestID
3464}
3465
3466type CreateUserInput struct {
3467	_ struct{} `type:"structure"`
3468
3469	// The identifier of the user account in the directory used for identity management.
3470	// If Amazon Connect cannot access the directory, you can specify this identifier
3471	// to authenticate users. If you include the identifier, we assume that Amazon
3472	// Connect cannot access the directory. Otherwise, the identity information
3473	// is used to authenticate users from your directory.
3474	//
3475	// This parameter is required if you are using an existing directory for identity
3476	// management in Amazon Connect when Amazon Connect cannot access your directory
3477	// to authenticate users. If you are using SAML for identity management and
3478	// include this parameter, an error is returned.
3479	DirectoryUserId *string `type:"string"`
3480
3481	// The identifier of the hierarchy group for the user.
3482	HierarchyGroupId *string `type:"string"`
3483
3484	// The information about the identity of the user.
3485	IdentityInfo *UserIdentityInfo `type:"structure"`
3486
3487	// The identifier of the Amazon Connect instance.
3488	//
3489	// InstanceId is a required field
3490	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
3491
3492	// The password for the user account. A password is required if you are using
3493	// Amazon Connect for identity management. Otherwise, it is an error to include
3494	// a password.
3495	Password *string `type:"string"`
3496
3497	// The phone settings for the user.
3498	//
3499	// PhoneConfig is a required field
3500	PhoneConfig *UserPhoneConfig `type:"structure" required:"true"`
3501
3502	// The identifier of the routing profile for the user.
3503	//
3504	// RoutingProfileId is a required field
3505	RoutingProfileId *string `type:"string" required:"true"`
3506
3507	// The identifier of the security profile for the user.
3508	//
3509	// SecurityProfileIds is a required field
3510	SecurityProfileIds []*string `min:"1" type:"list" required:"true"`
3511
3512	// One or more tags.
3513	Tags map[string]*string `min:"1" type:"map"`
3514
3515	// The user name for the account. For instances not using SAML for identity
3516	// management, the user name can include up to 20 characters. If you are using
3517	// SAML for identity management, the user name can include up to 64 characters
3518	// from [a-zA-Z0-9_-.\@]+.
3519	//
3520	// Username is a required field
3521	Username *string `min:"1" type:"string" required:"true"`
3522}
3523
3524// String returns the string representation
3525func (s CreateUserInput) String() string {
3526	return awsutil.Prettify(s)
3527}
3528
3529// GoString returns the string representation
3530func (s CreateUserInput) GoString() string {
3531	return s.String()
3532}
3533
3534// Validate inspects the fields of the type to determine if they are valid.
3535func (s *CreateUserInput) Validate() error {
3536	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
3537	if s.InstanceId == nil {
3538		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
3539	}
3540	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
3541		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
3542	}
3543	if s.PhoneConfig == nil {
3544		invalidParams.Add(request.NewErrParamRequired("PhoneConfig"))
3545	}
3546	if s.RoutingProfileId == nil {
3547		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
3548	}
3549	if s.SecurityProfileIds == nil {
3550		invalidParams.Add(request.NewErrParamRequired("SecurityProfileIds"))
3551	}
3552	if s.SecurityProfileIds != nil && len(s.SecurityProfileIds) < 1 {
3553		invalidParams.Add(request.NewErrParamMinLen("SecurityProfileIds", 1))
3554	}
3555	if s.Tags != nil && len(s.Tags) < 1 {
3556		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
3557	}
3558	if s.Username == nil {
3559		invalidParams.Add(request.NewErrParamRequired("Username"))
3560	}
3561	if s.Username != nil && len(*s.Username) < 1 {
3562		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
3563	}
3564	if s.IdentityInfo != nil {
3565		if err := s.IdentityInfo.Validate(); err != nil {
3566			invalidParams.AddNested("IdentityInfo", err.(request.ErrInvalidParams))
3567		}
3568	}
3569	if s.PhoneConfig != nil {
3570		if err := s.PhoneConfig.Validate(); err != nil {
3571			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
3572		}
3573	}
3574
3575	if invalidParams.Len() > 0 {
3576		return invalidParams
3577	}
3578	return nil
3579}
3580
3581// SetDirectoryUserId sets the DirectoryUserId field's value.
3582func (s *CreateUserInput) SetDirectoryUserId(v string) *CreateUserInput {
3583	s.DirectoryUserId = &v
3584	return s
3585}
3586
3587// SetHierarchyGroupId sets the HierarchyGroupId field's value.
3588func (s *CreateUserInput) SetHierarchyGroupId(v string) *CreateUserInput {
3589	s.HierarchyGroupId = &v
3590	return s
3591}
3592
3593// SetIdentityInfo sets the IdentityInfo field's value.
3594func (s *CreateUserInput) SetIdentityInfo(v *UserIdentityInfo) *CreateUserInput {
3595	s.IdentityInfo = v
3596	return s
3597}
3598
3599// SetInstanceId sets the InstanceId field's value.
3600func (s *CreateUserInput) SetInstanceId(v string) *CreateUserInput {
3601	s.InstanceId = &v
3602	return s
3603}
3604
3605// SetPassword sets the Password field's value.
3606func (s *CreateUserInput) SetPassword(v string) *CreateUserInput {
3607	s.Password = &v
3608	return s
3609}
3610
3611// SetPhoneConfig sets the PhoneConfig field's value.
3612func (s *CreateUserInput) SetPhoneConfig(v *UserPhoneConfig) *CreateUserInput {
3613	s.PhoneConfig = v
3614	return s
3615}
3616
3617// SetRoutingProfileId sets the RoutingProfileId field's value.
3618func (s *CreateUserInput) SetRoutingProfileId(v string) *CreateUserInput {
3619	s.RoutingProfileId = &v
3620	return s
3621}
3622
3623// SetSecurityProfileIds sets the SecurityProfileIds field's value.
3624func (s *CreateUserInput) SetSecurityProfileIds(v []*string) *CreateUserInput {
3625	s.SecurityProfileIds = v
3626	return s
3627}
3628
3629// SetTags sets the Tags field's value.
3630func (s *CreateUserInput) SetTags(v map[string]*string) *CreateUserInput {
3631	s.Tags = v
3632	return s
3633}
3634
3635// SetUsername sets the Username field's value.
3636func (s *CreateUserInput) SetUsername(v string) *CreateUserInput {
3637	s.Username = &v
3638	return s
3639}
3640
3641type CreateUserOutput struct {
3642	_ struct{} `type:"structure"`
3643
3644	// The Amazon Resource Name (ARN) of the user account.
3645	UserArn *string `type:"string"`
3646
3647	// The identifier of the user account.
3648	UserId *string `type:"string"`
3649}
3650
3651// String returns the string representation
3652func (s CreateUserOutput) String() string {
3653	return awsutil.Prettify(s)
3654}
3655
3656// GoString returns the string representation
3657func (s CreateUserOutput) GoString() string {
3658	return s.String()
3659}
3660
3661// SetUserArn sets the UserArn field's value.
3662func (s *CreateUserOutput) SetUserArn(v string) *CreateUserOutput {
3663	s.UserArn = &v
3664	return s
3665}
3666
3667// SetUserId sets the UserId field's value.
3668func (s *CreateUserOutput) SetUserId(v string) *CreateUserOutput {
3669	s.UserId = &v
3670	return s
3671}
3672
3673// Contains credentials to use for federation.
3674type Credentials struct {
3675	_ struct{} `type:"structure"`
3676
3677	// An access token generated for a federated user to access Amazon Connect.
3678	AccessToken *string `type:"string" sensitive:"true"`
3679
3680	// A token generated with an expiration time for the session a user is logged
3681	// in to Amazon Connect.
3682	AccessTokenExpiration *time.Time `type:"timestamp"`
3683
3684	// Renews a token generated for a user to access the Amazon Connect instance.
3685	RefreshToken *string `type:"string" sensitive:"true"`
3686
3687	// Renews the expiration timer for a generated token.
3688	RefreshTokenExpiration *time.Time `type:"timestamp"`
3689}
3690
3691// String returns the string representation
3692func (s Credentials) String() string {
3693	return awsutil.Prettify(s)
3694}
3695
3696// GoString returns the string representation
3697func (s Credentials) GoString() string {
3698	return s.String()
3699}
3700
3701// SetAccessToken sets the AccessToken field's value.
3702func (s *Credentials) SetAccessToken(v string) *Credentials {
3703	s.AccessToken = &v
3704	return s
3705}
3706
3707// SetAccessTokenExpiration sets the AccessTokenExpiration field's value.
3708func (s *Credentials) SetAccessTokenExpiration(v time.Time) *Credentials {
3709	s.AccessTokenExpiration = &v
3710	return s
3711}
3712
3713// SetRefreshToken sets the RefreshToken field's value.
3714func (s *Credentials) SetRefreshToken(v string) *Credentials {
3715	s.RefreshToken = &v
3716	return s
3717}
3718
3719// SetRefreshTokenExpiration sets the RefreshTokenExpiration field's value.
3720func (s *Credentials) SetRefreshTokenExpiration(v time.Time) *Credentials {
3721	s.RefreshTokenExpiration = &v
3722	return s
3723}
3724
3725// Contains information about a real-time metric.
3726type CurrentMetric struct {
3727	_ struct{} `type:"structure"`
3728
3729	// The name of the metric.
3730	Name *string `type:"string" enum:"CurrentMetricName"`
3731
3732	// The unit for the metric.
3733	Unit *string `type:"string" enum:"Unit"`
3734}
3735
3736// String returns the string representation
3737func (s CurrentMetric) String() string {
3738	return awsutil.Prettify(s)
3739}
3740
3741// GoString returns the string representation
3742func (s CurrentMetric) GoString() string {
3743	return s.String()
3744}
3745
3746// SetName sets the Name field's value.
3747func (s *CurrentMetric) SetName(v string) *CurrentMetric {
3748	s.Name = &v
3749	return s
3750}
3751
3752// SetUnit sets the Unit field's value.
3753func (s *CurrentMetric) SetUnit(v string) *CurrentMetric {
3754	s.Unit = &v
3755	return s
3756}
3757
3758// Contains the data for a real-time metric.
3759type CurrentMetricData struct {
3760	_ struct{} `type:"structure"`
3761
3762	// Information about the metric.
3763	Metric *CurrentMetric `type:"structure"`
3764
3765	// The value of the metric.
3766	Value *float64 `type:"double"`
3767}
3768
3769// String returns the string representation
3770func (s CurrentMetricData) String() string {
3771	return awsutil.Prettify(s)
3772}
3773
3774// GoString returns the string representation
3775func (s CurrentMetricData) GoString() string {
3776	return s.String()
3777}
3778
3779// SetMetric sets the Metric field's value.
3780func (s *CurrentMetricData) SetMetric(v *CurrentMetric) *CurrentMetricData {
3781	s.Metric = v
3782	return s
3783}
3784
3785// SetValue sets the Value field's value.
3786func (s *CurrentMetricData) SetValue(v float64) *CurrentMetricData {
3787	s.Value = &v
3788	return s
3789}
3790
3791// Contains information about a set of real-time metrics.
3792type CurrentMetricResult struct {
3793	_ struct{} `type:"structure"`
3794
3795	// The set of metrics.
3796	Collections []*CurrentMetricData `type:"list"`
3797
3798	// The dimensions for the metrics.
3799	Dimensions *Dimensions `type:"structure"`
3800}
3801
3802// String returns the string representation
3803func (s CurrentMetricResult) String() string {
3804	return awsutil.Prettify(s)
3805}
3806
3807// GoString returns the string representation
3808func (s CurrentMetricResult) GoString() string {
3809	return s.String()
3810}
3811
3812// SetCollections sets the Collections field's value.
3813func (s *CurrentMetricResult) SetCollections(v []*CurrentMetricData) *CurrentMetricResult {
3814	s.Collections = v
3815	return s
3816}
3817
3818// SetDimensions sets the Dimensions field's value.
3819func (s *CurrentMetricResult) SetDimensions(v *Dimensions) *CurrentMetricResult {
3820	s.Dimensions = v
3821	return s
3822}
3823
3824type DeleteUserInput struct {
3825	_ struct{} `type:"structure"`
3826
3827	// The identifier of the Amazon Connect instance.
3828	//
3829	// InstanceId is a required field
3830	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
3831
3832	// The identifier of the user.
3833	//
3834	// UserId is a required field
3835	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
3836}
3837
3838// String returns the string representation
3839func (s DeleteUserInput) String() string {
3840	return awsutil.Prettify(s)
3841}
3842
3843// GoString returns the string representation
3844func (s DeleteUserInput) GoString() string {
3845	return s.String()
3846}
3847
3848// Validate inspects the fields of the type to determine if they are valid.
3849func (s *DeleteUserInput) Validate() error {
3850	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
3851	if s.InstanceId == nil {
3852		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
3853	}
3854	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
3855		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
3856	}
3857	if s.UserId == nil {
3858		invalidParams.Add(request.NewErrParamRequired("UserId"))
3859	}
3860	if s.UserId != nil && len(*s.UserId) < 1 {
3861		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
3862	}
3863
3864	if invalidParams.Len() > 0 {
3865		return invalidParams
3866	}
3867	return nil
3868}
3869
3870// SetInstanceId sets the InstanceId field's value.
3871func (s *DeleteUserInput) SetInstanceId(v string) *DeleteUserInput {
3872	s.InstanceId = &v
3873	return s
3874}
3875
3876// SetUserId sets the UserId field's value.
3877func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput {
3878	s.UserId = &v
3879	return s
3880}
3881
3882type DeleteUserOutput struct {
3883	_ struct{} `type:"structure"`
3884}
3885
3886// String returns the string representation
3887func (s DeleteUserOutput) String() string {
3888	return awsutil.Prettify(s)
3889}
3890
3891// GoString returns the string representation
3892func (s DeleteUserOutput) GoString() string {
3893	return s.String()
3894}
3895
3896type DescribeUserHierarchyGroupInput struct {
3897	_ struct{} `type:"structure"`
3898
3899	// The identifier of the hierarchy group.
3900	//
3901	// HierarchyGroupId is a required field
3902	HierarchyGroupId *string `location:"uri" locationName:"HierarchyGroupId" type:"string" required:"true"`
3903
3904	// The identifier of the Amazon Connect instance.
3905	//
3906	// InstanceId is a required field
3907	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
3908}
3909
3910// String returns the string representation
3911func (s DescribeUserHierarchyGroupInput) String() string {
3912	return awsutil.Prettify(s)
3913}
3914
3915// GoString returns the string representation
3916func (s DescribeUserHierarchyGroupInput) GoString() string {
3917	return s.String()
3918}
3919
3920// Validate inspects the fields of the type to determine if they are valid.
3921func (s *DescribeUserHierarchyGroupInput) Validate() error {
3922	invalidParams := request.ErrInvalidParams{Context: "DescribeUserHierarchyGroupInput"}
3923	if s.HierarchyGroupId == nil {
3924		invalidParams.Add(request.NewErrParamRequired("HierarchyGroupId"))
3925	}
3926	if s.HierarchyGroupId != nil && len(*s.HierarchyGroupId) < 1 {
3927		invalidParams.Add(request.NewErrParamMinLen("HierarchyGroupId", 1))
3928	}
3929	if s.InstanceId == nil {
3930		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
3931	}
3932	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
3933		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
3934	}
3935
3936	if invalidParams.Len() > 0 {
3937		return invalidParams
3938	}
3939	return nil
3940}
3941
3942// SetHierarchyGroupId sets the HierarchyGroupId field's value.
3943func (s *DescribeUserHierarchyGroupInput) SetHierarchyGroupId(v string) *DescribeUserHierarchyGroupInput {
3944	s.HierarchyGroupId = &v
3945	return s
3946}
3947
3948// SetInstanceId sets the InstanceId field's value.
3949func (s *DescribeUserHierarchyGroupInput) SetInstanceId(v string) *DescribeUserHierarchyGroupInput {
3950	s.InstanceId = &v
3951	return s
3952}
3953
3954type DescribeUserHierarchyGroupOutput struct {
3955	_ struct{} `type:"structure"`
3956
3957	// Information about the hierarchy group.
3958	HierarchyGroup *HierarchyGroup `type:"structure"`
3959}
3960
3961// String returns the string representation
3962func (s DescribeUserHierarchyGroupOutput) String() string {
3963	return awsutil.Prettify(s)
3964}
3965
3966// GoString returns the string representation
3967func (s DescribeUserHierarchyGroupOutput) GoString() string {
3968	return s.String()
3969}
3970
3971// SetHierarchyGroup sets the HierarchyGroup field's value.
3972func (s *DescribeUserHierarchyGroupOutput) SetHierarchyGroup(v *HierarchyGroup) *DescribeUserHierarchyGroupOutput {
3973	s.HierarchyGroup = v
3974	return s
3975}
3976
3977type DescribeUserHierarchyStructureInput struct {
3978	_ struct{} `type:"structure"`
3979
3980	// The identifier of the Amazon Connect instance.
3981	//
3982	// InstanceId is a required field
3983	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
3984}
3985
3986// String returns the string representation
3987func (s DescribeUserHierarchyStructureInput) String() string {
3988	return awsutil.Prettify(s)
3989}
3990
3991// GoString returns the string representation
3992func (s DescribeUserHierarchyStructureInput) GoString() string {
3993	return s.String()
3994}
3995
3996// Validate inspects the fields of the type to determine if they are valid.
3997func (s *DescribeUserHierarchyStructureInput) Validate() error {
3998	invalidParams := request.ErrInvalidParams{Context: "DescribeUserHierarchyStructureInput"}
3999	if s.InstanceId == nil {
4000		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
4001	}
4002	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
4003		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
4004	}
4005
4006	if invalidParams.Len() > 0 {
4007		return invalidParams
4008	}
4009	return nil
4010}
4011
4012// SetInstanceId sets the InstanceId field's value.
4013func (s *DescribeUserHierarchyStructureInput) SetInstanceId(v string) *DescribeUserHierarchyStructureInput {
4014	s.InstanceId = &v
4015	return s
4016}
4017
4018type DescribeUserHierarchyStructureOutput struct {
4019	_ struct{} `type:"structure"`
4020
4021	// Information about the hierarchy structure.
4022	HierarchyStructure *HierarchyStructure `type:"structure"`
4023}
4024
4025// String returns the string representation
4026func (s DescribeUserHierarchyStructureOutput) String() string {
4027	return awsutil.Prettify(s)
4028}
4029
4030// GoString returns the string representation
4031func (s DescribeUserHierarchyStructureOutput) GoString() string {
4032	return s.String()
4033}
4034
4035// SetHierarchyStructure sets the HierarchyStructure field's value.
4036func (s *DescribeUserHierarchyStructureOutput) SetHierarchyStructure(v *HierarchyStructure) *DescribeUserHierarchyStructureOutput {
4037	s.HierarchyStructure = v
4038	return s
4039}
4040
4041type DescribeUserInput struct {
4042	_ struct{} `type:"structure"`
4043
4044	// The identifier of the Amazon Connect instance.
4045	//
4046	// InstanceId is a required field
4047	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
4048
4049	// The identifier of the user account.
4050	//
4051	// UserId is a required field
4052	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
4053}
4054
4055// String returns the string representation
4056func (s DescribeUserInput) String() string {
4057	return awsutil.Prettify(s)
4058}
4059
4060// GoString returns the string representation
4061func (s DescribeUserInput) GoString() string {
4062	return s.String()
4063}
4064
4065// Validate inspects the fields of the type to determine if they are valid.
4066func (s *DescribeUserInput) Validate() error {
4067	invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"}
4068	if s.InstanceId == nil {
4069		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
4070	}
4071	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
4072		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
4073	}
4074	if s.UserId == nil {
4075		invalidParams.Add(request.NewErrParamRequired("UserId"))
4076	}
4077	if s.UserId != nil && len(*s.UserId) < 1 {
4078		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
4079	}
4080
4081	if invalidParams.Len() > 0 {
4082		return invalidParams
4083	}
4084	return nil
4085}
4086
4087// SetInstanceId sets the InstanceId field's value.
4088func (s *DescribeUserInput) SetInstanceId(v string) *DescribeUserInput {
4089	s.InstanceId = &v
4090	return s
4091}
4092
4093// SetUserId sets the UserId field's value.
4094func (s *DescribeUserInput) SetUserId(v string) *DescribeUserInput {
4095	s.UserId = &v
4096	return s
4097}
4098
4099type DescribeUserOutput struct {
4100	_ struct{} `type:"structure"`
4101
4102	// Information about the user account and configuration settings.
4103	User *User `type:"structure"`
4104}
4105
4106// String returns the string representation
4107func (s DescribeUserOutput) String() string {
4108	return awsutil.Prettify(s)
4109}
4110
4111// GoString returns the string representation
4112func (s DescribeUserOutput) GoString() string {
4113	return s.String()
4114}
4115
4116// SetUser sets the User field's value.
4117func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput {
4118	s.User = v
4119	return s
4120}
4121
4122// Outbound calls to the destination number are not allowed.
4123type DestinationNotAllowedException struct {
4124	_            struct{}                  `type:"structure"`
4125	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4126
4127	// The message.
4128	Message_ *string `locationName:"Message" type:"string"`
4129}
4130
4131// String returns the string representation
4132func (s DestinationNotAllowedException) String() string {
4133	return awsutil.Prettify(s)
4134}
4135
4136// GoString returns the string representation
4137func (s DestinationNotAllowedException) GoString() string {
4138	return s.String()
4139}
4140
4141func newErrorDestinationNotAllowedException(v protocol.ResponseMetadata) error {
4142	return &DestinationNotAllowedException{
4143		RespMetadata: v,
4144	}
4145}
4146
4147// Code returns the exception type name.
4148func (s *DestinationNotAllowedException) Code() string {
4149	return "DestinationNotAllowedException"
4150}
4151
4152// Message returns the exception's message.
4153func (s *DestinationNotAllowedException) Message() string {
4154	if s.Message_ != nil {
4155		return *s.Message_
4156	}
4157	return ""
4158}
4159
4160// OrigErr always returns nil, satisfies awserr.Error interface.
4161func (s *DestinationNotAllowedException) OrigErr() error {
4162	return nil
4163}
4164
4165func (s *DestinationNotAllowedException) Error() string {
4166	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4167}
4168
4169// Status code returns the HTTP status code for the request's response error.
4170func (s *DestinationNotAllowedException) StatusCode() int {
4171	return s.RespMetadata.StatusCode
4172}
4173
4174// RequestID returns the service's response RequestID for request.
4175func (s *DestinationNotAllowedException) RequestID() string {
4176	return s.RespMetadata.RequestID
4177}
4178
4179// Contains information about the dimensions for a set of metrics.
4180type Dimensions struct {
4181	_ struct{} `type:"structure"`
4182
4183	// The channel used for grouping and filters.
4184	Channel *string `type:"string" enum:"Channel"`
4185
4186	// Information about the queue for which metrics are returned.
4187	Queue *QueueReference `type:"structure"`
4188}
4189
4190// String returns the string representation
4191func (s Dimensions) String() string {
4192	return awsutil.Prettify(s)
4193}
4194
4195// GoString returns the string representation
4196func (s Dimensions) GoString() string {
4197	return s.String()
4198}
4199
4200// SetChannel sets the Channel field's value.
4201func (s *Dimensions) SetChannel(v string) *Dimensions {
4202	s.Channel = &v
4203	return s
4204}
4205
4206// SetQueue sets the Queue field's value.
4207func (s *Dimensions) SetQueue(v *QueueReference) *Dimensions {
4208	s.Queue = v
4209	return s
4210}
4211
4212// A resource with the specified name already exists.
4213type DuplicateResourceException struct {
4214	_            struct{}                  `type:"structure"`
4215	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4216
4217	Message_ *string `locationName:"Message" type:"string"`
4218}
4219
4220// String returns the string representation
4221func (s DuplicateResourceException) String() string {
4222	return awsutil.Prettify(s)
4223}
4224
4225// GoString returns the string representation
4226func (s DuplicateResourceException) GoString() string {
4227	return s.String()
4228}
4229
4230func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
4231	return &DuplicateResourceException{
4232		RespMetadata: v,
4233	}
4234}
4235
4236// Code returns the exception type name.
4237func (s *DuplicateResourceException) Code() string {
4238	return "DuplicateResourceException"
4239}
4240
4241// Message returns the exception's message.
4242func (s *DuplicateResourceException) Message() string {
4243	if s.Message_ != nil {
4244		return *s.Message_
4245	}
4246	return ""
4247}
4248
4249// OrigErr always returns nil, satisfies awserr.Error interface.
4250func (s *DuplicateResourceException) OrigErr() error {
4251	return nil
4252}
4253
4254func (s *DuplicateResourceException) Error() string {
4255	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4256}
4257
4258// Status code returns the HTTP status code for the request's response error.
4259func (s *DuplicateResourceException) StatusCode() int {
4260	return s.RespMetadata.StatusCode
4261}
4262
4263// RequestID returns the service's response RequestID for request.
4264func (s *DuplicateResourceException) RequestID() string {
4265	return s.RespMetadata.RequestID
4266}
4267
4268// Contains the filter to apply when retrieving metrics.
4269type Filters struct {
4270	_ struct{} `type:"structure"`
4271
4272	// The channel to use to filter the metrics.
4273	Channels []*string `type:"list"`
4274
4275	// The queues to use to filter the metrics. You can specify up to 100 queues
4276	// per request.
4277	Queues []*string `min:"1" type:"list"`
4278}
4279
4280// String returns the string representation
4281func (s Filters) String() string {
4282	return awsutil.Prettify(s)
4283}
4284
4285// GoString returns the string representation
4286func (s Filters) GoString() string {
4287	return s.String()
4288}
4289
4290// Validate inspects the fields of the type to determine if they are valid.
4291func (s *Filters) Validate() error {
4292	invalidParams := request.ErrInvalidParams{Context: "Filters"}
4293	if s.Queues != nil && len(s.Queues) < 1 {
4294		invalidParams.Add(request.NewErrParamMinLen("Queues", 1))
4295	}
4296
4297	if invalidParams.Len() > 0 {
4298		return invalidParams
4299	}
4300	return nil
4301}
4302
4303// SetChannels sets the Channels field's value.
4304func (s *Filters) SetChannels(v []*string) *Filters {
4305	s.Channels = v
4306	return s
4307}
4308
4309// SetQueues sets the Queues field's value.
4310func (s *Filters) SetQueues(v []*string) *Filters {
4311	s.Queues = v
4312	return s
4313}
4314
4315type GetContactAttributesInput struct {
4316	_ struct{} `type:"structure"`
4317
4318	// The identifier of the initial contact.
4319	//
4320	// InitialContactId is a required field
4321	InitialContactId *string `location:"uri" locationName:"InitialContactId" min:"1" type:"string" required:"true"`
4322
4323	// The identifier of the Amazon Connect instance.
4324	//
4325	// InstanceId is a required field
4326	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
4327}
4328
4329// String returns the string representation
4330func (s GetContactAttributesInput) String() string {
4331	return awsutil.Prettify(s)
4332}
4333
4334// GoString returns the string representation
4335func (s GetContactAttributesInput) GoString() string {
4336	return s.String()
4337}
4338
4339// Validate inspects the fields of the type to determine if they are valid.
4340func (s *GetContactAttributesInput) Validate() error {
4341	invalidParams := request.ErrInvalidParams{Context: "GetContactAttributesInput"}
4342	if s.InitialContactId == nil {
4343		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
4344	}
4345	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
4346		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
4347	}
4348	if s.InstanceId == nil {
4349		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
4350	}
4351	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
4352		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
4353	}
4354
4355	if invalidParams.Len() > 0 {
4356		return invalidParams
4357	}
4358	return nil
4359}
4360
4361// SetInitialContactId sets the InitialContactId field's value.
4362func (s *GetContactAttributesInput) SetInitialContactId(v string) *GetContactAttributesInput {
4363	s.InitialContactId = &v
4364	return s
4365}
4366
4367// SetInstanceId sets the InstanceId field's value.
4368func (s *GetContactAttributesInput) SetInstanceId(v string) *GetContactAttributesInput {
4369	s.InstanceId = &v
4370	return s
4371}
4372
4373type GetContactAttributesOutput struct {
4374	_ struct{} `type:"structure"`
4375
4376	// Information about the attributes.
4377	Attributes map[string]*string `type:"map"`
4378}
4379
4380// String returns the string representation
4381func (s GetContactAttributesOutput) String() string {
4382	return awsutil.Prettify(s)
4383}
4384
4385// GoString returns the string representation
4386func (s GetContactAttributesOutput) GoString() string {
4387	return s.String()
4388}
4389
4390// SetAttributes sets the Attributes field's value.
4391func (s *GetContactAttributesOutput) SetAttributes(v map[string]*string) *GetContactAttributesOutput {
4392	s.Attributes = v
4393	return s
4394}
4395
4396type GetCurrentMetricDataInput struct {
4397	_ struct{} `type:"structure"`
4398
4399	// The metrics to retrieve. Specify the name and unit for each metric. The following
4400	// metrics are available:
4401	//
4402	// AGENTS_AFTER_CONTACT_WORK
4403	//
4404	// Unit: COUNT
4405	//
4406	// AGENTS_AVAILABLE
4407	//
4408	// Unit: COUNT
4409	//
4410	// AGENTS_ERROR
4411	//
4412	// Unit: COUNT
4413	//
4414	// AGENTS_NON_PRODUCTIVE
4415	//
4416	// Unit: COUNT
4417	//
4418	// AGENTS_ON_CALL
4419	//
4420	// Unit: COUNT
4421	//
4422	// AGENTS_ON_CONTACT
4423	//
4424	// Unit: COUNT
4425	//
4426	// AGENTS_ONLINE
4427	//
4428	// Unit: COUNT
4429	//
4430	// AGENTS_STAFFED
4431	//
4432	// Unit: COUNT
4433	//
4434	// CONTACTS_IN_QUEUE
4435	//
4436	// Unit: COUNT
4437	//
4438	// CONTACTS_SCHEDULED
4439	//
4440	// Unit: COUNT
4441	//
4442	// OLDEST_CONTACT_AGE
4443	//
4444	// Unit: SECONDS
4445	//
4446	// SLOTS_ACTIVE
4447	//
4448	// Unit: COUNT
4449	//
4450	// SLOTS_AVAILABLE
4451	//
4452	// Unit: COUNT
4453	//
4454	// CurrentMetrics is a required field
4455	CurrentMetrics []*CurrentMetric `type:"list" required:"true"`
4456
4457	// The queues, up to 100, or channels, to use to filter the metrics returned.
4458	// Metric data is retrieved only for the resources associated with the queues
4459	// or channels included in the filter. You can include both queue IDs and queue
4460	// ARNs in the same request. The only supported channel is VOICE.
4461	//
4462	// Filters is a required field
4463	Filters *Filters `type:"structure" required:"true"`
4464
4465	// The grouping applied to the metrics returned. For example, when grouped by
4466	// QUEUE, the metrics returned apply to each queue rather than aggregated for
4467	// all queues. If you group by CHANNEL, you should include a Channels filter.
4468	// The only supported channel is VOICE.
4469	//
4470	// If no Grouping is included in the request, a summary of metrics is returned.
4471	Groupings []*string `type:"list"`
4472
4473	// The identifier of the Amazon Connect instance.
4474	//
4475	// InstanceId is a required field
4476	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
4477
4478	// The maximimum number of results to return per page.
4479	MaxResults *int64 `min:"1" type:"integer"`
4480
4481	// The token for the next set of results. Use the value returned in the previous
4482	// response in the next request to retrieve the next set of results.
4483	//
4484	// The token expires after 5 minutes from the time it is created. Subsequent
4485	// requests that use the token must use the same request parameters as the request
4486	// that generated the token.
4487	NextToken *string `type:"string"`
4488}
4489
4490// String returns the string representation
4491func (s GetCurrentMetricDataInput) String() string {
4492	return awsutil.Prettify(s)
4493}
4494
4495// GoString returns the string representation
4496func (s GetCurrentMetricDataInput) GoString() string {
4497	return s.String()
4498}
4499
4500// Validate inspects the fields of the type to determine if they are valid.
4501func (s *GetCurrentMetricDataInput) Validate() error {
4502	invalidParams := request.ErrInvalidParams{Context: "GetCurrentMetricDataInput"}
4503	if s.CurrentMetrics == nil {
4504		invalidParams.Add(request.NewErrParamRequired("CurrentMetrics"))
4505	}
4506	if s.Filters == nil {
4507		invalidParams.Add(request.NewErrParamRequired("Filters"))
4508	}
4509	if s.InstanceId == nil {
4510		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
4511	}
4512	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
4513		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
4514	}
4515	if s.MaxResults != nil && *s.MaxResults < 1 {
4516		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4517	}
4518	if s.Filters != nil {
4519		if err := s.Filters.Validate(); err != nil {
4520			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
4521		}
4522	}
4523
4524	if invalidParams.Len() > 0 {
4525		return invalidParams
4526	}
4527	return nil
4528}
4529
4530// SetCurrentMetrics sets the CurrentMetrics field's value.
4531func (s *GetCurrentMetricDataInput) SetCurrentMetrics(v []*CurrentMetric) *GetCurrentMetricDataInput {
4532	s.CurrentMetrics = v
4533	return s
4534}
4535
4536// SetFilters sets the Filters field's value.
4537func (s *GetCurrentMetricDataInput) SetFilters(v *Filters) *GetCurrentMetricDataInput {
4538	s.Filters = v
4539	return s
4540}
4541
4542// SetGroupings sets the Groupings field's value.
4543func (s *GetCurrentMetricDataInput) SetGroupings(v []*string) *GetCurrentMetricDataInput {
4544	s.Groupings = v
4545	return s
4546}
4547
4548// SetInstanceId sets the InstanceId field's value.
4549func (s *GetCurrentMetricDataInput) SetInstanceId(v string) *GetCurrentMetricDataInput {
4550	s.InstanceId = &v
4551	return s
4552}
4553
4554// SetMaxResults sets the MaxResults field's value.
4555func (s *GetCurrentMetricDataInput) SetMaxResults(v int64) *GetCurrentMetricDataInput {
4556	s.MaxResults = &v
4557	return s
4558}
4559
4560// SetNextToken sets the NextToken field's value.
4561func (s *GetCurrentMetricDataInput) SetNextToken(v string) *GetCurrentMetricDataInput {
4562	s.NextToken = &v
4563	return s
4564}
4565
4566type GetCurrentMetricDataOutput struct {
4567	_ struct{} `type:"structure"`
4568
4569	// The time at which the metrics were retrieved and cached for pagination.
4570	DataSnapshotTime *time.Time `type:"timestamp"`
4571
4572	// Information about the real-time metrics.
4573	MetricResults []*CurrentMetricResult `type:"list"`
4574
4575	// If there are additional results, this is the token for the next set of results.
4576	//
4577	// The token expires after 5 minutes from the time it is created. Subsequent
4578	// requests that use the token must use the same request parameters as the request
4579	// that generated the token.
4580	NextToken *string `type:"string"`
4581}
4582
4583// String returns the string representation
4584func (s GetCurrentMetricDataOutput) String() string {
4585	return awsutil.Prettify(s)
4586}
4587
4588// GoString returns the string representation
4589func (s GetCurrentMetricDataOutput) GoString() string {
4590	return s.String()
4591}
4592
4593// SetDataSnapshotTime sets the DataSnapshotTime field's value.
4594func (s *GetCurrentMetricDataOutput) SetDataSnapshotTime(v time.Time) *GetCurrentMetricDataOutput {
4595	s.DataSnapshotTime = &v
4596	return s
4597}
4598
4599// SetMetricResults sets the MetricResults field's value.
4600func (s *GetCurrentMetricDataOutput) SetMetricResults(v []*CurrentMetricResult) *GetCurrentMetricDataOutput {
4601	s.MetricResults = v
4602	return s
4603}
4604
4605// SetNextToken sets the NextToken field's value.
4606func (s *GetCurrentMetricDataOutput) SetNextToken(v string) *GetCurrentMetricDataOutput {
4607	s.NextToken = &v
4608	return s
4609}
4610
4611type GetFederationTokenInput struct {
4612	_ struct{} `type:"structure"`
4613
4614	// The identifier of the Amazon Connect instance.
4615	//
4616	// InstanceId is a required field
4617	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
4618}
4619
4620// String returns the string representation
4621func (s GetFederationTokenInput) String() string {
4622	return awsutil.Prettify(s)
4623}
4624
4625// GoString returns the string representation
4626func (s GetFederationTokenInput) GoString() string {
4627	return s.String()
4628}
4629
4630// Validate inspects the fields of the type to determine if they are valid.
4631func (s *GetFederationTokenInput) Validate() error {
4632	invalidParams := request.ErrInvalidParams{Context: "GetFederationTokenInput"}
4633	if s.InstanceId == nil {
4634		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
4635	}
4636	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
4637		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
4638	}
4639
4640	if invalidParams.Len() > 0 {
4641		return invalidParams
4642	}
4643	return nil
4644}
4645
4646// SetInstanceId sets the InstanceId field's value.
4647func (s *GetFederationTokenInput) SetInstanceId(v string) *GetFederationTokenInput {
4648	s.InstanceId = &v
4649	return s
4650}
4651
4652type GetFederationTokenOutput struct {
4653	_ struct{} `type:"structure"`
4654
4655	// The credentials to use for federation.
4656	Credentials *Credentials `type:"structure"`
4657}
4658
4659// String returns the string representation
4660func (s GetFederationTokenOutput) String() string {
4661	return awsutil.Prettify(s)
4662}
4663
4664// GoString returns the string representation
4665func (s GetFederationTokenOutput) GoString() string {
4666	return s.String()
4667}
4668
4669// SetCredentials sets the Credentials field's value.
4670func (s *GetFederationTokenOutput) SetCredentials(v *Credentials) *GetFederationTokenOutput {
4671	s.Credentials = v
4672	return s
4673}
4674
4675type GetMetricDataInput struct {
4676	_ struct{} `type:"structure"`
4677
4678	// The timestamp, in UNIX Epoch time format, at which to end the reporting interval
4679	// for the retrieval of historical metrics data. The time must be specified
4680	// using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be
4681	// later than the start time timestamp.
4682	//
4683	// The time range between the start and end time must be less than 24 hours.
4684	//
4685	// EndTime is a required field
4686	EndTime *time.Time `type:"timestamp" required:"true"`
4687
4688	// The queues, up to 100, or channels, to use to filter the metrics returned.
4689	// Metric data is retrieved only for the resources associated with the queues
4690	// or channels included in the filter. You can include both queue IDs and queue
4691	// ARNs in the same request. The only supported channel is VOICE.
4692	//
4693	// Filters is a required field
4694	Filters *Filters `type:"structure" required:"true"`
4695
4696	// The grouping applied to the metrics returned. For example, when results are
4697	// grouped by queue, the metrics returned are grouped by queue. The values returned
4698	// apply to the metrics for each queue rather than aggregated for all queues.
4699	//
4700	// The only supported grouping is QUEUE.
4701	//
4702	// If no grouping is specified, a summary of metrics for all queues is returned.
4703	Groupings []*string `type:"list"`
4704
4705	// The metrics to retrieve. Specify the name, unit, and statistic for each metric.
4706	// The following historical metrics are available:
4707	//
4708	// ABANDON_TIME
4709	//
4710	// Unit: SECONDS
4711	//
4712	// Statistic: AVG
4713	//
4714	// AFTER_CONTACT_WORK_TIME
4715	//
4716	// Unit: SECONDS
4717	//
4718	// Statistic: AVG
4719	//
4720	// API_CONTACTS_HANDLED
4721	//
4722	// Unit: COUNT
4723	//
4724	// Statistic: SUM
4725	//
4726	// CALLBACK_CONTACTS_HANDLED
4727	//
4728	// Unit: COUNT
4729	//
4730	// Statistic: SUM
4731	//
4732	// CONTACTS_ABANDONED
4733	//
4734	// Unit: COUNT
4735	//
4736	// Statistic: SUM
4737	//
4738	// CONTACTS_AGENT_HUNG_UP_FIRST
4739	//
4740	// Unit: COUNT
4741	//
4742	// Statistic: SUM
4743	//
4744	// CONTACTS_CONSULTED
4745	//
4746	// Unit: COUNT
4747	//
4748	// Statistic: SUM
4749	//
4750	// CONTACTS_HANDLED
4751	//
4752	// Unit: COUNT
4753	//
4754	// Statistic: SUM
4755	//
4756	// CONTACTS_HANDLED_INCOMING
4757	//
4758	// Unit: COUNT
4759	//
4760	// Statistic: SUM
4761	//
4762	// CONTACTS_HANDLED_OUTBOUND
4763	//
4764	// Unit: COUNT
4765	//
4766	// Statistic: SUM
4767	//
4768	// CONTACTS_HOLD_ABANDONS
4769	//
4770	// Unit: COUNT
4771	//
4772	// Statistic: SUM
4773	//
4774	// CONTACTS_MISSED
4775	//
4776	// Unit: COUNT
4777	//
4778	// Statistic: SUM
4779	//
4780	// CONTACTS_QUEUED
4781	//
4782	// Unit: COUNT
4783	//
4784	// Statistic: SUM
4785	//
4786	// CONTACTS_TRANSFERRED_IN
4787	//
4788	// Unit: COUNT
4789	//
4790	// Statistic: SUM
4791	//
4792	// CONTACTS_TRANSFERRED_IN_FROM_QUEUE
4793	//
4794	// Unit: COUNT
4795	//
4796	// Statistic: SUM
4797	//
4798	// CONTACTS_TRANSFERRED_OUT
4799	//
4800	// Unit: COUNT
4801	//
4802	// Statistic: SUM
4803	//
4804	// CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
4805	//
4806	// Unit: COUNT
4807	//
4808	// Statistic: SUM
4809	//
4810	// HANDLE_TIME
4811	//
4812	// Unit: SECONDS
4813	//
4814	// Statistic: AVG
4815	//
4816	// HOLD_TIME
4817	//
4818	// Unit: SECONDS
4819	//
4820	// Statistic: AVG
4821	//
4822	// INTERACTION_AND_HOLD_TIME
4823	//
4824	// Unit: SECONDS
4825	//
4826	// Statistic: AVG
4827	//
4828	// INTERACTION_TIME
4829	//
4830	// Unit: SECONDS
4831	//
4832	// Statistic: AVG
4833	//
4834	// OCCUPANCY
4835	//
4836	// Unit: PERCENT
4837	//
4838	// Statistic: AVG
4839	//
4840	// QUEUE_ANSWER_TIME
4841	//
4842	// Unit: SECONDS
4843	//
4844	// Statistic: AVG
4845	//
4846	// QUEUED_TIME
4847	//
4848	// Unit: SECONDS
4849	//
4850	// Statistic: MAX
4851	//
4852	// SERVICE_LEVEL
4853	//
4854	// Unit: PERCENT
4855	//
4856	// Statistic: AVG
4857	//
4858	// Threshold: Only "Less than" comparisons are supported, with the following
4859	// service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300,
4860	// 600
4861	//
4862	// HistoricalMetrics is a required field
4863	HistoricalMetrics []*HistoricalMetric `type:"list" required:"true"`
4864
4865	// The identifier of the Amazon Connect instance.
4866	//
4867	// InstanceId is a required field
4868	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
4869
4870	// The maximimum number of results to return per page.
4871	MaxResults *int64 `min:"1" type:"integer"`
4872
4873	// The token for the next set of results. Use the value returned in the previous
4874	// response in the next request to retrieve the next set of results.
4875	NextToken *string `type:"string"`
4876
4877	// The timestamp, in UNIX Epoch time format, at which to start the reporting
4878	// interval for the retrieval of historical metrics data. The time must be specified
4879	// using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.
4880	//
4881	// The start time cannot be earlier than 24 hours before the time of the request.
4882	// Historical metrics are available only for 24 hours.
4883	//
4884	// StartTime is a required field
4885	StartTime *time.Time `type:"timestamp" required:"true"`
4886}
4887
4888// String returns the string representation
4889func (s GetMetricDataInput) String() string {
4890	return awsutil.Prettify(s)
4891}
4892
4893// GoString returns the string representation
4894func (s GetMetricDataInput) GoString() string {
4895	return s.String()
4896}
4897
4898// Validate inspects the fields of the type to determine if they are valid.
4899func (s *GetMetricDataInput) Validate() error {
4900	invalidParams := request.ErrInvalidParams{Context: "GetMetricDataInput"}
4901	if s.EndTime == nil {
4902		invalidParams.Add(request.NewErrParamRequired("EndTime"))
4903	}
4904	if s.Filters == nil {
4905		invalidParams.Add(request.NewErrParamRequired("Filters"))
4906	}
4907	if s.HistoricalMetrics == nil {
4908		invalidParams.Add(request.NewErrParamRequired("HistoricalMetrics"))
4909	}
4910	if s.InstanceId == nil {
4911		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
4912	}
4913	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
4914		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
4915	}
4916	if s.MaxResults != nil && *s.MaxResults < 1 {
4917		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4918	}
4919	if s.StartTime == nil {
4920		invalidParams.Add(request.NewErrParamRequired("StartTime"))
4921	}
4922	if s.Filters != nil {
4923		if err := s.Filters.Validate(); err != nil {
4924			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
4925		}
4926	}
4927
4928	if invalidParams.Len() > 0 {
4929		return invalidParams
4930	}
4931	return nil
4932}
4933
4934// SetEndTime sets the EndTime field's value.
4935func (s *GetMetricDataInput) SetEndTime(v time.Time) *GetMetricDataInput {
4936	s.EndTime = &v
4937	return s
4938}
4939
4940// SetFilters sets the Filters field's value.
4941func (s *GetMetricDataInput) SetFilters(v *Filters) *GetMetricDataInput {
4942	s.Filters = v
4943	return s
4944}
4945
4946// SetGroupings sets the Groupings field's value.
4947func (s *GetMetricDataInput) SetGroupings(v []*string) *GetMetricDataInput {
4948	s.Groupings = v
4949	return s
4950}
4951
4952// SetHistoricalMetrics sets the HistoricalMetrics field's value.
4953func (s *GetMetricDataInput) SetHistoricalMetrics(v []*HistoricalMetric) *GetMetricDataInput {
4954	s.HistoricalMetrics = v
4955	return s
4956}
4957
4958// SetInstanceId sets the InstanceId field's value.
4959func (s *GetMetricDataInput) SetInstanceId(v string) *GetMetricDataInput {
4960	s.InstanceId = &v
4961	return s
4962}
4963
4964// SetMaxResults sets the MaxResults field's value.
4965func (s *GetMetricDataInput) SetMaxResults(v int64) *GetMetricDataInput {
4966	s.MaxResults = &v
4967	return s
4968}
4969
4970// SetNextToken sets the NextToken field's value.
4971func (s *GetMetricDataInput) SetNextToken(v string) *GetMetricDataInput {
4972	s.NextToken = &v
4973	return s
4974}
4975
4976// SetStartTime sets the StartTime field's value.
4977func (s *GetMetricDataInput) SetStartTime(v time.Time) *GetMetricDataInput {
4978	s.StartTime = &v
4979	return s
4980}
4981
4982type GetMetricDataOutput struct {
4983	_ struct{} `type:"structure"`
4984
4985	// Information about the historical metrics.
4986	//
4987	// If no grouping is specified, a summary of metric data is returned.
4988	MetricResults []*HistoricalMetricResult `type:"list"`
4989
4990	// If there are additional results, this is the token for the next set of results.
4991	//
4992	// The token expires after 5 minutes from the time it is created. Subsequent
4993	// requests that use the token must use the same request parameters as the request
4994	// that generated the token.
4995	NextToken *string `type:"string"`
4996}
4997
4998// String returns the string representation
4999func (s GetMetricDataOutput) String() string {
5000	return awsutil.Prettify(s)
5001}
5002
5003// GoString returns the string representation
5004func (s GetMetricDataOutput) GoString() string {
5005	return s.String()
5006}
5007
5008// SetMetricResults sets the MetricResults field's value.
5009func (s *GetMetricDataOutput) SetMetricResults(v []*HistoricalMetricResult) *GetMetricDataOutput {
5010	s.MetricResults = v
5011	return s
5012}
5013
5014// SetNextToken sets the NextToken field's value.
5015func (s *GetMetricDataOutput) SetNextToken(v string) *GetMetricDataOutput {
5016	s.NextToken = &v
5017	return s
5018}
5019
5020// Contains information about a hierarchy group.
5021type HierarchyGroup struct {
5022	_ struct{} `type:"structure"`
5023
5024	// The Amazon Resource Name (ARN) of the hierarchy group.
5025	Arn *string `type:"string"`
5026
5027	// Information about the levels in the hierarchy group.
5028	HierarchyPath *HierarchyPath `type:"structure"`
5029
5030	// The identifier of the hierarchy group.
5031	Id *string `type:"string"`
5032
5033	// The identifier of the level in the hierarchy group.
5034	LevelId *string `type:"string"`
5035
5036	// The name of the hierarchy group.
5037	Name *string `type:"string"`
5038}
5039
5040// String returns the string representation
5041func (s HierarchyGroup) String() string {
5042	return awsutil.Prettify(s)
5043}
5044
5045// GoString returns the string representation
5046func (s HierarchyGroup) GoString() string {
5047	return s.String()
5048}
5049
5050// SetArn sets the Arn field's value.
5051func (s *HierarchyGroup) SetArn(v string) *HierarchyGroup {
5052	s.Arn = &v
5053	return s
5054}
5055
5056// SetHierarchyPath sets the HierarchyPath field's value.
5057func (s *HierarchyGroup) SetHierarchyPath(v *HierarchyPath) *HierarchyGroup {
5058	s.HierarchyPath = v
5059	return s
5060}
5061
5062// SetId sets the Id field's value.
5063func (s *HierarchyGroup) SetId(v string) *HierarchyGroup {
5064	s.Id = &v
5065	return s
5066}
5067
5068// SetLevelId sets the LevelId field's value.
5069func (s *HierarchyGroup) SetLevelId(v string) *HierarchyGroup {
5070	s.LevelId = &v
5071	return s
5072}
5073
5074// SetName sets the Name field's value.
5075func (s *HierarchyGroup) SetName(v string) *HierarchyGroup {
5076	s.Name = &v
5077	return s
5078}
5079
5080// Contains summary information about a hierarchy group.
5081type HierarchyGroupSummary struct {
5082	_ struct{} `type:"structure"`
5083
5084	// The Amazon Resource Name (ARN) of the hierarchy group.
5085	Arn *string `type:"string"`
5086
5087	// The identifier of the hierarchy group.
5088	Id *string `type:"string"`
5089
5090	// The name of the hierarchy group.
5091	Name *string `type:"string"`
5092}
5093
5094// String returns the string representation
5095func (s HierarchyGroupSummary) String() string {
5096	return awsutil.Prettify(s)
5097}
5098
5099// GoString returns the string representation
5100func (s HierarchyGroupSummary) GoString() string {
5101	return s.String()
5102}
5103
5104// SetArn sets the Arn field's value.
5105func (s *HierarchyGroupSummary) SetArn(v string) *HierarchyGroupSummary {
5106	s.Arn = &v
5107	return s
5108}
5109
5110// SetId sets the Id field's value.
5111func (s *HierarchyGroupSummary) SetId(v string) *HierarchyGroupSummary {
5112	s.Id = &v
5113	return s
5114}
5115
5116// SetName sets the Name field's value.
5117func (s *HierarchyGroupSummary) SetName(v string) *HierarchyGroupSummary {
5118	s.Name = &v
5119	return s
5120}
5121
5122// Contains information about a hierarchy level.
5123type HierarchyLevel struct {
5124	_ struct{} `type:"structure"`
5125
5126	// The Amazon Resource Name (ARN) of the hierarchy level.
5127	Arn *string `type:"string"`
5128
5129	// The identifier of the hierarchy level.
5130	Id *string `type:"string"`
5131
5132	// The name of the hierarchy level.
5133	Name *string `type:"string"`
5134}
5135
5136// String returns the string representation
5137func (s HierarchyLevel) String() string {
5138	return awsutil.Prettify(s)
5139}
5140
5141// GoString returns the string representation
5142func (s HierarchyLevel) GoString() string {
5143	return s.String()
5144}
5145
5146// SetArn sets the Arn field's value.
5147func (s *HierarchyLevel) SetArn(v string) *HierarchyLevel {
5148	s.Arn = &v
5149	return s
5150}
5151
5152// SetId sets the Id field's value.
5153func (s *HierarchyLevel) SetId(v string) *HierarchyLevel {
5154	s.Id = &v
5155	return s
5156}
5157
5158// SetName sets the Name field's value.
5159func (s *HierarchyLevel) SetName(v string) *HierarchyLevel {
5160	s.Name = &v
5161	return s
5162}
5163
5164// Contains information about the levels of a hierarchy group.
5165type HierarchyPath struct {
5166	_ struct{} `type:"structure"`
5167
5168	// Information about level five.
5169	LevelFive *HierarchyGroupSummary `type:"structure"`
5170
5171	// Information about level four.
5172	LevelFour *HierarchyGroupSummary `type:"structure"`
5173
5174	// Information about level one.
5175	LevelOne *HierarchyGroupSummary `type:"structure"`
5176
5177	// Information about level three.
5178	LevelThree *HierarchyGroupSummary `type:"structure"`
5179
5180	// Information about level two.
5181	LevelTwo *HierarchyGroupSummary `type:"structure"`
5182}
5183
5184// String returns the string representation
5185func (s HierarchyPath) String() string {
5186	return awsutil.Prettify(s)
5187}
5188
5189// GoString returns the string representation
5190func (s HierarchyPath) GoString() string {
5191	return s.String()
5192}
5193
5194// SetLevelFive sets the LevelFive field's value.
5195func (s *HierarchyPath) SetLevelFive(v *HierarchyGroupSummary) *HierarchyPath {
5196	s.LevelFive = v
5197	return s
5198}
5199
5200// SetLevelFour sets the LevelFour field's value.
5201func (s *HierarchyPath) SetLevelFour(v *HierarchyGroupSummary) *HierarchyPath {
5202	s.LevelFour = v
5203	return s
5204}
5205
5206// SetLevelOne sets the LevelOne field's value.
5207func (s *HierarchyPath) SetLevelOne(v *HierarchyGroupSummary) *HierarchyPath {
5208	s.LevelOne = v
5209	return s
5210}
5211
5212// SetLevelThree sets the LevelThree field's value.
5213func (s *HierarchyPath) SetLevelThree(v *HierarchyGroupSummary) *HierarchyPath {
5214	s.LevelThree = v
5215	return s
5216}
5217
5218// SetLevelTwo sets the LevelTwo field's value.
5219func (s *HierarchyPath) SetLevelTwo(v *HierarchyGroupSummary) *HierarchyPath {
5220	s.LevelTwo = v
5221	return s
5222}
5223
5224// Contains information about a hierarchy structure.
5225type HierarchyStructure struct {
5226	_ struct{} `type:"structure"`
5227
5228	// Information about level five.
5229	LevelFive *HierarchyLevel `type:"structure"`
5230
5231	// Information about level four.
5232	LevelFour *HierarchyLevel `type:"structure"`
5233
5234	// Information about level one.
5235	LevelOne *HierarchyLevel `type:"structure"`
5236
5237	// Information about level three.
5238	LevelThree *HierarchyLevel `type:"structure"`
5239
5240	// Information about level two.
5241	LevelTwo *HierarchyLevel `type:"structure"`
5242}
5243
5244// String returns the string representation
5245func (s HierarchyStructure) String() string {
5246	return awsutil.Prettify(s)
5247}
5248
5249// GoString returns the string representation
5250func (s HierarchyStructure) GoString() string {
5251	return s.String()
5252}
5253
5254// SetLevelFive sets the LevelFive field's value.
5255func (s *HierarchyStructure) SetLevelFive(v *HierarchyLevel) *HierarchyStructure {
5256	s.LevelFive = v
5257	return s
5258}
5259
5260// SetLevelFour sets the LevelFour field's value.
5261func (s *HierarchyStructure) SetLevelFour(v *HierarchyLevel) *HierarchyStructure {
5262	s.LevelFour = v
5263	return s
5264}
5265
5266// SetLevelOne sets the LevelOne field's value.
5267func (s *HierarchyStructure) SetLevelOne(v *HierarchyLevel) *HierarchyStructure {
5268	s.LevelOne = v
5269	return s
5270}
5271
5272// SetLevelThree sets the LevelThree field's value.
5273func (s *HierarchyStructure) SetLevelThree(v *HierarchyLevel) *HierarchyStructure {
5274	s.LevelThree = v
5275	return s
5276}
5277
5278// SetLevelTwo sets the LevelTwo field's value.
5279func (s *HierarchyStructure) SetLevelTwo(v *HierarchyLevel) *HierarchyStructure {
5280	s.LevelTwo = v
5281	return s
5282}
5283
5284// Contains information about a historical metric.
5285type HistoricalMetric struct {
5286	_ struct{} `type:"structure"`
5287
5288	// The name of the metric.
5289	Name *string `type:"string" enum:"HistoricalMetricName"`
5290
5291	// The statistic for the metric.
5292	Statistic *string `type:"string" enum:"Statistic"`
5293
5294	// The threshold for the metric, used with service level metrics.
5295	Threshold *Threshold `type:"structure"`
5296
5297	// The unit for the metric.
5298	Unit *string `type:"string" enum:"Unit"`
5299}
5300
5301// String returns the string representation
5302func (s HistoricalMetric) String() string {
5303	return awsutil.Prettify(s)
5304}
5305
5306// GoString returns the string representation
5307func (s HistoricalMetric) GoString() string {
5308	return s.String()
5309}
5310
5311// SetName sets the Name field's value.
5312func (s *HistoricalMetric) SetName(v string) *HistoricalMetric {
5313	s.Name = &v
5314	return s
5315}
5316
5317// SetStatistic sets the Statistic field's value.
5318func (s *HistoricalMetric) SetStatistic(v string) *HistoricalMetric {
5319	s.Statistic = &v
5320	return s
5321}
5322
5323// SetThreshold sets the Threshold field's value.
5324func (s *HistoricalMetric) SetThreshold(v *Threshold) *HistoricalMetric {
5325	s.Threshold = v
5326	return s
5327}
5328
5329// SetUnit sets the Unit field's value.
5330func (s *HistoricalMetric) SetUnit(v string) *HistoricalMetric {
5331	s.Unit = &v
5332	return s
5333}
5334
5335// Contains the data for a historical metric.
5336type HistoricalMetricData struct {
5337	_ struct{} `type:"structure"`
5338
5339	// Information about the metric.
5340	Metric *HistoricalMetric `type:"structure"`
5341
5342	// The value of the metric.
5343	Value *float64 `type:"double"`
5344}
5345
5346// String returns the string representation
5347func (s HistoricalMetricData) String() string {
5348	return awsutil.Prettify(s)
5349}
5350
5351// GoString returns the string representation
5352func (s HistoricalMetricData) GoString() string {
5353	return s.String()
5354}
5355
5356// SetMetric sets the Metric field's value.
5357func (s *HistoricalMetricData) SetMetric(v *HistoricalMetric) *HistoricalMetricData {
5358	s.Metric = v
5359	return s
5360}
5361
5362// SetValue sets the Value field's value.
5363func (s *HistoricalMetricData) SetValue(v float64) *HistoricalMetricData {
5364	s.Value = &v
5365	return s
5366}
5367
5368// Contains information about the historical metrics retrieved.
5369type HistoricalMetricResult struct {
5370	_ struct{} `type:"structure"`
5371
5372	// The set of metrics.
5373	Collections []*HistoricalMetricData `type:"list"`
5374
5375	// The dimension for the metrics.
5376	Dimensions *Dimensions `type:"structure"`
5377}
5378
5379// String returns the string representation
5380func (s HistoricalMetricResult) String() string {
5381	return awsutil.Prettify(s)
5382}
5383
5384// GoString returns the string representation
5385func (s HistoricalMetricResult) GoString() string {
5386	return s.String()
5387}
5388
5389// SetCollections sets the Collections field's value.
5390func (s *HistoricalMetricResult) SetCollections(v []*HistoricalMetricData) *HistoricalMetricResult {
5391	s.Collections = v
5392	return s
5393}
5394
5395// SetDimensions sets the Dimensions field's value.
5396func (s *HistoricalMetricResult) SetDimensions(v *Dimensions) *HistoricalMetricResult {
5397	s.Dimensions = v
5398	return s
5399}
5400
5401// Contains summary information about hours of operation for a contact center.
5402type HoursOfOperationSummary struct {
5403	_ struct{} `type:"structure"`
5404
5405	// The Amazon Resource Name (ARN) of the hours of operation.
5406	Arn *string `type:"string"`
5407
5408	// The identifier of the hours of operation.
5409	Id *string `type:"string"`
5410
5411	// The name of the hours of operation.
5412	Name *string `type:"string"`
5413}
5414
5415// String returns the string representation
5416func (s HoursOfOperationSummary) String() string {
5417	return awsutil.Prettify(s)
5418}
5419
5420// GoString returns the string representation
5421func (s HoursOfOperationSummary) GoString() string {
5422	return s.String()
5423}
5424
5425// SetArn sets the Arn field's value.
5426func (s *HoursOfOperationSummary) SetArn(v string) *HoursOfOperationSummary {
5427	s.Arn = &v
5428	return s
5429}
5430
5431// SetId sets the Id field's value.
5432func (s *HoursOfOperationSummary) SetId(v string) *HoursOfOperationSummary {
5433	s.Id = &v
5434	return s
5435}
5436
5437// SetName sets the Name field's value.
5438func (s *HoursOfOperationSummary) SetName(v string) *HoursOfOperationSummary {
5439	s.Name = &v
5440	return s
5441}
5442
5443// Request processing failed due to an error or failure with the service.
5444type InternalServiceException struct {
5445	_            struct{}                  `type:"structure"`
5446	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5447
5448	// The message.
5449	Message_ *string `locationName:"Message" type:"string"`
5450}
5451
5452// String returns the string representation
5453func (s InternalServiceException) String() string {
5454	return awsutil.Prettify(s)
5455}
5456
5457// GoString returns the string representation
5458func (s InternalServiceException) GoString() string {
5459	return s.String()
5460}
5461
5462func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
5463	return &InternalServiceException{
5464		RespMetadata: v,
5465	}
5466}
5467
5468// Code returns the exception type name.
5469func (s *InternalServiceException) Code() string {
5470	return "InternalServiceException"
5471}
5472
5473// Message returns the exception's message.
5474func (s *InternalServiceException) Message() string {
5475	if s.Message_ != nil {
5476		return *s.Message_
5477	}
5478	return ""
5479}
5480
5481// OrigErr always returns nil, satisfies awserr.Error interface.
5482func (s *InternalServiceException) OrigErr() error {
5483	return nil
5484}
5485
5486func (s *InternalServiceException) Error() string {
5487	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5488}
5489
5490// Status code returns the HTTP status code for the request's response error.
5491func (s *InternalServiceException) StatusCode() int {
5492	return s.RespMetadata.StatusCode
5493}
5494
5495// RequestID returns the service's response RequestID for request.
5496func (s *InternalServiceException) RequestID() string {
5497	return s.RespMetadata.RequestID
5498}
5499
5500// One or more of the specified parameters are not valid.
5501type InvalidParameterException struct {
5502	_            struct{}                  `type:"structure"`
5503	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5504
5505	// The message.
5506	Message_ *string `locationName:"Message" type:"string"`
5507}
5508
5509// String returns the string representation
5510func (s InvalidParameterException) String() string {
5511	return awsutil.Prettify(s)
5512}
5513
5514// GoString returns the string representation
5515func (s InvalidParameterException) GoString() string {
5516	return s.String()
5517}
5518
5519func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
5520	return &InvalidParameterException{
5521		RespMetadata: v,
5522	}
5523}
5524
5525// Code returns the exception type name.
5526func (s *InvalidParameterException) Code() string {
5527	return "InvalidParameterException"
5528}
5529
5530// Message returns the exception's message.
5531func (s *InvalidParameterException) Message() string {
5532	if s.Message_ != nil {
5533		return *s.Message_
5534	}
5535	return ""
5536}
5537
5538// OrigErr always returns nil, satisfies awserr.Error interface.
5539func (s *InvalidParameterException) OrigErr() error {
5540	return nil
5541}
5542
5543func (s *InvalidParameterException) Error() string {
5544	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5545}
5546
5547// Status code returns the HTTP status code for the request's response error.
5548func (s *InvalidParameterException) StatusCode() int {
5549	return s.RespMetadata.StatusCode
5550}
5551
5552// RequestID returns the service's response RequestID for request.
5553func (s *InvalidParameterException) RequestID() string {
5554	return s.RespMetadata.RequestID
5555}
5556
5557// The request is not valid.
5558type InvalidRequestException struct {
5559	_            struct{}                  `type:"structure"`
5560	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5561
5562	// The message.
5563	Message_ *string `locationName:"Message" type:"string"`
5564}
5565
5566// String returns the string representation
5567func (s InvalidRequestException) String() string {
5568	return awsutil.Prettify(s)
5569}
5570
5571// GoString returns the string representation
5572func (s InvalidRequestException) GoString() string {
5573	return s.String()
5574}
5575
5576func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
5577	return &InvalidRequestException{
5578		RespMetadata: v,
5579	}
5580}
5581
5582// Code returns the exception type name.
5583func (s *InvalidRequestException) Code() string {
5584	return "InvalidRequestException"
5585}
5586
5587// Message returns the exception's message.
5588func (s *InvalidRequestException) Message() string {
5589	if s.Message_ != nil {
5590		return *s.Message_
5591	}
5592	return ""
5593}
5594
5595// OrigErr always returns nil, satisfies awserr.Error interface.
5596func (s *InvalidRequestException) OrigErr() error {
5597	return nil
5598}
5599
5600func (s *InvalidRequestException) Error() string {
5601	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5602}
5603
5604// Status code returns the HTTP status code for the request's response error.
5605func (s *InvalidRequestException) StatusCode() int {
5606	return s.RespMetadata.StatusCode
5607}
5608
5609// RequestID returns the service's response RequestID for request.
5610func (s *InvalidRequestException) RequestID() string {
5611	return s.RespMetadata.RequestID
5612}
5613
5614// The allowed limit for the resource has been exceeded.
5615type LimitExceededException struct {
5616	_            struct{}                  `type:"structure"`
5617	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5618
5619	// The message.
5620	Message_ *string `locationName:"Message" type:"string"`
5621}
5622
5623// String returns the string representation
5624func (s LimitExceededException) String() string {
5625	return awsutil.Prettify(s)
5626}
5627
5628// GoString returns the string representation
5629func (s LimitExceededException) GoString() string {
5630	return s.String()
5631}
5632
5633func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
5634	return &LimitExceededException{
5635		RespMetadata: v,
5636	}
5637}
5638
5639// Code returns the exception type name.
5640func (s *LimitExceededException) Code() string {
5641	return "LimitExceededException"
5642}
5643
5644// Message returns the exception's message.
5645func (s *LimitExceededException) Message() string {
5646	if s.Message_ != nil {
5647		return *s.Message_
5648	}
5649	return ""
5650}
5651
5652// OrigErr always returns nil, satisfies awserr.Error interface.
5653func (s *LimitExceededException) OrigErr() error {
5654	return nil
5655}
5656
5657func (s *LimitExceededException) Error() string {
5658	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5659}
5660
5661// Status code returns the HTTP status code for the request's response error.
5662func (s *LimitExceededException) StatusCode() int {
5663	return s.RespMetadata.StatusCode
5664}
5665
5666// RequestID returns the service's response RequestID for request.
5667func (s *LimitExceededException) RequestID() string {
5668	return s.RespMetadata.RequestID
5669}
5670
5671type ListContactFlowsInput struct {
5672	_ struct{} `type:"structure"`
5673
5674	// The type of contact flow.
5675	ContactFlowTypes []*string `location:"querystring" locationName:"contactFlowTypes" type:"list"`
5676
5677	// The identifier of the Amazon Connect instance.
5678	//
5679	// InstanceId is a required field
5680	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
5681
5682	// The maximimum number of results to return per page.
5683	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5684
5685	// The token for the next set of results. Use the value returned in the previous
5686	// response in the next request to retrieve the next set of results.
5687	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5688}
5689
5690// String returns the string representation
5691func (s ListContactFlowsInput) String() string {
5692	return awsutil.Prettify(s)
5693}
5694
5695// GoString returns the string representation
5696func (s ListContactFlowsInput) GoString() string {
5697	return s.String()
5698}
5699
5700// Validate inspects the fields of the type to determine if they are valid.
5701func (s *ListContactFlowsInput) Validate() error {
5702	invalidParams := request.ErrInvalidParams{Context: "ListContactFlowsInput"}
5703	if s.InstanceId == nil {
5704		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
5705	}
5706	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
5707		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
5708	}
5709	if s.MaxResults != nil && *s.MaxResults < 1 {
5710		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5711	}
5712
5713	if invalidParams.Len() > 0 {
5714		return invalidParams
5715	}
5716	return nil
5717}
5718
5719// SetContactFlowTypes sets the ContactFlowTypes field's value.
5720func (s *ListContactFlowsInput) SetContactFlowTypes(v []*string) *ListContactFlowsInput {
5721	s.ContactFlowTypes = v
5722	return s
5723}
5724
5725// SetInstanceId sets the InstanceId field's value.
5726func (s *ListContactFlowsInput) SetInstanceId(v string) *ListContactFlowsInput {
5727	s.InstanceId = &v
5728	return s
5729}
5730
5731// SetMaxResults sets the MaxResults field's value.
5732func (s *ListContactFlowsInput) SetMaxResults(v int64) *ListContactFlowsInput {
5733	s.MaxResults = &v
5734	return s
5735}
5736
5737// SetNextToken sets the NextToken field's value.
5738func (s *ListContactFlowsInput) SetNextToken(v string) *ListContactFlowsInput {
5739	s.NextToken = &v
5740	return s
5741}
5742
5743type ListContactFlowsOutput struct {
5744	_ struct{} `type:"structure"`
5745
5746	// Information about the contact flows.
5747	ContactFlowSummaryList []*ContactFlowSummary `type:"list"`
5748
5749	// If there are additional results, this is the token for the next set of results.
5750	NextToken *string `type:"string"`
5751}
5752
5753// String returns the string representation
5754func (s ListContactFlowsOutput) String() string {
5755	return awsutil.Prettify(s)
5756}
5757
5758// GoString returns the string representation
5759func (s ListContactFlowsOutput) GoString() string {
5760	return s.String()
5761}
5762
5763// SetContactFlowSummaryList sets the ContactFlowSummaryList field's value.
5764func (s *ListContactFlowsOutput) SetContactFlowSummaryList(v []*ContactFlowSummary) *ListContactFlowsOutput {
5765	s.ContactFlowSummaryList = v
5766	return s
5767}
5768
5769// SetNextToken sets the NextToken field's value.
5770func (s *ListContactFlowsOutput) SetNextToken(v string) *ListContactFlowsOutput {
5771	s.NextToken = &v
5772	return s
5773}
5774
5775type ListHoursOfOperationsInput struct {
5776	_ struct{} `type:"structure"`
5777
5778	// The identifier of the Amazon Connect instance.
5779	//
5780	// InstanceId is a required field
5781	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
5782
5783	// The maximimum number of results to return per page.
5784	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5785
5786	// The token for the next set of results. Use the value returned in the previous
5787	// response in the next request to retrieve the next set of results.
5788	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5789}
5790
5791// String returns the string representation
5792func (s ListHoursOfOperationsInput) String() string {
5793	return awsutil.Prettify(s)
5794}
5795
5796// GoString returns the string representation
5797func (s ListHoursOfOperationsInput) GoString() string {
5798	return s.String()
5799}
5800
5801// Validate inspects the fields of the type to determine if they are valid.
5802func (s *ListHoursOfOperationsInput) Validate() error {
5803	invalidParams := request.ErrInvalidParams{Context: "ListHoursOfOperationsInput"}
5804	if s.InstanceId == nil {
5805		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
5806	}
5807	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
5808		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
5809	}
5810	if s.MaxResults != nil && *s.MaxResults < 1 {
5811		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5812	}
5813
5814	if invalidParams.Len() > 0 {
5815		return invalidParams
5816	}
5817	return nil
5818}
5819
5820// SetInstanceId sets the InstanceId field's value.
5821func (s *ListHoursOfOperationsInput) SetInstanceId(v string) *ListHoursOfOperationsInput {
5822	s.InstanceId = &v
5823	return s
5824}
5825
5826// SetMaxResults sets the MaxResults field's value.
5827func (s *ListHoursOfOperationsInput) SetMaxResults(v int64) *ListHoursOfOperationsInput {
5828	s.MaxResults = &v
5829	return s
5830}
5831
5832// SetNextToken sets the NextToken field's value.
5833func (s *ListHoursOfOperationsInput) SetNextToken(v string) *ListHoursOfOperationsInput {
5834	s.NextToken = &v
5835	return s
5836}
5837
5838type ListHoursOfOperationsOutput struct {
5839	_ struct{} `type:"structure"`
5840
5841	// Information about the hours of operation.
5842	HoursOfOperationSummaryList []*HoursOfOperationSummary `type:"list"`
5843
5844	// If there are additional results, this is the token for the next set of results.
5845	NextToken *string `type:"string"`
5846}
5847
5848// String returns the string representation
5849func (s ListHoursOfOperationsOutput) String() string {
5850	return awsutil.Prettify(s)
5851}
5852
5853// GoString returns the string representation
5854func (s ListHoursOfOperationsOutput) GoString() string {
5855	return s.String()
5856}
5857
5858// SetHoursOfOperationSummaryList sets the HoursOfOperationSummaryList field's value.
5859func (s *ListHoursOfOperationsOutput) SetHoursOfOperationSummaryList(v []*HoursOfOperationSummary) *ListHoursOfOperationsOutput {
5860	s.HoursOfOperationSummaryList = v
5861	return s
5862}
5863
5864// SetNextToken sets the NextToken field's value.
5865func (s *ListHoursOfOperationsOutput) SetNextToken(v string) *ListHoursOfOperationsOutput {
5866	s.NextToken = &v
5867	return s
5868}
5869
5870type ListPhoneNumbersInput struct {
5871	_ struct{} `type:"structure"`
5872
5873	// The identifier of the Amazon Connect instance.
5874	//
5875	// InstanceId is a required field
5876	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
5877
5878	// The maximimum number of results to return per page.
5879	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5880
5881	// The token for the next set of results. Use the value returned in the previous
5882	// response in the next request to retrieve the next set of results.
5883	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5884
5885	// The ISO country code.
5886	PhoneNumberCountryCodes []*string `location:"querystring" locationName:"phoneNumberCountryCodes" type:"list"`
5887
5888	// The type of phone number.
5889	PhoneNumberTypes []*string `location:"querystring" locationName:"phoneNumberTypes" type:"list"`
5890}
5891
5892// String returns the string representation
5893func (s ListPhoneNumbersInput) String() string {
5894	return awsutil.Prettify(s)
5895}
5896
5897// GoString returns the string representation
5898func (s ListPhoneNumbersInput) GoString() string {
5899	return s.String()
5900}
5901
5902// Validate inspects the fields of the type to determine if they are valid.
5903func (s *ListPhoneNumbersInput) Validate() error {
5904	invalidParams := request.ErrInvalidParams{Context: "ListPhoneNumbersInput"}
5905	if s.InstanceId == nil {
5906		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
5907	}
5908	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
5909		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
5910	}
5911	if s.MaxResults != nil && *s.MaxResults < 1 {
5912		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5913	}
5914
5915	if invalidParams.Len() > 0 {
5916		return invalidParams
5917	}
5918	return nil
5919}
5920
5921// SetInstanceId sets the InstanceId field's value.
5922func (s *ListPhoneNumbersInput) SetInstanceId(v string) *ListPhoneNumbersInput {
5923	s.InstanceId = &v
5924	return s
5925}
5926
5927// SetMaxResults sets the MaxResults field's value.
5928func (s *ListPhoneNumbersInput) SetMaxResults(v int64) *ListPhoneNumbersInput {
5929	s.MaxResults = &v
5930	return s
5931}
5932
5933// SetNextToken sets the NextToken field's value.
5934func (s *ListPhoneNumbersInput) SetNextToken(v string) *ListPhoneNumbersInput {
5935	s.NextToken = &v
5936	return s
5937}
5938
5939// SetPhoneNumberCountryCodes sets the PhoneNumberCountryCodes field's value.
5940func (s *ListPhoneNumbersInput) SetPhoneNumberCountryCodes(v []*string) *ListPhoneNumbersInput {
5941	s.PhoneNumberCountryCodes = v
5942	return s
5943}
5944
5945// SetPhoneNumberTypes sets the PhoneNumberTypes field's value.
5946func (s *ListPhoneNumbersInput) SetPhoneNumberTypes(v []*string) *ListPhoneNumbersInput {
5947	s.PhoneNumberTypes = v
5948	return s
5949}
5950
5951type ListPhoneNumbersOutput struct {
5952	_ struct{} `type:"structure"`
5953
5954	// If there are additional results, this is the token for the next set of results.
5955	NextToken *string `type:"string"`
5956
5957	// Information about the phone numbers.
5958	PhoneNumberSummaryList []*PhoneNumberSummary `type:"list"`
5959}
5960
5961// String returns the string representation
5962func (s ListPhoneNumbersOutput) String() string {
5963	return awsutil.Prettify(s)
5964}
5965
5966// GoString returns the string representation
5967func (s ListPhoneNumbersOutput) GoString() string {
5968	return s.String()
5969}
5970
5971// SetNextToken sets the NextToken field's value.
5972func (s *ListPhoneNumbersOutput) SetNextToken(v string) *ListPhoneNumbersOutput {
5973	s.NextToken = &v
5974	return s
5975}
5976
5977// SetPhoneNumberSummaryList sets the PhoneNumberSummaryList field's value.
5978func (s *ListPhoneNumbersOutput) SetPhoneNumberSummaryList(v []*PhoneNumberSummary) *ListPhoneNumbersOutput {
5979	s.PhoneNumberSummaryList = v
5980	return s
5981}
5982
5983type ListQueuesInput struct {
5984	_ struct{} `type:"structure"`
5985
5986	// The identifier of the Amazon Connect instance.
5987	//
5988	// InstanceId is a required field
5989	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
5990
5991	// The maximimum number of results to return per page.
5992	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
5993
5994	// The token for the next set of results. Use the value returned in the previous
5995	// response in the next request to retrieve the next set of results.
5996	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
5997
5998	// The type of queue.
5999	QueueTypes []*string `location:"querystring" locationName:"queueTypes" type:"list"`
6000}
6001
6002// String returns the string representation
6003func (s ListQueuesInput) String() string {
6004	return awsutil.Prettify(s)
6005}
6006
6007// GoString returns the string representation
6008func (s ListQueuesInput) GoString() string {
6009	return s.String()
6010}
6011
6012// Validate inspects the fields of the type to determine if they are valid.
6013func (s *ListQueuesInput) Validate() error {
6014	invalidParams := request.ErrInvalidParams{Context: "ListQueuesInput"}
6015	if s.InstanceId == nil {
6016		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6017	}
6018	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
6019		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
6020	}
6021	if s.MaxResults != nil && *s.MaxResults < 1 {
6022		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6023	}
6024
6025	if invalidParams.Len() > 0 {
6026		return invalidParams
6027	}
6028	return nil
6029}
6030
6031// SetInstanceId sets the InstanceId field's value.
6032func (s *ListQueuesInput) SetInstanceId(v string) *ListQueuesInput {
6033	s.InstanceId = &v
6034	return s
6035}
6036
6037// SetMaxResults sets the MaxResults field's value.
6038func (s *ListQueuesInput) SetMaxResults(v int64) *ListQueuesInput {
6039	s.MaxResults = &v
6040	return s
6041}
6042
6043// SetNextToken sets the NextToken field's value.
6044func (s *ListQueuesInput) SetNextToken(v string) *ListQueuesInput {
6045	s.NextToken = &v
6046	return s
6047}
6048
6049// SetQueueTypes sets the QueueTypes field's value.
6050func (s *ListQueuesInput) SetQueueTypes(v []*string) *ListQueuesInput {
6051	s.QueueTypes = v
6052	return s
6053}
6054
6055type ListQueuesOutput struct {
6056	_ struct{} `type:"structure"`
6057
6058	// If there are additional results, this is the token for the next set of results.
6059	NextToken *string `type:"string"`
6060
6061	// Information about the queues.
6062	QueueSummaryList []*QueueSummary `type:"list"`
6063}
6064
6065// String returns the string representation
6066func (s ListQueuesOutput) String() string {
6067	return awsutil.Prettify(s)
6068}
6069
6070// GoString returns the string representation
6071func (s ListQueuesOutput) GoString() string {
6072	return s.String()
6073}
6074
6075// SetNextToken sets the NextToken field's value.
6076func (s *ListQueuesOutput) SetNextToken(v string) *ListQueuesOutput {
6077	s.NextToken = &v
6078	return s
6079}
6080
6081// SetQueueSummaryList sets the QueueSummaryList field's value.
6082func (s *ListQueuesOutput) SetQueueSummaryList(v []*QueueSummary) *ListQueuesOutput {
6083	s.QueueSummaryList = v
6084	return s
6085}
6086
6087type ListRoutingProfilesInput struct {
6088	_ struct{} `type:"structure"`
6089
6090	// The identifier of the Amazon Connect instance.
6091	//
6092	// InstanceId is a required field
6093	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
6094
6095	// The maximimum number of results to return per page.
6096	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6097
6098	// The token for the next set of results. Use the value returned in the previous
6099	// response in the next request to retrieve the next set of results.
6100	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6101}
6102
6103// String returns the string representation
6104func (s ListRoutingProfilesInput) String() string {
6105	return awsutil.Prettify(s)
6106}
6107
6108// GoString returns the string representation
6109func (s ListRoutingProfilesInput) GoString() string {
6110	return s.String()
6111}
6112
6113// Validate inspects the fields of the type to determine if they are valid.
6114func (s *ListRoutingProfilesInput) Validate() error {
6115	invalidParams := request.ErrInvalidParams{Context: "ListRoutingProfilesInput"}
6116	if s.InstanceId == nil {
6117		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6118	}
6119	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
6120		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
6121	}
6122	if s.MaxResults != nil && *s.MaxResults < 1 {
6123		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6124	}
6125
6126	if invalidParams.Len() > 0 {
6127		return invalidParams
6128	}
6129	return nil
6130}
6131
6132// SetInstanceId sets the InstanceId field's value.
6133func (s *ListRoutingProfilesInput) SetInstanceId(v string) *ListRoutingProfilesInput {
6134	s.InstanceId = &v
6135	return s
6136}
6137
6138// SetMaxResults sets the MaxResults field's value.
6139func (s *ListRoutingProfilesInput) SetMaxResults(v int64) *ListRoutingProfilesInput {
6140	s.MaxResults = &v
6141	return s
6142}
6143
6144// SetNextToken sets the NextToken field's value.
6145func (s *ListRoutingProfilesInput) SetNextToken(v string) *ListRoutingProfilesInput {
6146	s.NextToken = &v
6147	return s
6148}
6149
6150type ListRoutingProfilesOutput struct {
6151	_ struct{} `type:"structure"`
6152
6153	// If there are additional results, this is the token for the next set of results.
6154	NextToken *string `type:"string"`
6155
6156	// Information about the routing profiles.
6157	RoutingProfileSummaryList []*RoutingProfileSummary `type:"list"`
6158}
6159
6160// String returns the string representation
6161func (s ListRoutingProfilesOutput) String() string {
6162	return awsutil.Prettify(s)
6163}
6164
6165// GoString returns the string representation
6166func (s ListRoutingProfilesOutput) GoString() string {
6167	return s.String()
6168}
6169
6170// SetNextToken sets the NextToken field's value.
6171func (s *ListRoutingProfilesOutput) SetNextToken(v string) *ListRoutingProfilesOutput {
6172	s.NextToken = &v
6173	return s
6174}
6175
6176// SetRoutingProfileSummaryList sets the RoutingProfileSummaryList field's value.
6177func (s *ListRoutingProfilesOutput) SetRoutingProfileSummaryList(v []*RoutingProfileSummary) *ListRoutingProfilesOutput {
6178	s.RoutingProfileSummaryList = v
6179	return s
6180}
6181
6182type ListSecurityProfilesInput struct {
6183	_ struct{} `type:"structure"`
6184
6185	// The identifier of the Amazon Connect instance.
6186	//
6187	// InstanceId is a required field
6188	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
6189
6190	// The maximimum number of results to return per page.
6191	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6192
6193	// The token for the next set of results. Use the value returned in the previous
6194	// response in the next request to retrieve the next set of results.
6195	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6196}
6197
6198// String returns the string representation
6199func (s ListSecurityProfilesInput) String() string {
6200	return awsutil.Prettify(s)
6201}
6202
6203// GoString returns the string representation
6204func (s ListSecurityProfilesInput) GoString() string {
6205	return s.String()
6206}
6207
6208// Validate inspects the fields of the type to determine if they are valid.
6209func (s *ListSecurityProfilesInput) Validate() error {
6210	invalidParams := request.ErrInvalidParams{Context: "ListSecurityProfilesInput"}
6211	if s.InstanceId == nil {
6212		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6213	}
6214	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
6215		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
6216	}
6217	if s.MaxResults != nil && *s.MaxResults < 1 {
6218		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6219	}
6220
6221	if invalidParams.Len() > 0 {
6222		return invalidParams
6223	}
6224	return nil
6225}
6226
6227// SetInstanceId sets the InstanceId field's value.
6228func (s *ListSecurityProfilesInput) SetInstanceId(v string) *ListSecurityProfilesInput {
6229	s.InstanceId = &v
6230	return s
6231}
6232
6233// SetMaxResults sets the MaxResults field's value.
6234func (s *ListSecurityProfilesInput) SetMaxResults(v int64) *ListSecurityProfilesInput {
6235	s.MaxResults = &v
6236	return s
6237}
6238
6239// SetNextToken sets the NextToken field's value.
6240func (s *ListSecurityProfilesInput) SetNextToken(v string) *ListSecurityProfilesInput {
6241	s.NextToken = &v
6242	return s
6243}
6244
6245type ListSecurityProfilesOutput struct {
6246	_ struct{} `type:"structure"`
6247
6248	// If there are additional results, this is the token for the next set of results.
6249	NextToken *string `type:"string"`
6250
6251	// Information about the security profiles.
6252	SecurityProfileSummaryList []*SecurityProfileSummary `type:"list"`
6253}
6254
6255// String returns the string representation
6256func (s ListSecurityProfilesOutput) String() string {
6257	return awsutil.Prettify(s)
6258}
6259
6260// GoString returns the string representation
6261func (s ListSecurityProfilesOutput) GoString() string {
6262	return s.String()
6263}
6264
6265// SetNextToken sets the NextToken field's value.
6266func (s *ListSecurityProfilesOutput) SetNextToken(v string) *ListSecurityProfilesOutput {
6267	s.NextToken = &v
6268	return s
6269}
6270
6271// SetSecurityProfileSummaryList sets the SecurityProfileSummaryList field's value.
6272func (s *ListSecurityProfilesOutput) SetSecurityProfileSummaryList(v []*SecurityProfileSummary) *ListSecurityProfilesOutput {
6273	s.SecurityProfileSummaryList = v
6274	return s
6275}
6276
6277type ListTagsForResourceInput struct {
6278	_ struct{} `type:"structure"`
6279
6280	// The Amazon Resource Name (ARN) of the resource.
6281	//
6282	// ResourceArn is a required field
6283	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
6284}
6285
6286// String returns the string representation
6287func (s ListTagsForResourceInput) String() string {
6288	return awsutil.Prettify(s)
6289}
6290
6291// GoString returns the string representation
6292func (s ListTagsForResourceInput) GoString() string {
6293	return s.String()
6294}
6295
6296// Validate inspects the fields of the type to determine if they are valid.
6297func (s *ListTagsForResourceInput) Validate() error {
6298	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
6299	if s.ResourceArn == nil {
6300		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
6301	}
6302	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
6303		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
6304	}
6305
6306	if invalidParams.Len() > 0 {
6307		return invalidParams
6308	}
6309	return nil
6310}
6311
6312// SetResourceArn sets the ResourceArn field's value.
6313func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
6314	s.ResourceArn = &v
6315	return s
6316}
6317
6318type ListTagsForResourceOutput struct {
6319	_ struct{} `type:"structure"`
6320
6321	// Information about the tags.
6322	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6323}
6324
6325// String returns the string representation
6326func (s ListTagsForResourceOutput) String() string {
6327	return awsutil.Prettify(s)
6328}
6329
6330// GoString returns the string representation
6331func (s ListTagsForResourceOutput) GoString() string {
6332	return s.String()
6333}
6334
6335// SetTags sets the Tags field's value.
6336func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
6337	s.Tags = v
6338	return s
6339}
6340
6341type ListUserHierarchyGroupsInput struct {
6342	_ struct{} `type:"structure"`
6343
6344	// The identifier of the Amazon Connect instance.
6345	//
6346	// InstanceId is a required field
6347	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
6348
6349	// The maximimum number of results to return per page.
6350	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6351
6352	// The token for the next set of results. Use the value returned in the previous
6353	// response in the next request to retrieve the next set of results.
6354	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6355}
6356
6357// String returns the string representation
6358func (s ListUserHierarchyGroupsInput) String() string {
6359	return awsutil.Prettify(s)
6360}
6361
6362// GoString returns the string representation
6363func (s ListUserHierarchyGroupsInput) GoString() string {
6364	return s.String()
6365}
6366
6367// Validate inspects the fields of the type to determine if they are valid.
6368func (s *ListUserHierarchyGroupsInput) Validate() error {
6369	invalidParams := request.ErrInvalidParams{Context: "ListUserHierarchyGroupsInput"}
6370	if s.InstanceId == nil {
6371		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6372	}
6373	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
6374		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
6375	}
6376	if s.MaxResults != nil && *s.MaxResults < 1 {
6377		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6378	}
6379
6380	if invalidParams.Len() > 0 {
6381		return invalidParams
6382	}
6383	return nil
6384}
6385
6386// SetInstanceId sets the InstanceId field's value.
6387func (s *ListUserHierarchyGroupsInput) SetInstanceId(v string) *ListUserHierarchyGroupsInput {
6388	s.InstanceId = &v
6389	return s
6390}
6391
6392// SetMaxResults sets the MaxResults field's value.
6393func (s *ListUserHierarchyGroupsInput) SetMaxResults(v int64) *ListUserHierarchyGroupsInput {
6394	s.MaxResults = &v
6395	return s
6396}
6397
6398// SetNextToken sets the NextToken field's value.
6399func (s *ListUserHierarchyGroupsInput) SetNextToken(v string) *ListUserHierarchyGroupsInput {
6400	s.NextToken = &v
6401	return s
6402}
6403
6404type ListUserHierarchyGroupsOutput struct {
6405	_ struct{} `type:"structure"`
6406
6407	// If there are additional results, this is the token for the next set of results.
6408	NextToken *string `type:"string"`
6409
6410	// Information about the hierarchy groups.
6411	UserHierarchyGroupSummaryList []*HierarchyGroupSummary `type:"list"`
6412}
6413
6414// String returns the string representation
6415func (s ListUserHierarchyGroupsOutput) String() string {
6416	return awsutil.Prettify(s)
6417}
6418
6419// GoString returns the string representation
6420func (s ListUserHierarchyGroupsOutput) GoString() string {
6421	return s.String()
6422}
6423
6424// SetNextToken sets the NextToken field's value.
6425func (s *ListUserHierarchyGroupsOutput) SetNextToken(v string) *ListUserHierarchyGroupsOutput {
6426	s.NextToken = &v
6427	return s
6428}
6429
6430// SetUserHierarchyGroupSummaryList sets the UserHierarchyGroupSummaryList field's value.
6431func (s *ListUserHierarchyGroupsOutput) SetUserHierarchyGroupSummaryList(v []*HierarchyGroupSummary) *ListUserHierarchyGroupsOutput {
6432	s.UserHierarchyGroupSummaryList = v
6433	return s
6434}
6435
6436type ListUsersInput struct {
6437	_ struct{} `type:"structure"`
6438
6439	// The identifier of the Amazon Connect instance.
6440	//
6441	// InstanceId is a required field
6442	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
6443
6444	// The maximimum number of results to return per page.
6445	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
6446
6447	// The token for the next set of results. Use the value returned in the previous
6448	// response in the next request to retrieve the next set of results.
6449	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
6450}
6451
6452// String returns the string representation
6453func (s ListUsersInput) String() string {
6454	return awsutil.Prettify(s)
6455}
6456
6457// GoString returns the string representation
6458func (s ListUsersInput) GoString() string {
6459	return s.String()
6460}
6461
6462// Validate inspects the fields of the type to determine if they are valid.
6463func (s *ListUsersInput) Validate() error {
6464	invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
6465	if s.InstanceId == nil {
6466		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6467	}
6468	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
6469		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
6470	}
6471	if s.MaxResults != nil && *s.MaxResults < 1 {
6472		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6473	}
6474
6475	if invalidParams.Len() > 0 {
6476		return invalidParams
6477	}
6478	return nil
6479}
6480
6481// SetInstanceId sets the InstanceId field's value.
6482func (s *ListUsersInput) SetInstanceId(v string) *ListUsersInput {
6483	s.InstanceId = &v
6484	return s
6485}
6486
6487// SetMaxResults sets the MaxResults field's value.
6488func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput {
6489	s.MaxResults = &v
6490	return s
6491}
6492
6493// SetNextToken sets the NextToken field's value.
6494func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput {
6495	s.NextToken = &v
6496	return s
6497}
6498
6499type ListUsersOutput struct {
6500	_ struct{} `type:"structure"`
6501
6502	// If there are additional results, this is the token for the next set of results.
6503	NextToken *string `type:"string"`
6504
6505	// Information about the users.
6506	UserSummaryList []*UserSummary `type:"list"`
6507}
6508
6509// String returns the string representation
6510func (s ListUsersOutput) String() string {
6511	return awsutil.Prettify(s)
6512}
6513
6514// GoString returns the string representation
6515func (s ListUsersOutput) GoString() string {
6516	return s.String()
6517}
6518
6519// SetNextToken sets the NextToken field's value.
6520func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput {
6521	s.NextToken = &v
6522	return s
6523}
6524
6525// SetUserSummaryList sets the UserSummaryList field's value.
6526func (s *ListUsersOutput) SetUserSummaryList(v []*UserSummary) *ListUsersOutput {
6527	s.UserSummaryList = v
6528	return s
6529}
6530
6531// The contact is not permitted.
6532type OutboundContactNotPermittedException struct {
6533	_            struct{}                  `type:"structure"`
6534	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6535
6536	// The message.
6537	Message_ *string `locationName:"Message" type:"string"`
6538}
6539
6540// String returns the string representation
6541func (s OutboundContactNotPermittedException) String() string {
6542	return awsutil.Prettify(s)
6543}
6544
6545// GoString returns the string representation
6546func (s OutboundContactNotPermittedException) GoString() string {
6547	return s.String()
6548}
6549
6550func newErrorOutboundContactNotPermittedException(v protocol.ResponseMetadata) error {
6551	return &OutboundContactNotPermittedException{
6552		RespMetadata: v,
6553	}
6554}
6555
6556// Code returns the exception type name.
6557func (s *OutboundContactNotPermittedException) Code() string {
6558	return "OutboundContactNotPermittedException"
6559}
6560
6561// Message returns the exception's message.
6562func (s *OutboundContactNotPermittedException) Message() string {
6563	if s.Message_ != nil {
6564		return *s.Message_
6565	}
6566	return ""
6567}
6568
6569// OrigErr always returns nil, satisfies awserr.Error interface.
6570func (s *OutboundContactNotPermittedException) OrigErr() error {
6571	return nil
6572}
6573
6574func (s *OutboundContactNotPermittedException) Error() string {
6575	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6576}
6577
6578// Status code returns the HTTP status code for the request's response error.
6579func (s *OutboundContactNotPermittedException) StatusCode() int {
6580	return s.RespMetadata.StatusCode
6581}
6582
6583// RequestID returns the service's response RequestID for request.
6584func (s *OutboundContactNotPermittedException) RequestID() string {
6585	return s.RespMetadata.RequestID
6586}
6587
6588// The customer's details.
6589type ParticipantDetails struct {
6590	_ struct{} `type:"structure"`
6591
6592	// Display name of the participant.
6593	//
6594	// DisplayName is a required field
6595	DisplayName *string `min:"1" type:"string" required:"true"`
6596}
6597
6598// String returns the string representation
6599func (s ParticipantDetails) String() string {
6600	return awsutil.Prettify(s)
6601}
6602
6603// GoString returns the string representation
6604func (s ParticipantDetails) GoString() string {
6605	return s.String()
6606}
6607
6608// Validate inspects the fields of the type to determine if they are valid.
6609func (s *ParticipantDetails) Validate() error {
6610	invalidParams := request.ErrInvalidParams{Context: "ParticipantDetails"}
6611	if s.DisplayName == nil {
6612		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
6613	}
6614	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
6615		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
6616	}
6617
6618	if invalidParams.Len() > 0 {
6619		return invalidParams
6620	}
6621	return nil
6622}
6623
6624// SetDisplayName sets the DisplayName field's value.
6625func (s *ParticipantDetails) SetDisplayName(v string) *ParticipantDetails {
6626	s.DisplayName = &v
6627	return s
6628}
6629
6630// Contains summary information about a phone number for a contact center.
6631type PhoneNumberSummary struct {
6632	_ struct{} `type:"structure"`
6633
6634	// The Amazon Resource Name (ARN) of the phone number.
6635	Arn *string `type:"string"`
6636
6637	// The identifier of the phone number.
6638	Id *string `type:"string"`
6639
6640	// The phone number.
6641	PhoneNumber *string `type:"string"`
6642
6643	// The ISO country code.
6644	PhoneNumberCountryCode *string `type:"string" enum:"PhoneNumberCountryCode"`
6645
6646	// The type of phone number.
6647	PhoneNumberType *string `type:"string" enum:"PhoneNumberType"`
6648}
6649
6650// String returns the string representation
6651func (s PhoneNumberSummary) String() string {
6652	return awsutil.Prettify(s)
6653}
6654
6655// GoString returns the string representation
6656func (s PhoneNumberSummary) GoString() string {
6657	return s.String()
6658}
6659
6660// SetArn sets the Arn field's value.
6661func (s *PhoneNumberSummary) SetArn(v string) *PhoneNumberSummary {
6662	s.Arn = &v
6663	return s
6664}
6665
6666// SetId sets the Id field's value.
6667func (s *PhoneNumberSummary) SetId(v string) *PhoneNumberSummary {
6668	s.Id = &v
6669	return s
6670}
6671
6672// SetPhoneNumber sets the PhoneNumber field's value.
6673func (s *PhoneNumberSummary) SetPhoneNumber(v string) *PhoneNumberSummary {
6674	s.PhoneNumber = &v
6675	return s
6676}
6677
6678// SetPhoneNumberCountryCode sets the PhoneNumberCountryCode field's value.
6679func (s *PhoneNumberSummary) SetPhoneNumberCountryCode(v string) *PhoneNumberSummary {
6680	s.PhoneNumberCountryCode = &v
6681	return s
6682}
6683
6684// SetPhoneNumberType sets the PhoneNumberType field's value.
6685func (s *PhoneNumberSummary) SetPhoneNumberType(v string) *PhoneNumberSummary {
6686	s.PhoneNumberType = &v
6687	return s
6688}
6689
6690// Contains information about a queue resource for which metrics are returned.
6691type QueueReference struct {
6692	_ struct{} `type:"structure"`
6693
6694	// The Amazon Resource Name (ARN) of the queue.
6695	Arn *string `type:"string"`
6696
6697	// The identifier of the queue.
6698	Id *string `type:"string"`
6699}
6700
6701// String returns the string representation
6702func (s QueueReference) String() string {
6703	return awsutil.Prettify(s)
6704}
6705
6706// GoString returns the string representation
6707func (s QueueReference) GoString() string {
6708	return s.String()
6709}
6710
6711// SetArn sets the Arn field's value.
6712func (s *QueueReference) SetArn(v string) *QueueReference {
6713	s.Arn = &v
6714	return s
6715}
6716
6717// SetId sets the Id field's value.
6718func (s *QueueReference) SetId(v string) *QueueReference {
6719	s.Id = &v
6720	return s
6721}
6722
6723// Contains summary information about a queue.
6724type QueueSummary struct {
6725	_ struct{} `type:"structure"`
6726
6727	// The Amazon Resource Name (ARN) of the queue.
6728	Arn *string `type:"string"`
6729
6730	// The identifier of the queue.
6731	Id *string `type:"string"`
6732
6733	// The name of the queue.
6734	Name *string `min:"1" type:"string"`
6735
6736	// The type of queue.
6737	QueueType *string `type:"string" enum:"QueueType"`
6738}
6739
6740// String returns the string representation
6741func (s QueueSummary) String() string {
6742	return awsutil.Prettify(s)
6743}
6744
6745// GoString returns the string representation
6746func (s QueueSummary) GoString() string {
6747	return s.String()
6748}
6749
6750// SetArn sets the Arn field's value.
6751func (s *QueueSummary) SetArn(v string) *QueueSummary {
6752	s.Arn = &v
6753	return s
6754}
6755
6756// SetId sets the Id field's value.
6757func (s *QueueSummary) SetId(v string) *QueueSummary {
6758	s.Id = &v
6759	return s
6760}
6761
6762// SetName sets the Name field's value.
6763func (s *QueueSummary) SetName(v string) *QueueSummary {
6764	s.Name = &v
6765	return s
6766}
6767
6768// SetQueueType sets the QueueType field's value.
6769func (s *QueueSummary) SetQueueType(v string) *QueueSummary {
6770	s.QueueType = &v
6771	return s
6772}
6773
6774// The specified resource was not found.
6775type ResourceNotFoundException struct {
6776	_            struct{}                  `type:"structure"`
6777	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6778
6779	// The message.
6780	Message_ *string `locationName:"Message" type:"string"`
6781}
6782
6783// String returns the string representation
6784func (s ResourceNotFoundException) String() string {
6785	return awsutil.Prettify(s)
6786}
6787
6788// GoString returns the string representation
6789func (s ResourceNotFoundException) GoString() string {
6790	return s.String()
6791}
6792
6793func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
6794	return &ResourceNotFoundException{
6795		RespMetadata: v,
6796	}
6797}
6798
6799// Code returns the exception type name.
6800func (s *ResourceNotFoundException) Code() string {
6801	return "ResourceNotFoundException"
6802}
6803
6804// Message returns the exception's message.
6805func (s *ResourceNotFoundException) Message() string {
6806	if s.Message_ != nil {
6807		return *s.Message_
6808	}
6809	return ""
6810}
6811
6812// OrigErr always returns nil, satisfies awserr.Error interface.
6813func (s *ResourceNotFoundException) OrigErr() error {
6814	return nil
6815}
6816
6817func (s *ResourceNotFoundException) Error() string {
6818	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6819}
6820
6821// Status code returns the HTTP status code for the request's response error.
6822func (s *ResourceNotFoundException) StatusCode() int {
6823	return s.RespMetadata.StatusCode
6824}
6825
6826// RequestID returns the service's response RequestID for request.
6827func (s *ResourceNotFoundException) RequestID() string {
6828	return s.RespMetadata.RequestID
6829}
6830
6831// Contains summary information about a routing profile.
6832type RoutingProfileSummary struct {
6833	_ struct{} `type:"structure"`
6834
6835	// The Amazon Resource Name (ARN) of the routing profile.
6836	Arn *string `type:"string"`
6837
6838	// The identifier of the routing profile.
6839	Id *string `type:"string"`
6840
6841	// The name of the routing profile.
6842	Name *string `min:"1" type:"string"`
6843}
6844
6845// String returns the string representation
6846func (s RoutingProfileSummary) String() string {
6847	return awsutil.Prettify(s)
6848}
6849
6850// GoString returns the string representation
6851func (s RoutingProfileSummary) GoString() string {
6852	return s.String()
6853}
6854
6855// SetArn sets the Arn field's value.
6856func (s *RoutingProfileSummary) SetArn(v string) *RoutingProfileSummary {
6857	s.Arn = &v
6858	return s
6859}
6860
6861// SetId sets the Id field's value.
6862func (s *RoutingProfileSummary) SetId(v string) *RoutingProfileSummary {
6863	s.Id = &v
6864	return s
6865}
6866
6867// SetName sets the Name field's value.
6868func (s *RoutingProfileSummary) SetName(v string) *RoutingProfileSummary {
6869	s.Name = &v
6870	return s
6871}
6872
6873// Contains information about a security profile.
6874type SecurityProfileSummary struct {
6875	_ struct{} `type:"structure"`
6876
6877	// The Amazon Resource Name (ARN) of the security profile.
6878	Arn *string `type:"string"`
6879
6880	// The identifier of the security profile.
6881	Id *string `type:"string"`
6882
6883	// The name of the security profile.
6884	Name *string `type:"string"`
6885}
6886
6887// String returns the string representation
6888func (s SecurityProfileSummary) String() string {
6889	return awsutil.Prettify(s)
6890}
6891
6892// GoString returns the string representation
6893func (s SecurityProfileSummary) GoString() string {
6894	return s.String()
6895}
6896
6897// SetArn sets the Arn field's value.
6898func (s *SecurityProfileSummary) SetArn(v string) *SecurityProfileSummary {
6899	s.Arn = &v
6900	return s
6901}
6902
6903// SetId sets the Id field's value.
6904func (s *SecurityProfileSummary) SetId(v string) *SecurityProfileSummary {
6905	s.Id = &v
6906	return s
6907}
6908
6909// SetName sets the Name field's value.
6910func (s *SecurityProfileSummary) SetName(v string) *SecurityProfileSummary {
6911	s.Name = &v
6912	return s
6913}
6914
6915type StartChatContactInput struct {
6916	_ struct{} `type:"structure"`
6917
6918	// A custom key-value pair using an attribute map. The attributes are standard
6919	// Amazon Connect attributes, and can be accessed in contact flows just like
6920	// any other contact attributes.
6921	//
6922	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
6923	// Attribute keys can include only alphanumeric, dash, and underscore characters.
6924	Attributes map[string]*string `type:"map"`
6925
6926	// A unique, case-sensitive identifier that you provide to ensure the idempotency
6927	// of the request.
6928	ClientToken *string `type:"string" idempotencyToken:"true"`
6929
6930	// The identifier of the contact flow for the chat.
6931	//
6932	// ContactFlowId is a required field
6933	ContactFlowId *string `type:"string" required:"true"`
6934
6935	// The initial message to be sent to the newly created chat.
6936	InitialMessage *ChatMessage `type:"structure"`
6937
6938	// The identifier of the Amazon Connect instance.
6939	//
6940	// InstanceId is a required field
6941	InstanceId *string `min:"1" type:"string" required:"true"`
6942
6943	// Information identifying the participant.
6944	//
6945	// ParticipantDetails is a required field
6946	ParticipantDetails *ParticipantDetails `type:"structure" required:"true"`
6947}
6948
6949// String returns the string representation
6950func (s StartChatContactInput) String() string {
6951	return awsutil.Prettify(s)
6952}
6953
6954// GoString returns the string representation
6955func (s StartChatContactInput) GoString() string {
6956	return s.String()
6957}
6958
6959// Validate inspects the fields of the type to determine if they are valid.
6960func (s *StartChatContactInput) Validate() error {
6961	invalidParams := request.ErrInvalidParams{Context: "StartChatContactInput"}
6962	if s.ContactFlowId == nil {
6963		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
6964	}
6965	if s.InstanceId == nil {
6966		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
6967	}
6968	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
6969		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
6970	}
6971	if s.ParticipantDetails == nil {
6972		invalidParams.Add(request.NewErrParamRequired("ParticipantDetails"))
6973	}
6974	if s.InitialMessage != nil {
6975		if err := s.InitialMessage.Validate(); err != nil {
6976			invalidParams.AddNested("InitialMessage", err.(request.ErrInvalidParams))
6977		}
6978	}
6979	if s.ParticipantDetails != nil {
6980		if err := s.ParticipantDetails.Validate(); err != nil {
6981			invalidParams.AddNested("ParticipantDetails", err.(request.ErrInvalidParams))
6982		}
6983	}
6984
6985	if invalidParams.Len() > 0 {
6986		return invalidParams
6987	}
6988	return nil
6989}
6990
6991// SetAttributes sets the Attributes field's value.
6992func (s *StartChatContactInput) SetAttributes(v map[string]*string) *StartChatContactInput {
6993	s.Attributes = v
6994	return s
6995}
6996
6997// SetClientToken sets the ClientToken field's value.
6998func (s *StartChatContactInput) SetClientToken(v string) *StartChatContactInput {
6999	s.ClientToken = &v
7000	return s
7001}
7002
7003// SetContactFlowId sets the ContactFlowId field's value.
7004func (s *StartChatContactInput) SetContactFlowId(v string) *StartChatContactInput {
7005	s.ContactFlowId = &v
7006	return s
7007}
7008
7009// SetInitialMessage sets the InitialMessage field's value.
7010func (s *StartChatContactInput) SetInitialMessage(v *ChatMessage) *StartChatContactInput {
7011	s.InitialMessage = v
7012	return s
7013}
7014
7015// SetInstanceId sets the InstanceId field's value.
7016func (s *StartChatContactInput) SetInstanceId(v string) *StartChatContactInput {
7017	s.InstanceId = &v
7018	return s
7019}
7020
7021// SetParticipantDetails sets the ParticipantDetails field's value.
7022func (s *StartChatContactInput) SetParticipantDetails(v *ParticipantDetails) *StartChatContactInput {
7023	s.ParticipantDetails = v
7024	return s
7025}
7026
7027type StartChatContactOutput struct {
7028	_ struct{} `type:"structure"`
7029
7030	// The identifier of this contact within the Amazon Connect instance.
7031	ContactId *string `min:"1" type:"string"`
7032
7033	// The identifier for a chat participant. The participantId for a chat participant
7034	// is the same throughout the chat lifecycle.
7035	ParticipantId *string `min:"1" type:"string"`
7036
7037	// The token used by the chat participant to call CreateParticipantConnection
7038	// (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html).
7039	// The participant token is valid for the lifetime of a chat participant.
7040	ParticipantToken *string `min:"1" type:"string"`
7041}
7042
7043// String returns the string representation
7044func (s StartChatContactOutput) String() string {
7045	return awsutil.Prettify(s)
7046}
7047
7048// GoString returns the string representation
7049func (s StartChatContactOutput) GoString() string {
7050	return s.String()
7051}
7052
7053// SetContactId sets the ContactId field's value.
7054func (s *StartChatContactOutput) SetContactId(v string) *StartChatContactOutput {
7055	s.ContactId = &v
7056	return s
7057}
7058
7059// SetParticipantId sets the ParticipantId field's value.
7060func (s *StartChatContactOutput) SetParticipantId(v string) *StartChatContactOutput {
7061	s.ParticipantId = &v
7062	return s
7063}
7064
7065// SetParticipantToken sets the ParticipantToken field's value.
7066func (s *StartChatContactOutput) SetParticipantToken(v string) *StartChatContactOutput {
7067	s.ParticipantToken = &v
7068	return s
7069}
7070
7071type StartOutboundVoiceContactInput struct {
7072	_ struct{} `type:"structure"`
7073
7074	// A custom key-value pair using an attribute map. The attributes are standard
7075	// Amazon Connect attributes, and can be accessed in contact flows just like
7076	// any other contact attributes.
7077	//
7078	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
7079	// Attribute keys can include only alphanumeric, dash, and underscore characters.
7080	Attributes map[string]*string `type:"map"`
7081
7082	// A unique, case-sensitive identifier that you provide to ensure the idempotency
7083	// of the request. The token is valid for 7 days after creation. If a contact
7084	// is already started, the contact ID is returned. If the contact is disconnected,
7085	// a new contact is started.
7086	ClientToken *string `type:"string" idempotencyToken:"true"`
7087
7088	// The identifier of the contact flow for the outbound call.
7089	//
7090	// ContactFlowId is a required field
7091	ContactFlowId *string `type:"string" required:"true"`
7092
7093	// The phone number of the customer, in E.164 format.
7094	//
7095	// DestinationPhoneNumber is a required field
7096	DestinationPhoneNumber *string `type:"string" required:"true"`
7097
7098	// The identifier of the Amazon Connect instance.
7099	//
7100	// InstanceId is a required field
7101	InstanceId *string `min:"1" type:"string" required:"true"`
7102
7103	// The queue for the call. If you specify a queue, the phone displayed for caller
7104	// ID is the phone number specified in the queue. If you do not specify a queue,
7105	// the queue defined in the contact flow is used. If you do not specify a queue,
7106	// you must specify a source phone number.
7107	QueueId *string `type:"string"`
7108
7109	// The phone number associated with the Amazon Connect instance, in E.164 format.
7110	// If you do not specify a source phone number, you must specify a queue.
7111	SourcePhoneNumber *string `type:"string"`
7112}
7113
7114// String returns the string representation
7115func (s StartOutboundVoiceContactInput) String() string {
7116	return awsutil.Prettify(s)
7117}
7118
7119// GoString returns the string representation
7120func (s StartOutboundVoiceContactInput) GoString() string {
7121	return s.String()
7122}
7123
7124// Validate inspects the fields of the type to determine if they are valid.
7125func (s *StartOutboundVoiceContactInput) Validate() error {
7126	invalidParams := request.ErrInvalidParams{Context: "StartOutboundVoiceContactInput"}
7127	if s.ContactFlowId == nil {
7128		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
7129	}
7130	if s.DestinationPhoneNumber == nil {
7131		invalidParams.Add(request.NewErrParamRequired("DestinationPhoneNumber"))
7132	}
7133	if s.InstanceId == nil {
7134		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7135	}
7136	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7137		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7138	}
7139
7140	if invalidParams.Len() > 0 {
7141		return invalidParams
7142	}
7143	return nil
7144}
7145
7146// SetAttributes sets the Attributes field's value.
7147func (s *StartOutboundVoiceContactInput) SetAttributes(v map[string]*string) *StartOutboundVoiceContactInput {
7148	s.Attributes = v
7149	return s
7150}
7151
7152// SetClientToken sets the ClientToken field's value.
7153func (s *StartOutboundVoiceContactInput) SetClientToken(v string) *StartOutboundVoiceContactInput {
7154	s.ClientToken = &v
7155	return s
7156}
7157
7158// SetContactFlowId sets the ContactFlowId field's value.
7159func (s *StartOutboundVoiceContactInput) SetContactFlowId(v string) *StartOutboundVoiceContactInput {
7160	s.ContactFlowId = &v
7161	return s
7162}
7163
7164// SetDestinationPhoneNumber sets the DestinationPhoneNumber field's value.
7165func (s *StartOutboundVoiceContactInput) SetDestinationPhoneNumber(v string) *StartOutboundVoiceContactInput {
7166	s.DestinationPhoneNumber = &v
7167	return s
7168}
7169
7170// SetInstanceId sets the InstanceId field's value.
7171func (s *StartOutboundVoiceContactInput) SetInstanceId(v string) *StartOutboundVoiceContactInput {
7172	s.InstanceId = &v
7173	return s
7174}
7175
7176// SetQueueId sets the QueueId field's value.
7177func (s *StartOutboundVoiceContactInput) SetQueueId(v string) *StartOutboundVoiceContactInput {
7178	s.QueueId = &v
7179	return s
7180}
7181
7182// SetSourcePhoneNumber sets the SourcePhoneNumber field's value.
7183func (s *StartOutboundVoiceContactInput) SetSourcePhoneNumber(v string) *StartOutboundVoiceContactInput {
7184	s.SourcePhoneNumber = &v
7185	return s
7186}
7187
7188type StartOutboundVoiceContactOutput struct {
7189	_ struct{} `type:"structure"`
7190
7191	// The identifier of this contact within the Amazon Connect instance.
7192	ContactId *string `min:"1" type:"string"`
7193}
7194
7195// String returns the string representation
7196func (s StartOutboundVoiceContactOutput) String() string {
7197	return awsutil.Prettify(s)
7198}
7199
7200// GoString returns the string representation
7201func (s StartOutboundVoiceContactOutput) GoString() string {
7202	return s.String()
7203}
7204
7205// SetContactId sets the ContactId field's value.
7206func (s *StartOutboundVoiceContactOutput) SetContactId(v string) *StartOutboundVoiceContactOutput {
7207	s.ContactId = &v
7208	return s
7209}
7210
7211type StopContactInput struct {
7212	_ struct{} `type:"structure"`
7213
7214	// The ID of the contact.
7215	//
7216	// ContactId is a required field
7217	ContactId *string `min:"1" type:"string" required:"true"`
7218
7219	// The identifier of the Amazon Connect instance.
7220	//
7221	// InstanceId is a required field
7222	InstanceId *string `min:"1" type:"string" required:"true"`
7223}
7224
7225// String returns the string representation
7226func (s StopContactInput) String() string {
7227	return awsutil.Prettify(s)
7228}
7229
7230// GoString returns the string representation
7231func (s StopContactInput) GoString() string {
7232	return s.String()
7233}
7234
7235// Validate inspects the fields of the type to determine if they are valid.
7236func (s *StopContactInput) Validate() error {
7237	invalidParams := request.ErrInvalidParams{Context: "StopContactInput"}
7238	if s.ContactId == nil {
7239		invalidParams.Add(request.NewErrParamRequired("ContactId"))
7240	}
7241	if s.ContactId != nil && len(*s.ContactId) < 1 {
7242		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
7243	}
7244	if s.InstanceId == nil {
7245		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7246	}
7247	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7248		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7249	}
7250
7251	if invalidParams.Len() > 0 {
7252		return invalidParams
7253	}
7254	return nil
7255}
7256
7257// SetContactId sets the ContactId field's value.
7258func (s *StopContactInput) SetContactId(v string) *StopContactInput {
7259	s.ContactId = &v
7260	return s
7261}
7262
7263// SetInstanceId sets the InstanceId field's value.
7264func (s *StopContactInput) SetInstanceId(v string) *StopContactInput {
7265	s.InstanceId = &v
7266	return s
7267}
7268
7269type StopContactOutput struct {
7270	_ struct{} `type:"structure"`
7271}
7272
7273// String returns the string representation
7274func (s StopContactOutput) String() string {
7275	return awsutil.Prettify(s)
7276}
7277
7278// GoString returns the string representation
7279func (s StopContactOutput) GoString() string {
7280	return s.String()
7281}
7282
7283type TagResourceInput struct {
7284	_ struct{} `type:"structure"`
7285
7286	// The Amazon Resource Name (ARN) of the resource.
7287	//
7288	// ResourceArn is a required field
7289	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7290
7291	// One or more tags. For example, { "tags": {"key1":"value1", "key2":"value2"}
7292	// }.
7293	//
7294	// Tags is a required field
7295	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
7296}
7297
7298// String returns the string representation
7299func (s TagResourceInput) String() string {
7300	return awsutil.Prettify(s)
7301}
7302
7303// GoString returns the string representation
7304func (s TagResourceInput) GoString() string {
7305	return s.String()
7306}
7307
7308// Validate inspects the fields of the type to determine if they are valid.
7309func (s *TagResourceInput) Validate() error {
7310	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
7311	if s.ResourceArn == nil {
7312		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7313	}
7314	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7315		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7316	}
7317	if s.Tags == nil {
7318		invalidParams.Add(request.NewErrParamRequired("Tags"))
7319	}
7320	if s.Tags != nil && len(s.Tags) < 1 {
7321		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7322	}
7323
7324	if invalidParams.Len() > 0 {
7325		return invalidParams
7326	}
7327	return nil
7328}
7329
7330// SetResourceArn sets the ResourceArn field's value.
7331func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
7332	s.ResourceArn = &v
7333	return s
7334}
7335
7336// SetTags sets the Tags field's value.
7337func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
7338	s.Tags = v
7339	return s
7340}
7341
7342type TagResourceOutput struct {
7343	_ struct{} `type:"structure"`
7344}
7345
7346// String returns the string representation
7347func (s TagResourceOutput) String() string {
7348	return awsutil.Prettify(s)
7349}
7350
7351// GoString returns the string representation
7352func (s TagResourceOutput) GoString() string {
7353	return s.String()
7354}
7355
7356// Contains information about the threshold for service level metrics.
7357type Threshold struct {
7358	_ struct{} `type:"structure"`
7359
7360	// The type of comparison. Only "less than" (LT) comparisons are supported.
7361	Comparison *string `type:"string" enum:"Comparison"`
7362
7363	// The threshold value to compare.
7364	ThresholdValue *float64 `type:"double"`
7365}
7366
7367// String returns the string representation
7368func (s Threshold) String() string {
7369	return awsutil.Prettify(s)
7370}
7371
7372// GoString returns the string representation
7373func (s Threshold) GoString() string {
7374	return s.String()
7375}
7376
7377// SetComparison sets the Comparison field's value.
7378func (s *Threshold) SetComparison(v string) *Threshold {
7379	s.Comparison = &v
7380	return s
7381}
7382
7383// SetThresholdValue sets the ThresholdValue field's value.
7384func (s *Threshold) SetThresholdValue(v float64) *Threshold {
7385	s.ThresholdValue = &v
7386	return s
7387}
7388
7389// The throttling limit has been exceeded.
7390type ThrottlingException struct {
7391	_            struct{}                  `type:"structure"`
7392	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7393
7394	Message_ *string `locationName:"Message" type:"string"`
7395}
7396
7397// String returns the string representation
7398func (s ThrottlingException) String() string {
7399	return awsutil.Prettify(s)
7400}
7401
7402// GoString returns the string representation
7403func (s ThrottlingException) GoString() string {
7404	return s.String()
7405}
7406
7407func newErrorThrottlingException(v protocol.ResponseMetadata) error {
7408	return &ThrottlingException{
7409		RespMetadata: v,
7410	}
7411}
7412
7413// Code returns the exception type name.
7414func (s *ThrottlingException) Code() string {
7415	return "ThrottlingException"
7416}
7417
7418// Message returns the exception's message.
7419func (s *ThrottlingException) Message() string {
7420	if s.Message_ != nil {
7421		return *s.Message_
7422	}
7423	return ""
7424}
7425
7426// OrigErr always returns nil, satisfies awserr.Error interface.
7427func (s *ThrottlingException) OrigErr() error {
7428	return nil
7429}
7430
7431func (s *ThrottlingException) Error() string {
7432	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7433}
7434
7435// Status code returns the HTTP status code for the request's response error.
7436func (s *ThrottlingException) StatusCode() int {
7437	return s.RespMetadata.StatusCode
7438}
7439
7440// RequestID returns the service's response RequestID for request.
7441func (s *ThrottlingException) RequestID() string {
7442	return s.RespMetadata.RequestID
7443}
7444
7445type UntagResourceInput struct {
7446	_ struct{} `type:"structure"`
7447
7448	// The Amazon Resource Name (ARN) of the resource.
7449	//
7450	// ResourceArn is a required field
7451	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
7452
7453	// The tag keys.
7454	//
7455	// TagKeys is a required field
7456	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
7457}
7458
7459// String returns the string representation
7460func (s UntagResourceInput) String() string {
7461	return awsutil.Prettify(s)
7462}
7463
7464// GoString returns the string representation
7465func (s UntagResourceInput) GoString() string {
7466	return s.String()
7467}
7468
7469// Validate inspects the fields of the type to determine if they are valid.
7470func (s *UntagResourceInput) Validate() error {
7471	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
7472	if s.ResourceArn == nil {
7473		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7474	}
7475	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7476		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7477	}
7478	if s.TagKeys == nil {
7479		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
7480	}
7481	if s.TagKeys != nil && len(s.TagKeys) < 1 {
7482		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
7483	}
7484
7485	if invalidParams.Len() > 0 {
7486		return invalidParams
7487	}
7488	return nil
7489}
7490
7491// SetResourceArn sets the ResourceArn field's value.
7492func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
7493	s.ResourceArn = &v
7494	return s
7495}
7496
7497// SetTagKeys sets the TagKeys field's value.
7498func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
7499	s.TagKeys = v
7500	return s
7501}
7502
7503type UntagResourceOutput struct {
7504	_ struct{} `type:"structure"`
7505}
7506
7507// String returns the string representation
7508func (s UntagResourceOutput) String() string {
7509	return awsutil.Prettify(s)
7510}
7511
7512// GoString returns the string representation
7513func (s UntagResourceOutput) GoString() string {
7514	return s.String()
7515}
7516
7517type UpdateContactAttributesInput struct {
7518	_ struct{} `type:"structure"`
7519
7520	// The Amazon Connect attributes. These attributes can be accessed in contact
7521	// flows just like any other contact attributes.
7522	//
7523	// You can have up to 32,768 UTF-8 bytes across all attributes for a contact.
7524	// Attribute keys can include only alphanumeric, dash, and underscore characters.
7525	//
7526	// Attributes is a required field
7527	Attributes map[string]*string `type:"map" required:"true"`
7528
7529	// The identifier of the contact. This is the identifier of the contact associated
7530	// with the first interaction with the contact center.
7531	//
7532	// InitialContactId is a required field
7533	InitialContactId *string `min:"1" type:"string" required:"true"`
7534
7535	// The identifier of the Amazon Connect instance.
7536	//
7537	// InstanceId is a required field
7538	InstanceId *string `min:"1" type:"string" required:"true"`
7539}
7540
7541// String returns the string representation
7542func (s UpdateContactAttributesInput) String() string {
7543	return awsutil.Prettify(s)
7544}
7545
7546// GoString returns the string representation
7547func (s UpdateContactAttributesInput) GoString() string {
7548	return s.String()
7549}
7550
7551// Validate inspects the fields of the type to determine if they are valid.
7552func (s *UpdateContactAttributesInput) Validate() error {
7553	invalidParams := request.ErrInvalidParams{Context: "UpdateContactAttributesInput"}
7554	if s.Attributes == nil {
7555		invalidParams.Add(request.NewErrParamRequired("Attributes"))
7556	}
7557	if s.InitialContactId == nil {
7558		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
7559	}
7560	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
7561		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
7562	}
7563	if s.InstanceId == nil {
7564		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7565	}
7566	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7567		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7568	}
7569
7570	if invalidParams.Len() > 0 {
7571		return invalidParams
7572	}
7573	return nil
7574}
7575
7576// SetAttributes sets the Attributes field's value.
7577func (s *UpdateContactAttributesInput) SetAttributes(v map[string]*string) *UpdateContactAttributesInput {
7578	s.Attributes = v
7579	return s
7580}
7581
7582// SetInitialContactId sets the InitialContactId field's value.
7583func (s *UpdateContactAttributesInput) SetInitialContactId(v string) *UpdateContactAttributesInput {
7584	s.InitialContactId = &v
7585	return s
7586}
7587
7588// SetInstanceId sets the InstanceId field's value.
7589func (s *UpdateContactAttributesInput) SetInstanceId(v string) *UpdateContactAttributesInput {
7590	s.InstanceId = &v
7591	return s
7592}
7593
7594type UpdateContactAttributesOutput struct {
7595	_ struct{} `type:"structure"`
7596}
7597
7598// String returns the string representation
7599func (s UpdateContactAttributesOutput) String() string {
7600	return awsutil.Prettify(s)
7601}
7602
7603// GoString returns the string representation
7604func (s UpdateContactAttributesOutput) GoString() string {
7605	return s.String()
7606}
7607
7608type UpdateUserHierarchyInput struct {
7609	_ struct{} `type:"structure"`
7610
7611	// The identifier of the hierarchy group.
7612	HierarchyGroupId *string `type:"string"`
7613
7614	// The identifier of the Amazon Connect instance.
7615	//
7616	// InstanceId is a required field
7617	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
7618
7619	// The identifier of the user account.
7620	//
7621	// UserId is a required field
7622	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
7623}
7624
7625// String returns the string representation
7626func (s UpdateUserHierarchyInput) String() string {
7627	return awsutil.Prettify(s)
7628}
7629
7630// GoString returns the string representation
7631func (s UpdateUserHierarchyInput) GoString() string {
7632	return s.String()
7633}
7634
7635// Validate inspects the fields of the type to determine if they are valid.
7636func (s *UpdateUserHierarchyInput) Validate() error {
7637	invalidParams := request.ErrInvalidParams{Context: "UpdateUserHierarchyInput"}
7638	if s.InstanceId == nil {
7639		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7640	}
7641	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7642		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7643	}
7644	if s.UserId == nil {
7645		invalidParams.Add(request.NewErrParamRequired("UserId"))
7646	}
7647	if s.UserId != nil && len(*s.UserId) < 1 {
7648		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
7649	}
7650
7651	if invalidParams.Len() > 0 {
7652		return invalidParams
7653	}
7654	return nil
7655}
7656
7657// SetHierarchyGroupId sets the HierarchyGroupId field's value.
7658func (s *UpdateUserHierarchyInput) SetHierarchyGroupId(v string) *UpdateUserHierarchyInput {
7659	s.HierarchyGroupId = &v
7660	return s
7661}
7662
7663// SetInstanceId sets the InstanceId field's value.
7664func (s *UpdateUserHierarchyInput) SetInstanceId(v string) *UpdateUserHierarchyInput {
7665	s.InstanceId = &v
7666	return s
7667}
7668
7669// SetUserId sets the UserId field's value.
7670func (s *UpdateUserHierarchyInput) SetUserId(v string) *UpdateUserHierarchyInput {
7671	s.UserId = &v
7672	return s
7673}
7674
7675type UpdateUserHierarchyOutput struct {
7676	_ struct{} `type:"structure"`
7677}
7678
7679// String returns the string representation
7680func (s UpdateUserHierarchyOutput) String() string {
7681	return awsutil.Prettify(s)
7682}
7683
7684// GoString returns the string representation
7685func (s UpdateUserHierarchyOutput) GoString() string {
7686	return s.String()
7687}
7688
7689type UpdateUserIdentityInfoInput struct {
7690	_ struct{} `type:"structure"`
7691
7692	// The identity information for the user.
7693	//
7694	// IdentityInfo is a required field
7695	IdentityInfo *UserIdentityInfo `type:"structure" required:"true"`
7696
7697	// The identifier of the Amazon Connect instance.
7698	//
7699	// InstanceId is a required field
7700	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
7701
7702	// The identifier of the user account.
7703	//
7704	// UserId is a required field
7705	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
7706}
7707
7708// String returns the string representation
7709func (s UpdateUserIdentityInfoInput) String() string {
7710	return awsutil.Prettify(s)
7711}
7712
7713// GoString returns the string representation
7714func (s UpdateUserIdentityInfoInput) GoString() string {
7715	return s.String()
7716}
7717
7718// Validate inspects the fields of the type to determine if they are valid.
7719func (s *UpdateUserIdentityInfoInput) Validate() error {
7720	invalidParams := request.ErrInvalidParams{Context: "UpdateUserIdentityInfoInput"}
7721	if s.IdentityInfo == nil {
7722		invalidParams.Add(request.NewErrParamRequired("IdentityInfo"))
7723	}
7724	if s.InstanceId == nil {
7725		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7726	}
7727	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7728		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7729	}
7730	if s.UserId == nil {
7731		invalidParams.Add(request.NewErrParamRequired("UserId"))
7732	}
7733	if s.UserId != nil && len(*s.UserId) < 1 {
7734		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
7735	}
7736	if s.IdentityInfo != nil {
7737		if err := s.IdentityInfo.Validate(); err != nil {
7738			invalidParams.AddNested("IdentityInfo", err.(request.ErrInvalidParams))
7739		}
7740	}
7741
7742	if invalidParams.Len() > 0 {
7743		return invalidParams
7744	}
7745	return nil
7746}
7747
7748// SetIdentityInfo sets the IdentityInfo field's value.
7749func (s *UpdateUserIdentityInfoInput) SetIdentityInfo(v *UserIdentityInfo) *UpdateUserIdentityInfoInput {
7750	s.IdentityInfo = v
7751	return s
7752}
7753
7754// SetInstanceId sets the InstanceId field's value.
7755func (s *UpdateUserIdentityInfoInput) SetInstanceId(v string) *UpdateUserIdentityInfoInput {
7756	s.InstanceId = &v
7757	return s
7758}
7759
7760// SetUserId sets the UserId field's value.
7761func (s *UpdateUserIdentityInfoInput) SetUserId(v string) *UpdateUserIdentityInfoInput {
7762	s.UserId = &v
7763	return s
7764}
7765
7766type UpdateUserIdentityInfoOutput struct {
7767	_ struct{} `type:"structure"`
7768}
7769
7770// String returns the string representation
7771func (s UpdateUserIdentityInfoOutput) String() string {
7772	return awsutil.Prettify(s)
7773}
7774
7775// GoString returns the string representation
7776func (s UpdateUserIdentityInfoOutput) GoString() string {
7777	return s.String()
7778}
7779
7780type UpdateUserPhoneConfigInput struct {
7781	_ struct{} `type:"structure"`
7782
7783	// The identifier of the Amazon Connect instance.
7784	//
7785	// InstanceId is a required field
7786	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
7787
7788	// Information about phone configuration settings for the user.
7789	//
7790	// PhoneConfig is a required field
7791	PhoneConfig *UserPhoneConfig `type:"structure" required:"true"`
7792
7793	// The identifier of the user account.
7794	//
7795	// UserId is a required field
7796	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
7797}
7798
7799// String returns the string representation
7800func (s UpdateUserPhoneConfigInput) String() string {
7801	return awsutil.Prettify(s)
7802}
7803
7804// GoString returns the string representation
7805func (s UpdateUserPhoneConfigInput) GoString() string {
7806	return s.String()
7807}
7808
7809// Validate inspects the fields of the type to determine if they are valid.
7810func (s *UpdateUserPhoneConfigInput) Validate() error {
7811	invalidParams := request.ErrInvalidParams{Context: "UpdateUserPhoneConfigInput"}
7812	if s.InstanceId == nil {
7813		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7814	}
7815	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7816		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7817	}
7818	if s.PhoneConfig == nil {
7819		invalidParams.Add(request.NewErrParamRequired("PhoneConfig"))
7820	}
7821	if s.UserId == nil {
7822		invalidParams.Add(request.NewErrParamRequired("UserId"))
7823	}
7824	if s.UserId != nil && len(*s.UserId) < 1 {
7825		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
7826	}
7827	if s.PhoneConfig != nil {
7828		if err := s.PhoneConfig.Validate(); err != nil {
7829			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
7830		}
7831	}
7832
7833	if invalidParams.Len() > 0 {
7834		return invalidParams
7835	}
7836	return nil
7837}
7838
7839// SetInstanceId sets the InstanceId field's value.
7840func (s *UpdateUserPhoneConfigInput) SetInstanceId(v string) *UpdateUserPhoneConfigInput {
7841	s.InstanceId = &v
7842	return s
7843}
7844
7845// SetPhoneConfig sets the PhoneConfig field's value.
7846func (s *UpdateUserPhoneConfigInput) SetPhoneConfig(v *UserPhoneConfig) *UpdateUserPhoneConfigInput {
7847	s.PhoneConfig = v
7848	return s
7849}
7850
7851// SetUserId sets the UserId field's value.
7852func (s *UpdateUserPhoneConfigInput) SetUserId(v string) *UpdateUserPhoneConfigInput {
7853	s.UserId = &v
7854	return s
7855}
7856
7857type UpdateUserPhoneConfigOutput struct {
7858	_ struct{} `type:"structure"`
7859}
7860
7861// String returns the string representation
7862func (s UpdateUserPhoneConfigOutput) String() string {
7863	return awsutil.Prettify(s)
7864}
7865
7866// GoString returns the string representation
7867func (s UpdateUserPhoneConfigOutput) GoString() string {
7868	return s.String()
7869}
7870
7871type UpdateUserRoutingProfileInput struct {
7872	_ struct{} `type:"structure"`
7873
7874	// The identifier of the Amazon Connect instance.
7875	//
7876	// InstanceId is a required field
7877	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
7878
7879	// The identifier of the routing profile for the user.
7880	//
7881	// RoutingProfileId is a required field
7882	RoutingProfileId *string `type:"string" required:"true"`
7883
7884	// The identifier of the user account.
7885	//
7886	// UserId is a required field
7887	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
7888}
7889
7890// String returns the string representation
7891func (s UpdateUserRoutingProfileInput) String() string {
7892	return awsutil.Prettify(s)
7893}
7894
7895// GoString returns the string representation
7896func (s UpdateUserRoutingProfileInput) GoString() string {
7897	return s.String()
7898}
7899
7900// Validate inspects the fields of the type to determine if they are valid.
7901func (s *UpdateUserRoutingProfileInput) Validate() error {
7902	invalidParams := request.ErrInvalidParams{Context: "UpdateUserRoutingProfileInput"}
7903	if s.InstanceId == nil {
7904		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7905	}
7906	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7907		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7908	}
7909	if s.RoutingProfileId == nil {
7910		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
7911	}
7912	if s.UserId == nil {
7913		invalidParams.Add(request.NewErrParamRequired("UserId"))
7914	}
7915	if s.UserId != nil && len(*s.UserId) < 1 {
7916		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
7917	}
7918
7919	if invalidParams.Len() > 0 {
7920		return invalidParams
7921	}
7922	return nil
7923}
7924
7925// SetInstanceId sets the InstanceId field's value.
7926func (s *UpdateUserRoutingProfileInput) SetInstanceId(v string) *UpdateUserRoutingProfileInput {
7927	s.InstanceId = &v
7928	return s
7929}
7930
7931// SetRoutingProfileId sets the RoutingProfileId field's value.
7932func (s *UpdateUserRoutingProfileInput) SetRoutingProfileId(v string) *UpdateUserRoutingProfileInput {
7933	s.RoutingProfileId = &v
7934	return s
7935}
7936
7937// SetUserId sets the UserId field's value.
7938func (s *UpdateUserRoutingProfileInput) SetUserId(v string) *UpdateUserRoutingProfileInput {
7939	s.UserId = &v
7940	return s
7941}
7942
7943type UpdateUserRoutingProfileOutput struct {
7944	_ struct{} `type:"structure"`
7945}
7946
7947// String returns the string representation
7948func (s UpdateUserRoutingProfileOutput) String() string {
7949	return awsutil.Prettify(s)
7950}
7951
7952// GoString returns the string representation
7953func (s UpdateUserRoutingProfileOutput) GoString() string {
7954	return s.String()
7955}
7956
7957type UpdateUserSecurityProfilesInput struct {
7958	_ struct{} `type:"structure"`
7959
7960	// The identifier of the Amazon Connect instance.
7961	//
7962	// InstanceId is a required field
7963	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
7964
7965	// The identifiers of the security profiles for the user.
7966	//
7967	// SecurityProfileIds is a required field
7968	SecurityProfileIds []*string `min:"1" type:"list" required:"true"`
7969
7970	// The identifier of the user account.
7971	//
7972	// UserId is a required field
7973	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
7974}
7975
7976// String returns the string representation
7977func (s UpdateUserSecurityProfilesInput) String() string {
7978	return awsutil.Prettify(s)
7979}
7980
7981// GoString returns the string representation
7982func (s UpdateUserSecurityProfilesInput) GoString() string {
7983	return s.String()
7984}
7985
7986// Validate inspects the fields of the type to determine if they are valid.
7987func (s *UpdateUserSecurityProfilesInput) Validate() error {
7988	invalidParams := request.ErrInvalidParams{Context: "UpdateUserSecurityProfilesInput"}
7989	if s.InstanceId == nil {
7990		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
7991	}
7992	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
7993		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
7994	}
7995	if s.SecurityProfileIds == nil {
7996		invalidParams.Add(request.NewErrParamRequired("SecurityProfileIds"))
7997	}
7998	if s.SecurityProfileIds != nil && len(s.SecurityProfileIds) < 1 {
7999		invalidParams.Add(request.NewErrParamMinLen("SecurityProfileIds", 1))
8000	}
8001	if s.UserId == nil {
8002		invalidParams.Add(request.NewErrParamRequired("UserId"))
8003	}
8004	if s.UserId != nil && len(*s.UserId) < 1 {
8005		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
8006	}
8007
8008	if invalidParams.Len() > 0 {
8009		return invalidParams
8010	}
8011	return nil
8012}
8013
8014// SetInstanceId sets the InstanceId field's value.
8015func (s *UpdateUserSecurityProfilesInput) SetInstanceId(v string) *UpdateUserSecurityProfilesInput {
8016	s.InstanceId = &v
8017	return s
8018}
8019
8020// SetSecurityProfileIds sets the SecurityProfileIds field's value.
8021func (s *UpdateUserSecurityProfilesInput) SetSecurityProfileIds(v []*string) *UpdateUserSecurityProfilesInput {
8022	s.SecurityProfileIds = v
8023	return s
8024}
8025
8026// SetUserId sets the UserId field's value.
8027func (s *UpdateUserSecurityProfilesInput) SetUserId(v string) *UpdateUserSecurityProfilesInput {
8028	s.UserId = &v
8029	return s
8030}
8031
8032type UpdateUserSecurityProfilesOutput struct {
8033	_ struct{} `type:"structure"`
8034}
8035
8036// String returns the string representation
8037func (s UpdateUserSecurityProfilesOutput) String() string {
8038	return awsutil.Prettify(s)
8039}
8040
8041// GoString returns the string representation
8042func (s UpdateUserSecurityProfilesOutput) GoString() string {
8043	return s.String()
8044}
8045
8046// Contains information about a user account for a Amazon Connect instance.
8047type User struct {
8048	_ struct{} `type:"structure"`
8049
8050	// The Amazon Resource Name (ARN) of the user account.
8051	Arn *string `type:"string"`
8052
8053	// The identifier of the user account in the directory used for identity management.
8054	DirectoryUserId *string `type:"string"`
8055
8056	// The identifier of the hierarchy group for the user.
8057	HierarchyGroupId *string `type:"string"`
8058
8059	// The identifier of the user account.
8060	Id *string `type:"string"`
8061
8062	// Information about the user identity.
8063	IdentityInfo *UserIdentityInfo `type:"structure"`
8064
8065	// Information about the phone configuration for the user.
8066	PhoneConfig *UserPhoneConfig `type:"structure"`
8067
8068	// The identifier of the routing profile for the user.
8069	RoutingProfileId *string `type:"string"`
8070
8071	// The identifiers of the security profiles for the user.
8072	SecurityProfileIds []*string `min:"1" type:"list"`
8073
8074	// The tags.
8075	Tags map[string]*string `min:"1" type:"map"`
8076
8077	// The user name assigned to the user account.
8078	Username *string `min:"1" type:"string"`
8079}
8080
8081// String returns the string representation
8082func (s User) String() string {
8083	return awsutil.Prettify(s)
8084}
8085
8086// GoString returns the string representation
8087func (s User) GoString() string {
8088	return s.String()
8089}
8090
8091// SetArn sets the Arn field's value.
8092func (s *User) SetArn(v string) *User {
8093	s.Arn = &v
8094	return s
8095}
8096
8097// SetDirectoryUserId sets the DirectoryUserId field's value.
8098func (s *User) SetDirectoryUserId(v string) *User {
8099	s.DirectoryUserId = &v
8100	return s
8101}
8102
8103// SetHierarchyGroupId sets the HierarchyGroupId field's value.
8104func (s *User) SetHierarchyGroupId(v string) *User {
8105	s.HierarchyGroupId = &v
8106	return s
8107}
8108
8109// SetId sets the Id field's value.
8110func (s *User) SetId(v string) *User {
8111	s.Id = &v
8112	return s
8113}
8114
8115// SetIdentityInfo sets the IdentityInfo field's value.
8116func (s *User) SetIdentityInfo(v *UserIdentityInfo) *User {
8117	s.IdentityInfo = v
8118	return s
8119}
8120
8121// SetPhoneConfig sets the PhoneConfig field's value.
8122func (s *User) SetPhoneConfig(v *UserPhoneConfig) *User {
8123	s.PhoneConfig = v
8124	return s
8125}
8126
8127// SetRoutingProfileId sets the RoutingProfileId field's value.
8128func (s *User) SetRoutingProfileId(v string) *User {
8129	s.RoutingProfileId = &v
8130	return s
8131}
8132
8133// SetSecurityProfileIds sets the SecurityProfileIds field's value.
8134func (s *User) SetSecurityProfileIds(v []*string) *User {
8135	s.SecurityProfileIds = v
8136	return s
8137}
8138
8139// SetTags sets the Tags field's value.
8140func (s *User) SetTags(v map[string]*string) *User {
8141	s.Tags = v
8142	return s
8143}
8144
8145// SetUsername sets the Username field's value.
8146func (s *User) SetUsername(v string) *User {
8147	s.Username = &v
8148	return s
8149}
8150
8151// Contains information about the identity of a user.
8152type UserIdentityInfo struct {
8153	_ struct{} `type:"structure"`
8154
8155	// The email address. If you are using SAML for identity management and include
8156	// this parameter, an error is returned.
8157	Email *string `type:"string"`
8158
8159	// The first name. This is required if you are using Amazon Connect or SAML
8160	// for identity management.
8161	FirstName *string `min:"1" type:"string"`
8162
8163	// The last name. This is required if you are using Amazon Connect or SAML for
8164	// identity management.
8165	LastName *string `min:"1" type:"string"`
8166}
8167
8168// String returns the string representation
8169func (s UserIdentityInfo) String() string {
8170	return awsutil.Prettify(s)
8171}
8172
8173// GoString returns the string representation
8174func (s UserIdentityInfo) GoString() string {
8175	return s.String()
8176}
8177
8178// Validate inspects the fields of the type to determine if they are valid.
8179func (s *UserIdentityInfo) Validate() error {
8180	invalidParams := request.ErrInvalidParams{Context: "UserIdentityInfo"}
8181	if s.FirstName != nil && len(*s.FirstName) < 1 {
8182		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
8183	}
8184	if s.LastName != nil && len(*s.LastName) < 1 {
8185		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
8186	}
8187
8188	if invalidParams.Len() > 0 {
8189		return invalidParams
8190	}
8191	return nil
8192}
8193
8194// SetEmail sets the Email field's value.
8195func (s *UserIdentityInfo) SetEmail(v string) *UserIdentityInfo {
8196	s.Email = &v
8197	return s
8198}
8199
8200// SetFirstName sets the FirstName field's value.
8201func (s *UserIdentityInfo) SetFirstName(v string) *UserIdentityInfo {
8202	s.FirstName = &v
8203	return s
8204}
8205
8206// SetLastName sets the LastName field's value.
8207func (s *UserIdentityInfo) SetLastName(v string) *UserIdentityInfo {
8208	s.LastName = &v
8209	return s
8210}
8211
8212// No user with the specified credentials was found in the Amazon Connect instance.
8213type UserNotFoundException struct {
8214	_            struct{}                  `type:"structure"`
8215	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8216
8217	Message_ *string `locationName:"Message" type:"string"`
8218}
8219
8220// String returns the string representation
8221func (s UserNotFoundException) String() string {
8222	return awsutil.Prettify(s)
8223}
8224
8225// GoString returns the string representation
8226func (s UserNotFoundException) GoString() string {
8227	return s.String()
8228}
8229
8230func newErrorUserNotFoundException(v protocol.ResponseMetadata) error {
8231	return &UserNotFoundException{
8232		RespMetadata: v,
8233	}
8234}
8235
8236// Code returns the exception type name.
8237func (s *UserNotFoundException) Code() string {
8238	return "UserNotFoundException"
8239}
8240
8241// Message returns the exception's message.
8242func (s *UserNotFoundException) Message() string {
8243	if s.Message_ != nil {
8244		return *s.Message_
8245	}
8246	return ""
8247}
8248
8249// OrigErr always returns nil, satisfies awserr.Error interface.
8250func (s *UserNotFoundException) OrigErr() error {
8251	return nil
8252}
8253
8254func (s *UserNotFoundException) Error() string {
8255	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8256}
8257
8258// Status code returns the HTTP status code for the request's response error.
8259func (s *UserNotFoundException) StatusCode() int {
8260	return s.RespMetadata.StatusCode
8261}
8262
8263// RequestID returns the service's response RequestID for request.
8264func (s *UserNotFoundException) RequestID() string {
8265	return s.RespMetadata.RequestID
8266}
8267
8268// Contains information about the phone configuration settings for a user.
8269type UserPhoneConfig struct {
8270	_ struct{} `type:"structure"`
8271
8272	// The After Call Work (ACW) timeout setting, in seconds.
8273	AfterContactWorkTimeLimit *int64 `type:"integer"`
8274
8275	// The Auto accept setting.
8276	AutoAccept *bool `type:"boolean"`
8277
8278	// The phone number for the user's desk phone.
8279	DeskPhoneNumber *string `type:"string"`
8280
8281	// The phone type.
8282	//
8283	// PhoneType is a required field
8284	PhoneType *string `type:"string" required:"true" enum:"PhoneType"`
8285}
8286
8287// String returns the string representation
8288func (s UserPhoneConfig) String() string {
8289	return awsutil.Prettify(s)
8290}
8291
8292// GoString returns the string representation
8293func (s UserPhoneConfig) GoString() string {
8294	return s.String()
8295}
8296
8297// Validate inspects the fields of the type to determine if they are valid.
8298func (s *UserPhoneConfig) Validate() error {
8299	invalidParams := request.ErrInvalidParams{Context: "UserPhoneConfig"}
8300	if s.PhoneType == nil {
8301		invalidParams.Add(request.NewErrParamRequired("PhoneType"))
8302	}
8303
8304	if invalidParams.Len() > 0 {
8305		return invalidParams
8306	}
8307	return nil
8308}
8309
8310// SetAfterContactWorkTimeLimit sets the AfterContactWorkTimeLimit field's value.
8311func (s *UserPhoneConfig) SetAfterContactWorkTimeLimit(v int64) *UserPhoneConfig {
8312	s.AfterContactWorkTimeLimit = &v
8313	return s
8314}
8315
8316// SetAutoAccept sets the AutoAccept field's value.
8317func (s *UserPhoneConfig) SetAutoAccept(v bool) *UserPhoneConfig {
8318	s.AutoAccept = &v
8319	return s
8320}
8321
8322// SetDeskPhoneNumber sets the DeskPhoneNumber field's value.
8323func (s *UserPhoneConfig) SetDeskPhoneNumber(v string) *UserPhoneConfig {
8324	s.DeskPhoneNumber = &v
8325	return s
8326}
8327
8328// SetPhoneType sets the PhoneType field's value.
8329func (s *UserPhoneConfig) SetPhoneType(v string) *UserPhoneConfig {
8330	s.PhoneType = &v
8331	return s
8332}
8333
8334// Contains summary information about a user.
8335type UserSummary struct {
8336	_ struct{} `type:"structure"`
8337
8338	// The Amazon Resource Name (ARN) of the user account.
8339	Arn *string `type:"string"`
8340
8341	// The identifier of the user account.
8342	Id *string `type:"string"`
8343
8344	// The Amazon Connect user name of the user account.
8345	Username *string `min:"1" type:"string"`
8346}
8347
8348// String returns the string representation
8349func (s UserSummary) String() string {
8350	return awsutil.Prettify(s)
8351}
8352
8353// GoString returns the string representation
8354func (s UserSummary) GoString() string {
8355	return s.String()
8356}
8357
8358// SetArn sets the Arn field's value.
8359func (s *UserSummary) SetArn(v string) *UserSummary {
8360	s.Arn = &v
8361	return s
8362}
8363
8364// SetId sets the Id field's value.
8365func (s *UserSummary) SetId(v string) *UserSummary {
8366	s.Id = &v
8367	return s
8368}
8369
8370// SetUsername sets the Username field's value.
8371func (s *UserSummary) SetUsername(v string) *UserSummary {
8372	s.Username = &v
8373	return s
8374}
8375
8376const (
8377	// ChannelVoice is a Channel enum value
8378	ChannelVoice = "VOICE"
8379
8380	// ChannelChat is a Channel enum value
8381	ChannelChat = "CHAT"
8382)
8383
8384const (
8385	// ComparisonLt is a Comparison enum value
8386	ComparisonLt = "LT"
8387)
8388
8389const (
8390	// ContactFlowTypeContactFlow is a ContactFlowType enum value
8391	ContactFlowTypeContactFlow = "CONTACT_FLOW"
8392
8393	// ContactFlowTypeCustomerQueue is a ContactFlowType enum value
8394	ContactFlowTypeCustomerQueue = "CUSTOMER_QUEUE"
8395
8396	// ContactFlowTypeCustomerHold is a ContactFlowType enum value
8397	ContactFlowTypeCustomerHold = "CUSTOMER_HOLD"
8398
8399	// ContactFlowTypeCustomerWhisper is a ContactFlowType enum value
8400	ContactFlowTypeCustomerWhisper = "CUSTOMER_WHISPER"
8401
8402	// ContactFlowTypeAgentHold is a ContactFlowType enum value
8403	ContactFlowTypeAgentHold = "AGENT_HOLD"
8404
8405	// ContactFlowTypeAgentWhisper is a ContactFlowType enum value
8406	ContactFlowTypeAgentWhisper = "AGENT_WHISPER"
8407
8408	// ContactFlowTypeOutboundWhisper is a ContactFlowType enum value
8409	ContactFlowTypeOutboundWhisper = "OUTBOUND_WHISPER"
8410
8411	// ContactFlowTypeAgentTransfer is a ContactFlowType enum value
8412	ContactFlowTypeAgentTransfer = "AGENT_TRANSFER"
8413
8414	// ContactFlowTypeQueueTransfer is a ContactFlowType enum value
8415	ContactFlowTypeQueueTransfer = "QUEUE_TRANSFER"
8416)
8417
8418// The current metric names.
8419const (
8420	// CurrentMetricNameAgentsOnline is a CurrentMetricName enum value
8421	CurrentMetricNameAgentsOnline = "AGENTS_ONLINE"
8422
8423	// CurrentMetricNameAgentsAvailable is a CurrentMetricName enum value
8424	CurrentMetricNameAgentsAvailable = "AGENTS_AVAILABLE"
8425
8426	// CurrentMetricNameAgentsOnCall is a CurrentMetricName enum value
8427	CurrentMetricNameAgentsOnCall = "AGENTS_ON_CALL"
8428
8429	// CurrentMetricNameAgentsNonProductive is a CurrentMetricName enum value
8430	CurrentMetricNameAgentsNonProductive = "AGENTS_NON_PRODUCTIVE"
8431
8432	// CurrentMetricNameAgentsAfterContactWork is a CurrentMetricName enum value
8433	CurrentMetricNameAgentsAfterContactWork = "AGENTS_AFTER_CONTACT_WORK"
8434
8435	// CurrentMetricNameAgentsError is a CurrentMetricName enum value
8436	CurrentMetricNameAgentsError = "AGENTS_ERROR"
8437
8438	// CurrentMetricNameAgentsStaffed is a CurrentMetricName enum value
8439	CurrentMetricNameAgentsStaffed = "AGENTS_STAFFED"
8440
8441	// CurrentMetricNameContactsInQueue is a CurrentMetricName enum value
8442	CurrentMetricNameContactsInQueue = "CONTACTS_IN_QUEUE"
8443
8444	// CurrentMetricNameOldestContactAge is a CurrentMetricName enum value
8445	CurrentMetricNameOldestContactAge = "OLDEST_CONTACT_AGE"
8446
8447	// CurrentMetricNameContactsScheduled is a CurrentMetricName enum value
8448	CurrentMetricNameContactsScheduled = "CONTACTS_SCHEDULED"
8449
8450	// CurrentMetricNameAgentsOnContact is a CurrentMetricName enum value
8451	CurrentMetricNameAgentsOnContact = "AGENTS_ON_CONTACT"
8452
8453	// CurrentMetricNameSlotsActive is a CurrentMetricName enum value
8454	CurrentMetricNameSlotsActive = "SLOTS_ACTIVE"
8455
8456	// CurrentMetricNameSlotsAvailable is a CurrentMetricName enum value
8457	CurrentMetricNameSlotsAvailable = "SLOTS_AVAILABLE"
8458)
8459
8460const (
8461	// GroupingQueue is a Grouping enum value
8462	GroupingQueue = "QUEUE"
8463
8464	// GroupingChannel is a Grouping enum value
8465	GroupingChannel = "CHANNEL"
8466)
8467
8468// The historical metric names.
8469const (
8470	// HistoricalMetricNameContactsQueued is a HistoricalMetricName enum value
8471	HistoricalMetricNameContactsQueued = "CONTACTS_QUEUED"
8472
8473	// HistoricalMetricNameContactsHandled is a HistoricalMetricName enum value
8474	HistoricalMetricNameContactsHandled = "CONTACTS_HANDLED"
8475
8476	// HistoricalMetricNameContactsAbandoned is a HistoricalMetricName enum value
8477	HistoricalMetricNameContactsAbandoned = "CONTACTS_ABANDONED"
8478
8479	// HistoricalMetricNameContactsConsulted is a HistoricalMetricName enum value
8480	HistoricalMetricNameContactsConsulted = "CONTACTS_CONSULTED"
8481
8482	// HistoricalMetricNameContactsAgentHungUpFirst is a HistoricalMetricName enum value
8483	HistoricalMetricNameContactsAgentHungUpFirst = "CONTACTS_AGENT_HUNG_UP_FIRST"
8484
8485	// HistoricalMetricNameContactsHandledIncoming is a HistoricalMetricName enum value
8486	HistoricalMetricNameContactsHandledIncoming = "CONTACTS_HANDLED_INCOMING"
8487
8488	// HistoricalMetricNameContactsHandledOutbound is a HistoricalMetricName enum value
8489	HistoricalMetricNameContactsHandledOutbound = "CONTACTS_HANDLED_OUTBOUND"
8490
8491	// HistoricalMetricNameContactsHoldAbandons is a HistoricalMetricName enum value
8492	HistoricalMetricNameContactsHoldAbandons = "CONTACTS_HOLD_ABANDONS"
8493
8494	// HistoricalMetricNameContactsTransferredIn is a HistoricalMetricName enum value
8495	HistoricalMetricNameContactsTransferredIn = "CONTACTS_TRANSFERRED_IN"
8496
8497	// HistoricalMetricNameContactsTransferredOut is a HistoricalMetricName enum value
8498	HistoricalMetricNameContactsTransferredOut = "CONTACTS_TRANSFERRED_OUT"
8499
8500	// HistoricalMetricNameContactsTransferredInFromQueue is a HistoricalMetricName enum value
8501	HistoricalMetricNameContactsTransferredInFromQueue = "CONTACTS_TRANSFERRED_IN_FROM_QUEUE"
8502
8503	// HistoricalMetricNameContactsTransferredOutFromQueue is a HistoricalMetricName enum value
8504	HistoricalMetricNameContactsTransferredOutFromQueue = "CONTACTS_TRANSFERRED_OUT_FROM_QUEUE"
8505
8506	// HistoricalMetricNameContactsMissed is a HistoricalMetricName enum value
8507	HistoricalMetricNameContactsMissed = "CONTACTS_MISSED"
8508
8509	// HistoricalMetricNameCallbackContactsHandled is a HistoricalMetricName enum value
8510	HistoricalMetricNameCallbackContactsHandled = "CALLBACK_CONTACTS_HANDLED"
8511
8512	// HistoricalMetricNameApiContactsHandled is a HistoricalMetricName enum value
8513	HistoricalMetricNameApiContactsHandled = "API_CONTACTS_HANDLED"
8514
8515	// HistoricalMetricNameOccupancy is a HistoricalMetricName enum value
8516	HistoricalMetricNameOccupancy = "OCCUPANCY"
8517
8518	// HistoricalMetricNameHandleTime is a HistoricalMetricName enum value
8519	HistoricalMetricNameHandleTime = "HANDLE_TIME"
8520
8521	// HistoricalMetricNameAfterContactWorkTime is a HistoricalMetricName enum value
8522	HistoricalMetricNameAfterContactWorkTime = "AFTER_CONTACT_WORK_TIME"
8523
8524	// HistoricalMetricNameQueuedTime is a HistoricalMetricName enum value
8525	HistoricalMetricNameQueuedTime = "QUEUED_TIME"
8526
8527	// HistoricalMetricNameAbandonTime is a HistoricalMetricName enum value
8528	HistoricalMetricNameAbandonTime = "ABANDON_TIME"
8529
8530	// HistoricalMetricNameQueueAnswerTime is a HistoricalMetricName enum value
8531	HistoricalMetricNameQueueAnswerTime = "QUEUE_ANSWER_TIME"
8532
8533	// HistoricalMetricNameHoldTime is a HistoricalMetricName enum value
8534	HistoricalMetricNameHoldTime = "HOLD_TIME"
8535
8536	// HistoricalMetricNameInteractionTime is a HistoricalMetricName enum value
8537	HistoricalMetricNameInteractionTime = "INTERACTION_TIME"
8538
8539	// HistoricalMetricNameInteractionAndHoldTime is a HistoricalMetricName enum value
8540	HistoricalMetricNameInteractionAndHoldTime = "INTERACTION_AND_HOLD_TIME"
8541
8542	// HistoricalMetricNameServiceLevel is a HistoricalMetricName enum value
8543	HistoricalMetricNameServiceLevel = "SERVICE_LEVEL"
8544)
8545
8546const (
8547	// PhoneNumberCountryCodeAf is a PhoneNumberCountryCode enum value
8548	PhoneNumberCountryCodeAf = "AF"
8549
8550	// PhoneNumberCountryCodeAl is a PhoneNumberCountryCode enum value
8551	PhoneNumberCountryCodeAl = "AL"
8552
8553	// PhoneNumberCountryCodeDz is a PhoneNumberCountryCode enum value
8554	PhoneNumberCountryCodeDz = "DZ"
8555
8556	// PhoneNumberCountryCodeAs is a PhoneNumberCountryCode enum value
8557	PhoneNumberCountryCodeAs = "AS"
8558
8559	// PhoneNumberCountryCodeAd is a PhoneNumberCountryCode enum value
8560	PhoneNumberCountryCodeAd = "AD"
8561
8562	// PhoneNumberCountryCodeAo is a PhoneNumberCountryCode enum value
8563	PhoneNumberCountryCodeAo = "AO"
8564
8565	// PhoneNumberCountryCodeAi is a PhoneNumberCountryCode enum value
8566	PhoneNumberCountryCodeAi = "AI"
8567
8568	// PhoneNumberCountryCodeAq is a PhoneNumberCountryCode enum value
8569	PhoneNumberCountryCodeAq = "AQ"
8570
8571	// PhoneNumberCountryCodeAg is a PhoneNumberCountryCode enum value
8572	PhoneNumberCountryCodeAg = "AG"
8573
8574	// PhoneNumberCountryCodeAr is a PhoneNumberCountryCode enum value
8575	PhoneNumberCountryCodeAr = "AR"
8576
8577	// PhoneNumberCountryCodeAm is a PhoneNumberCountryCode enum value
8578	PhoneNumberCountryCodeAm = "AM"
8579
8580	// PhoneNumberCountryCodeAw is a PhoneNumberCountryCode enum value
8581	PhoneNumberCountryCodeAw = "AW"
8582
8583	// PhoneNumberCountryCodeAu is a PhoneNumberCountryCode enum value
8584	PhoneNumberCountryCodeAu = "AU"
8585
8586	// PhoneNumberCountryCodeAt is a PhoneNumberCountryCode enum value
8587	PhoneNumberCountryCodeAt = "AT"
8588
8589	// PhoneNumberCountryCodeAz is a PhoneNumberCountryCode enum value
8590	PhoneNumberCountryCodeAz = "AZ"
8591
8592	// PhoneNumberCountryCodeBs is a PhoneNumberCountryCode enum value
8593	PhoneNumberCountryCodeBs = "BS"
8594
8595	// PhoneNumberCountryCodeBh is a PhoneNumberCountryCode enum value
8596	PhoneNumberCountryCodeBh = "BH"
8597
8598	// PhoneNumberCountryCodeBd is a PhoneNumberCountryCode enum value
8599	PhoneNumberCountryCodeBd = "BD"
8600
8601	// PhoneNumberCountryCodeBb is a PhoneNumberCountryCode enum value
8602	PhoneNumberCountryCodeBb = "BB"
8603
8604	// PhoneNumberCountryCodeBy is a PhoneNumberCountryCode enum value
8605	PhoneNumberCountryCodeBy = "BY"
8606
8607	// PhoneNumberCountryCodeBe is a PhoneNumberCountryCode enum value
8608	PhoneNumberCountryCodeBe = "BE"
8609
8610	// PhoneNumberCountryCodeBz is a PhoneNumberCountryCode enum value
8611	PhoneNumberCountryCodeBz = "BZ"
8612
8613	// PhoneNumberCountryCodeBj is a PhoneNumberCountryCode enum value
8614	PhoneNumberCountryCodeBj = "BJ"
8615
8616	// PhoneNumberCountryCodeBm is a PhoneNumberCountryCode enum value
8617	PhoneNumberCountryCodeBm = "BM"
8618
8619	// PhoneNumberCountryCodeBt is a PhoneNumberCountryCode enum value
8620	PhoneNumberCountryCodeBt = "BT"
8621
8622	// PhoneNumberCountryCodeBo is a PhoneNumberCountryCode enum value
8623	PhoneNumberCountryCodeBo = "BO"
8624
8625	// PhoneNumberCountryCodeBa is a PhoneNumberCountryCode enum value
8626	PhoneNumberCountryCodeBa = "BA"
8627
8628	// PhoneNumberCountryCodeBw is a PhoneNumberCountryCode enum value
8629	PhoneNumberCountryCodeBw = "BW"
8630
8631	// PhoneNumberCountryCodeBr is a PhoneNumberCountryCode enum value
8632	PhoneNumberCountryCodeBr = "BR"
8633
8634	// PhoneNumberCountryCodeIo is a PhoneNumberCountryCode enum value
8635	PhoneNumberCountryCodeIo = "IO"
8636
8637	// PhoneNumberCountryCodeVg is a PhoneNumberCountryCode enum value
8638	PhoneNumberCountryCodeVg = "VG"
8639
8640	// PhoneNumberCountryCodeBn is a PhoneNumberCountryCode enum value
8641	PhoneNumberCountryCodeBn = "BN"
8642
8643	// PhoneNumberCountryCodeBg is a PhoneNumberCountryCode enum value
8644	PhoneNumberCountryCodeBg = "BG"
8645
8646	// PhoneNumberCountryCodeBf is a PhoneNumberCountryCode enum value
8647	PhoneNumberCountryCodeBf = "BF"
8648
8649	// PhoneNumberCountryCodeBi is a PhoneNumberCountryCode enum value
8650	PhoneNumberCountryCodeBi = "BI"
8651
8652	// PhoneNumberCountryCodeKh is a PhoneNumberCountryCode enum value
8653	PhoneNumberCountryCodeKh = "KH"
8654
8655	// PhoneNumberCountryCodeCm is a PhoneNumberCountryCode enum value
8656	PhoneNumberCountryCodeCm = "CM"
8657
8658	// PhoneNumberCountryCodeCa is a PhoneNumberCountryCode enum value
8659	PhoneNumberCountryCodeCa = "CA"
8660
8661	// PhoneNumberCountryCodeCv is a PhoneNumberCountryCode enum value
8662	PhoneNumberCountryCodeCv = "CV"
8663
8664	// PhoneNumberCountryCodeKy is a PhoneNumberCountryCode enum value
8665	PhoneNumberCountryCodeKy = "KY"
8666
8667	// PhoneNumberCountryCodeCf is a PhoneNumberCountryCode enum value
8668	PhoneNumberCountryCodeCf = "CF"
8669
8670	// PhoneNumberCountryCodeTd is a PhoneNumberCountryCode enum value
8671	PhoneNumberCountryCodeTd = "TD"
8672
8673	// PhoneNumberCountryCodeCl is a PhoneNumberCountryCode enum value
8674	PhoneNumberCountryCodeCl = "CL"
8675
8676	// PhoneNumberCountryCodeCn is a PhoneNumberCountryCode enum value
8677	PhoneNumberCountryCodeCn = "CN"
8678
8679	// PhoneNumberCountryCodeCx is a PhoneNumberCountryCode enum value
8680	PhoneNumberCountryCodeCx = "CX"
8681
8682	// PhoneNumberCountryCodeCc is a PhoneNumberCountryCode enum value
8683	PhoneNumberCountryCodeCc = "CC"
8684
8685	// PhoneNumberCountryCodeCo is a PhoneNumberCountryCode enum value
8686	PhoneNumberCountryCodeCo = "CO"
8687
8688	// PhoneNumberCountryCodeKm is a PhoneNumberCountryCode enum value
8689	PhoneNumberCountryCodeKm = "KM"
8690
8691	// PhoneNumberCountryCodeCk is a PhoneNumberCountryCode enum value
8692	PhoneNumberCountryCodeCk = "CK"
8693
8694	// PhoneNumberCountryCodeCr is a PhoneNumberCountryCode enum value
8695	PhoneNumberCountryCodeCr = "CR"
8696
8697	// PhoneNumberCountryCodeHr is a PhoneNumberCountryCode enum value
8698	PhoneNumberCountryCodeHr = "HR"
8699
8700	// PhoneNumberCountryCodeCu is a PhoneNumberCountryCode enum value
8701	PhoneNumberCountryCodeCu = "CU"
8702
8703	// PhoneNumberCountryCodeCw is a PhoneNumberCountryCode enum value
8704	PhoneNumberCountryCodeCw = "CW"
8705
8706	// PhoneNumberCountryCodeCy is a PhoneNumberCountryCode enum value
8707	PhoneNumberCountryCodeCy = "CY"
8708
8709	// PhoneNumberCountryCodeCz is a PhoneNumberCountryCode enum value
8710	PhoneNumberCountryCodeCz = "CZ"
8711
8712	// PhoneNumberCountryCodeCd is a PhoneNumberCountryCode enum value
8713	PhoneNumberCountryCodeCd = "CD"
8714
8715	// PhoneNumberCountryCodeDk is a PhoneNumberCountryCode enum value
8716	PhoneNumberCountryCodeDk = "DK"
8717
8718	// PhoneNumberCountryCodeDj is a PhoneNumberCountryCode enum value
8719	PhoneNumberCountryCodeDj = "DJ"
8720
8721	// PhoneNumberCountryCodeDm is a PhoneNumberCountryCode enum value
8722	PhoneNumberCountryCodeDm = "DM"
8723
8724	// PhoneNumberCountryCodeDo is a PhoneNumberCountryCode enum value
8725	PhoneNumberCountryCodeDo = "DO"
8726
8727	// PhoneNumberCountryCodeTl is a PhoneNumberCountryCode enum value
8728	PhoneNumberCountryCodeTl = "TL"
8729
8730	// PhoneNumberCountryCodeEc is a PhoneNumberCountryCode enum value
8731	PhoneNumberCountryCodeEc = "EC"
8732
8733	// PhoneNumberCountryCodeEg is a PhoneNumberCountryCode enum value
8734	PhoneNumberCountryCodeEg = "EG"
8735
8736	// PhoneNumberCountryCodeSv is a PhoneNumberCountryCode enum value
8737	PhoneNumberCountryCodeSv = "SV"
8738
8739	// PhoneNumberCountryCodeGq is a PhoneNumberCountryCode enum value
8740	PhoneNumberCountryCodeGq = "GQ"
8741
8742	// PhoneNumberCountryCodeEr is a PhoneNumberCountryCode enum value
8743	PhoneNumberCountryCodeEr = "ER"
8744
8745	// PhoneNumberCountryCodeEe is a PhoneNumberCountryCode enum value
8746	PhoneNumberCountryCodeEe = "EE"
8747
8748	// PhoneNumberCountryCodeEt is a PhoneNumberCountryCode enum value
8749	PhoneNumberCountryCodeEt = "ET"
8750
8751	// PhoneNumberCountryCodeFk is a PhoneNumberCountryCode enum value
8752	PhoneNumberCountryCodeFk = "FK"
8753
8754	// PhoneNumberCountryCodeFo is a PhoneNumberCountryCode enum value
8755	PhoneNumberCountryCodeFo = "FO"
8756
8757	// PhoneNumberCountryCodeFj is a PhoneNumberCountryCode enum value
8758	PhoneNumberCountryCodeFj = "FJ"
8759
8760	// PhoneNumberCountryCodeFi is a PhoneNumberCountryCode enum value
8761	PhoneNumberCountryCodeFi = "FI"
8762
8763	// PhoneNumberCountryCodeFr is a PhoneNumberCountryCode enum value
8764	PhoneNumberCountryCodeFr = "FR"
8765
8766	// PhoneNumberCountryCodePf is a PhoneNumberCountryCode enum value
8767	PhoneNumberCountryCodePf = "PF"
8768
8769	// PhoneNumberCountryCodeGa is a PhoneNumberCountryCode enum value
8770	PhoneNumberCountryCodeGa = "GA"
8771
8772	// PhoneNumberCountryCodeGm is a PhoneNumberCountryCode enum value
8773	PhoneNumberCountryCodeGm = "GM"
8774
8775	// PhoneNumberCountryCodeGe is a PhoneNumberCountryCode enum value
8776	PhoneNumberCountryCodeGe = "GE"
8777
8778	// PhoneNumberCountryCodeDe is a PhoneNumberCountryCode enum value
8779	PhoneNumberCountryCodeDe = "DE"
8780
8781	// PhoneNumberCountryCodeGh is a PhoneNumberCountryCode enum value
8782	PhoneNumberCountryCodeGh = "GH"
8783
8784	// PhoneNumberCountryCodeGi is a PhoneNumberCountryCode enum value
8785	PhoneNumberCountryCodeGi = "GI"
8786
8787	// PhoneNumberCountryCodeGr is a PhoneNumberCountryCode enum value
8788	PhoneNumberCountryCodeGr = "GR"
8789
8790	// PhoneNumberCountryCodeGl is a PhoneNumberCountryCode enum value
8791	PhoneNumberCountryCodeGl = "GL"
8792
8793	// PhoneNumberCountryCodeGd is a PhoneNumberCountryCode enum value
8794	PhoneNumberCountryCodeGd = "GD"
8795
8796	// PhoneNumberCountryCodeGu is a PhoneNumberCountryCode enum value
8797	PhoneNumberCountryCodeGu = "GU"
8798
8799	// PhoneNumberCountryCodeGt is a PhoneNumberCountryCode enum value
8800	PhoneNumberCountryCodeGt = "GT"
8801
8802	// PhoneNumberCountryCodeGg is a PhoneNumberCountryCode enum value
8803	PhoneNumberCountryCodeGg = "GG"
8804
8805	// PhoneNumberCountryCodeGn is a PhoneNumberCountryCode enum value
8806	PhoneNumberCountryCodeGn = "GN"
8807
8808	// PhoneNumberCountryCodeGw is a PhoneNumberCountryCode enum value
8809	PhoneNumberCountryCodeGw = "GW"
8810
8811	// PhoneNumberCountryCodeGy is a PhoneNumberCountryCode enum value
8812	PhoneNumberCountryCodeGy = "GY"
8813
8814	// PhoneNumberCountryCodeHt is a PhoneNumberCountryCode enum value
8815	PhoneNumberCountryCodeHt = "HT"
8816
8817	// PhoneNumberCountryCodeHn is a PhoneNumberCountryCode enum value
8818	PhoneNumberCountryCodeHn = "HN"
8819
8820	// PhoneNumberCountryCodeHk is a PhoneNumberCountryCode enum value
8821	PhoneNumberCountryCodeHk = "HK"
8822
8823	// PhoneNumberCountryCodeHu is a PhoneNumberCountryCode enum value
8824	PhoneNumberCountryCodeHu = "HU"
8825
8826	// PhoneNumberCountryCodeIs is a PhoneNumberCountryCode enum value
8827	PhoneNumberCountryCodeIs = "IS"
8828
8829	// PhoneNumberCountryCodeIn is a PhoneNumberCountryCode enum value
8830	PhoneNumberCountryCodeIn = "IN"
8831
8832	// PhoneNumberCountryCodeId is a PhoneNumberCountryCode enum value
8833	PhoneNumberCountryCodeId = "ID"
8834
8835	// PhoneNumberCountryCodeIr is a PhoneNumberCountryCode enum value
8836	PhoneNumberCountryCodeIr = "IR"
8837
8838	// PhoneNumberCountryCodeIq is a PhoneNumberCountryCode enum value
8839	PhoneNumberCountryCodeIq = "IQ"
8840
8841	// PhoneNumberCountryCodeIe is a PhoneNumberCountryCode enum value
8842	PhoneNumberCountryCodeIe = "IE"
8843
8844	// PhoneNumberCountryCodeIm is a PhoneNumberCountryCode enum value
8845	PhoneNumberCountryCodeIm = "IM"
8846
8847	// PhoneNumberCountryCodeIl is a PhoneNumberCountryCode enum value
8848	PhoneNumberCountryCodeIl = "IL"
8849
8850	// PhoneNumberCountryCodeIt is a PhoneNumberCountryCode enum value
8851	PhoneNumberCountryCodeIt = "IT"
8852
8853	// PhoneNumberCountryCodeCi is a PhoneNumberCountryCode enum value
8854	PhoneNumberCountryCodeCi = "CI"
8855
8856	// PhoneNumberCountryCodeJm is a PhoneNumberCountryCode enum value
8857	PhoneNumberCountryCodeJm = "JM"
8858
8859	// PhoneNumberCountryCodeJp is a PhoneNumberCountryCode enum value
8860	PhoneNumberCountryCodeJp = "JP"
8861
8862	// PhoneNumberCountryCodeJe is a PhoneNumberCountryCode enum value
8863	PhoneNumberCountryCodeJe = "JE"
8864
8865	// PhoneNumberCountryCodeJo is a PhoneNumberCountryCode enum value
8866	PhoneNumberCountryCodeJo = "JO"
8867
8868	// PhoneNumberCountryCodeKz is a PhoneNumberCountryCode enum value
8869	PhoneNumberCountryCodeKz = "KZ"
8870
8871	// PhoneNumberCountryCodeKe is a PhoneNumberCountryCode enum value
8872	PhoneNumberCountryCodeKe = "KE"
8873
8874	// PhoneNumberCountryCodeKi is a PhoneNumberCountryCode enum value
8875	PhoneNumberCountryCodeKi = "KI"
8876
8877	// PhoneNumberCountryCodeKw is a PhoneNumberCountryCode enum value
8878	PhoneNumberCountryCodeKw = "KW"
8879
8880	// PhoneNumberCountryCodeKg is a PhoneNumberCountryCode enum value
8881	PhoneNumberCountryCodeKg = "KG"
8882
8883	// PhoneNumberCountryCodeLa is a PhoneNumberCountryCode enum value
8884	PhoneNumberCountryCodeLa = "LA"
8885
8886	// PhoneNumberCountryCodeLv is a PhoneNumberCountryCode enum value
8887	PhoneNumberCountryCodeLv = "LV"
8888
8889	// PhoneNumberCountryCodeLb is a PhoneNumberCountryCode enum value
8890	PhoneNumberCountryCodeLb = "LB"
8891
8892	// PhoneNumberCountryCodeLs is a PhoneNumberCountryCode enum value
8893	PhoneNumberCountryCodeLs = "LS"
8894
8895	// PhoneNumberCountryCodeLr is a PhoneNumberCountryCode enum value
8896	PhoneNumberCountryCodeLr = "LR"
8897
8898	// PhoneNumberCountryCodeLy is a PhoneNumberCountryCode enum value
8899	PhoneNumberCountryCodeLy = "LY"
8900
8901	// PhoneNumberCountryCodeLi is a PhoneNumberCountryCode enum value
8902	PhoneNumberCountryCodeLi = "LI"
8903
8904	// PhoneNumberCountryCodeLt is a PhoneNumberCountryCode enum value
8905	PhoneNumberCountryCodeLt = "LT"
8906
8907	// PhoneNumberCountryCodeLu is a PhoneNumberCountryCode enum value
8908	PhoneNumberCountryCodeLu = "LU"
8909
8910	// PhoneNumberCountryCodeMo is a PhoneNumberCountryCode enum value
8911	PhoneNumberCountryCodeMo = "MO"
8912
8913	// PhoneNumberCountryCodeMk is a PhoneNumberCountryCode enum value
8914	PhoneNumberCountryCodeMk = "MK"
8915
8916	// PhoneNumberCountryCodeMg is a PhoneNumberCountryCode enum value
8917	PhoneNumberCountryCodeMg = "MG"
8918
8919	// PhoneNumberCountryCodeMw is a PhoneNumberCountryCode enum value
8920	PhoneNumberCountryCodeMw = "MW"
8921
8922	// PhoneNumberCountryCodeMy is a PhoneNumberCountryCode enum value
8923	PhoneNumberCountryCodeMy = "MY"
8924
8925	// PhoneNumberCountryCodeMv is a PhoneNumberCountryCode enum value
8926	PhoneNumberCountryCodeMv = "MV"
8927
8928	// PhoneNumberCountryCodeMl is a PhoneNumberCountryCode enum value
8929	PhoneNumberCountryCodeMl = "ML"
8930
8931	// PhoneNumberCountryCodeMt is a PhoneNumberCountryCode enum value
8932	PhoneNumberCountryCodeMt = "MT"
8933
8934	// PhoneNumberCountryCodeMh is a PhoneNumberCountryCode enum value
8935	PhoneNumberCountryCodeMh = "MH"
8936
8937	// PhoneNumberCountryCodeMr is a PhoneNumberCountryCode enum value
8938	PhoneNumberCountryCodeMr = "MR"
8939
8940	// PhoneNumberCountryCodeMu is a PhoneNumberCountryCode enum value
8941	PhoneNumberCountryCodeMu = "MU"
8942
8943	// PhoneNumberCountryCodeYt is a PhoneNumberCountryCode enum value
8944	PhoneNumberCountryCodeYt = "YT"
8945
8946	// PhoneNumberCountryCodeMx is a PhoneNumberCountryCode enum value
8947	PhoneNumberCountryCodeMx = "MX"
8948
8949	// PhoneNumberCountryCodeFm is a PhoneNumberCountryCode enum value
8950	PhoneNumberCountryCodeFm = "FM"
8951
8952	// PhoneNumberCountryCodeMd is a PhoneNumberCountryCode enum value
8953	PhoneNumberCountryCodeMd = "MD"
8954
8955	// PhoneNumberCountryCodeMc is a PhoneNumberCountryCode enum value
8956	PhoneNumberCountryCodeMc = "MC"
8957
8958	// PhoneNumberCountryCodeMn is a PhoneNumberCountryCode enum value
8959	PhoneNumberCountryCodeMn = "MN"
8960
8961	// PhoneNumberCountryCodeMe is a PhoneNumberCountryCode enum value
8962	PhoneNumberCountryCodeMe = "ME"
8963
8964	// PhoneNumberCountryCodeMs is a PhoneNumberCountryCode enum value
8965	PhoneNumberCountryCodeMs = "MS"
8966
8967	// PhoneNumberCountryCodeMa is a PhoneNumberCountryCode enum value
8968	PhoneNumberCountryCodeMa = "MA"
8969
8970	// PhoneNumberCountryCodeMz is a PhoneNumberCountryCode enum value
8971	PhoneNumberCountryCodeMz = "MZ"
8972
8973	// PhoneNumberCountryCodeMm is a PhoneNumberCountryCode enum value
8974	PhoneNumberCountryCodeMm = "MM"
8975
8976	// PhoneNumberCountryCodeNa is a PhoneNumberCountryCode enum value
8977	PhoneNumberCountryCodeNa = "NA"
8978
8979	// PhoneNumberCountryCodeNr is a PhoneNumberCountryCode enum value
8980	PhoneNumberCountryCodeNr = "NR"
8981
8982	// PhoneNumberCountryCodeNp is a PhoneNumberCountryCode enum value
8983	PhoneNumberCountryCodeNp = "NP"
8984
8985	// PhoneNumberCountryCodeNl is a PhoneNumberCountryCode enum value
8986	PhoneNumberCountryCodeNl = "NL"
8987
8988	// PhoneNumberCountryCodeAn is a PhoneNumberCountryCode enum value
8989	PhoneNumberCountryCodeAn = "AN"
8990
8991	// PhoneNumberCountryCodeNc is a PhoneNumberCountryCode enum value
8992	PhoneNumberCountryCodeNc = "NC"
8993
8994	// PhoneNumberCountryCodeNz is a PhoneNumberCountryCode enum value
8995	PhoneNumberCountryCodeNz = "NZ"
8996
8997	// PhoneNumberCountryCodeNi is a PhoneNumberCountryCode enum value
8998	PhoneNumberCountryCodeNi = "NI"
8999
9000	// PhoneNumberCountryCodeNe is a PhoneNumberCountryCode enum value
9001	PhoneNumberCountryCodeNe = "NE"
9002
9003	// PhoneNumberCountryCodeNg is a PhoneNumberCountryCode enum value
9004	PhoneNumberCountryCodeNg = "NG"
9005
9006	// PhoneNumberCountryCodeNu is a PhoneNumberCountryCode enum value
9007	PhoneNumberCountryCodeNu = "NU"
9008
9009	// PhoneNumberCountryCodeKp is a PhoneNumberCountryCode enum value
9010	PhoneNumberCountryCodeKp = "KP"
9011
9012	// PhoneNumberCountryCodeMp is a PhoneNumberCountryCode enum value
9013	PhoneNumberCountryCodeMp = "MP"
9014
9015	// PhoneNumberCountryCodeNo is a PhoneNumberCountryCode enum value
9016	PhoneNumberCountryCodeNo = "NO"
9017
9018	// PhoneNumberCountryCodeOm is a PhoneNumberCountryCode enum value
9019	PhoneNumberCountryCodeOm = "OM"
9020
9021	// PhoneNumberCountryCodePk is a PhoneNumberCountryCode enum value
9022	PhoneNumberCountryCodePk = "PK"
9023
9024	// PhoneNumberCountryCodePw is a PhoneNumberCountryCode enum value
9025	PhoneNumberCountryCodePw = "PW"
9026
9027	// PhoneNumberCountryCodePa is a PhoneNumberCountryCode enum value
9028	PhoneNumberCountryCodePa = "PA"
9029
9030	// PhoneNumberCountryCodePg is a PhoneNumberCountryCode enum value
9031	PhoneNumberCountryCodePg = "PG"
9032
9033	// PhoneNumberCountryCodePy is a PhoneNumberCountryCode enum value
9034	PhoneNumberCountryCodePy = "PY"
9035
9036	// PhoneNumberCountryCodePe is a PhoneNumberCountryCode enum value
9037	PhoneNumberCountryCodePe = "PE"
9038
9039	// PhoneNumberCountryCodePh is a PhoneNumberCountryCode enum value
9040	PhoneNumberCountryCodePh = "PH"
9041
9042	// PhoneNumberCountryCodePn is a PhoneNumberCountryCode enum value
9043	PhoneNumberCountryCodePn = "PN"
9044
9045	// PhoneNumberCountryCodePl is a PhoneNumberCountryCode enum value
9046	PhoneNumberCountryCodePl = "PL"
9047
9048	// PhoneNumberCountryCodePt is a PhoneNumberCountryCode enum value
9049	PhoneNumberCountryCodePt = "PT"
9050
9051	// PhoneNumberCountryCodePr is a PhoneNumberCountryCode enum value
9052	PhoneNumberCountryCodePr = "PR"
9053
9054	// PhoneNumberCountryCodeQa is a PhoneNumberCountryCode enum value
9055	PhoneNumberCountryCodeQa = "QA"
9056
9057	// PhoneNumberCountryCodeCg is a PhoneNumberCountryCode enum value
9058	PhoneNumberCountryCodeCg = "CG"
9059
9060	// PhoneNumberCountryCodeRe is a PhoneNumberCountryCode enum value
9061	PhoneNumberCountryCodeRe = "RE"
9062
9063	// PhoneNumberCountryCodeRo is a PhoneNumberCountryCode enum value
9064	PhoneNumberCountryCodeRo = "RO"
9065
9066	// PhoneNumberCountryCodeRu is a PhoneNumberCountryCode enum value
9067	PhoneNumberCountryCodeRu = "RU"
9068
9069	// PhoneNumberCountryCodeRw is a PhoneNumberCountryCode enum value
9070	PhoneNumberCountryCodeRw = "RW"
9071
9072	// PhoneNumberCountryCodeBl is a PhoneNumberCountryCode enum value
9073	PhoneNumberCountryCodeBl = "BL"
9074
9075	// PhoneNumberCountryCodeSh is a PhoneNumberCountryCode enum value
9076	PhoneNumberCountryCodeSh = "SH"
9077
9078	// PhoneNumberCountryCodeKn is a PhoneNumberCountryCode enum value
9079	PhoneNumberCountryCodeKn = "KN"
9080
9081	// PhoneNumberCountryCodeLc is a PhoneNumberCountryCode enum value
9082	PhoneNumberCountryCodeLc = "LC"
9083
9084	// PhoneNumberCountryCodeMf is a PhoneNumberCountryCode enum value
9085	PhoneNumberCountryCodeMf = "MF"
9086
9087	// PhoneNumberCountryCodePm is a PhoneNumberCountryCode enum value
9088	PhoneNumberCountryCodePm = "PM"
9089
9090	// PhoneNumberCountryCodeVc is a PhoneNumberCountryCode enum value
9091	PhoneNumberCountryCodeVc = "VC"
9092
9093	// PhoneNumberCountryCodeWs is a PhoneNumberCountryCode enum value
9094	PhoneNumberCountryCodeWs = "WS"
9095
9096	// PhoneNumberCountryCodeSm is a PhoneNumberCountryCode enum value
9097	PhoneNumberCountryCodeSm = "SM"
9098
9099	// PhoneNumberCountryCodeSt is a PhoneNumberCountryCode enum value
9100	PhoneNumberCountryCodeSt = "ST"
9101
9102	// PhoneNumberCountryCodeSa is a PhoneNumberCountryCode enum value
9103	PhoneNumberCountryCodeSa = "SA"
9104
9105	// PhoneNumberCountryCodeSn is a PhoneNumberCountryCode enum value
9106	PhoneNumberCountryCodeSn = "SN"
9107
9108	// PhoneNumberCountryCodeRs is a PhoneNumberCountryCode enum value
9109	PhoneNumberCountryCodeRs = "RS"
9110
9111	// PhoneNumberCountryCodeSc is a PhoneNumberCountryCode enum value
9112	PhoneNumberCountryCodeSc = "SC"
9113
9114	// PhoneNumberCountryCodeSl is a PhoneNumberCountryCode enum value
9115	PhoneNumberCountryCodeSl = "SL"
9116
9117	// PhoneNumberCountryCodeSg is a PhoneNumberCountryCode enum value
9118	PhoneNumberCountryCodeSg = "SG"
9119
9120	// PhoneNumberCountryCodeSx is a PhoneNumberCountryCode enum value
9121	PhoneNumberCountryCodeSx = "SX"
9122
9123	// PhoneNumberCountryCodeSk is a PhoneNumberCountryCode enum value
9124	PhoneNumberCountryCodeSk = "SK"
9125
9126	// PhoneNumberCountryCodeSi is a PhoneNumberCountryCode enum value
9127	PhoneNumberCountryCodeSi = "SI"
9128
9129	// PhoneNumberCountryCodeSb is a PhoneNumberCountryCode enum value
9130	PhoneNumberCountryCodeSb = "SB"
9131
9132	// PhoneNumberCountryCodeSo is a PhoneNumberCountryCode enum value
9133	PhoneNumberCountryCodeSo = "SO"
9134
9135	// PhoneNumberCountryCodeZa is a PhoneNumberCountryCode enum value
9136	PhoneNumberCountryCodeZa = "ZA"
9137
9138	// PhoneNumberCountryCodeKr is a PhoneNumberCountryCode enum value
9139	PhoneNumberCountryCodeKr = "KR"
9140
9141	// PhoneNumberCountryCodeEs is a PhoneNumberCountryCode enum value
9142	PhoneNumberCountryCodeEs = "ES"
9143
9144	// PhoneNumberCountryCodeLk is a PhoneNumberCountryCode enum value
9145	PhoneNumberCountryCodeLk = "LK"
9146
9147	// PhoneNumberCountryCodeSd is a PhoneNumberCountryCode enum value
9148	PhoneNumberCountryCodeSd = "SD"
9149
9150	// PhoneNumberCountryCodeSr is a PhoneNumberCountryCode enum value
9151	PhoneNumberCountryCodeSr = "SR"
9152
9153	// PhoneNumberCountryCodeSj is a PhoneNumberCountryCode enum value
9154	PhoneNumberCountryCodeSj = "SJ"
9155
9156	// PhoneNumberCountryCodeSz is a PhoneNumberCountryCode enum value
9157	PhoneNumberCountryCodeSz = "SZ"
9158
9159	// PhoneNumberCountryCodeSe is a PhoneNumberCountryCode enum value
9160	PhoneNumberCountryCodeSe = "SE"
9161
9162	// PhoneNumberCountryCodeCh is a PhoneNumberCountryCode enum value
9163	PhoneNumberCountryCodeCh = "CH"
9164
9165	// PhoneNumberCountryCodeSy is a PhoneNumberCountryCode enum value
9166	PhoneNumberCountryCodeSy = "SY"
9167
9168	// PhoneNumberCountryCodeTw is a PhoneNumberCountryCode enum value
9169	PhoneNumberCountryCodeTw = "TW"
9170
9171	// PhoneNumberCountryCodeTj is a PhoneNumberCountryCode enum value
9172	PhoneNumberCountryCodeTj = "TJ"
9173
9174	// PhoneNumberCountryCodeTz is a PhoneNumberCountryCode enum value
9175	PhoneNumberCountryCodeTz = "TZ"
9176
9177	// PhoneNumberCountryCodeTh is a PhoneNumberCountryCode enum value
9178	PhoneNumberCountryCodeTh = "TH"
9179
9180	// PhoneNumberCountryCodeTg is a PhoneNumberCountryCode enum value
9181	PhoneNumberCountryCodeTg = "TG"
9182
9183	// PhoneNumberCountryCodeTk is a PhoneNumberCountryCode enum value
9184	PhoneNumberCountryCodeTk = "TK"
9185
9186	// PhoneNumberCountryCodeTo is a PhoneNumberCountryCode enum value
9187	PhoneNumberCountryCodeTo = "TO"
9188
9189	// PhoneNumberCountryCodeTt is a PhoneNumberCountryCode enum value
9190	PhoneNumberCountryCodeTt = "TT"
9191
9192	// PhoneNumberCountryCodeTn is a PhoneNumberCountryCode enum value
9193	PhoneNumberCountryCodeTn = "TN"
9194
9195	// PhoneNumberCountryCodeTr is a PhoneNumberCountryCode enum value
9196	PhoneNumberCountryCodeTr = "TR"
9197
9198	// PhoneNumberCountryCodeTm is a PhoneNumberCountryCode enum value
9199	PhoneNumberCountryCodeTm = "TM"
9200
9201	// PhoneNumberCountryCodeTc is a PhoneNumberCountryCode enum value
9202	PhoneNumberCountryCodeTc = "TC"
9203
9204	// PhoneNumberCountryCodeTv is a PhoneNumberCountryCode enum value
9205	PhoneNumberCountryCodeTv = "TV"
9206
9207	// PhoneNumberCountryCodeVi is a PhoneNumberCountryCode enum value
9208	PhoneNumberCountryCodeVi = "VI"
9209
9210	// PhoneNumberCountryCodeUg is a PhoneNumberCountryCode enum value
9211	PhoneNumberCountryCodeUg = "UG"
9212
9213	// PhoneNumberCountryCodeUa is a PhoneNumberCountryCode enum value
9214	PhoneNumberCountryCodeUa = "UA"
9215
9216	// PhoneNumberCountryCodeAe is a PhoneNumberCountryCode enum value
9217	PhoneNumberCountryCodeAe = "AE"
9218
9219	// PhoneNumberCountryCodeGb is a PhoneNumberCountryCode enum value
9220	PhoneNumberCountryCodeGb = "GB"
9221
9222	// PhoneNumberCountryCodeUs is a PhoneNumberCountryCode enum value
9223	PhoneNumberCountryCodeUs = "US"
9224
9225	// PhoneNumberCountryCodeUy is a PhoneNumberCountryCode enum value
9226	PhoneNumberCountryCodeUy = "UY"
9227
9228	// PhoneNumberCountryCodeUz is a PhoneNumberCountryCode enum value
9229	PhoneNumberCountryCodeUz = "UZ"
9230
9231	// PhoneNumberCountryCodeVu is a PhoneNumberCountryCode enum value
9232	PhoneNumberCountryCodeVu = "VU"
9233
9234	// PhoneNumberCountryCodeVa is a PhoneNumberCountryCode enum value
9235	PhoneNumberCountryCodeVa = "VA"
9236
9237	// PhoneNumberCountryCodeVe is a PhoneNumberCountryCode enum value
9238	PhoneNumberCountryCodeVe = "VE"
9239
9240	// PhoneNumberCountryCodeVn is a PhoneNumberCountryCode enum value
9241	PhoneNumberCountryCodeVn = "VN"
9242
9243	// PhoneNumberCountryCodeWf is a PhoneNumberCountryCode enum value
9244	PhoneNumberCountryCodeWf = "WF"
9245
9246	// PhoneNumberCountryCodeEh is a PhoneNumberCountryCode enum value
9247	PhoneNumberCountryCodeEh = "EH"
9248
9249	// PhoneNumberCountryCodeYe is a PhoneNumberCountryCode enum value
9250	PhoneNumberCountryCodeYe = "YE"
9251
9252	// PhoneNumberCountryCodeZm is a PhoneNumberCountryCode enum value
9253	PhoneNumberCountryCodeZm = "ZM"
9254
9255	// PhoneNumberCountryCodeZw is a PhoneNumberCountryCode enum value
9256	PhoneNumberCountryCodeZw = "ZW"
9257)
9258
9259const (
9260	// PhoneNumberTypeTollFree is a PhoneNumberType enum value
9261	PhoneNumberTypeTollFree = "TOLL_FREE"
9262
9263	// PhoneNumberTypeDid is a PhoneNumberType enum value
9264	PhoneNumberTypeDid = "DID"
9265)
9266
9267const (
9268	// PhoneTypeSoftPhone is a PhoneType enum value
9269	PhoneTypeSoftPhone = "SOFT_PHONE"
9270
9271	// PhoneTypeDeskPhone is a PhoneType enum value
9272	PhoneTypeDeskPhone = "DESK_PHONE"
9273)
9274
9275const (
9276	// QueueTypeStandard is a QueueType enum value
9277	QueueTypeStandard = "STANDARD"
9278
9279	// QueueTypeAgent is a QueueType enum value
9280	QueueTypeAgent = "AGENT"
9281)
9282
9283const (
9284	// StatisticSum is a Statistic enum value
9285	StatisticSum = "SUM"
9286
9287	// StatisticMax is a Statistic enum value
9288	StatisticMax = "MAX"
9289
9290	// StatisticAvg is a Statistic enum value
9291	StatisticAvg = "AVG"
9292)
9293
9294const (
9295	// UnitSeconds is a Unit enum value
9296	UnitSeconds = "SECONDS"
9297
9298	// UnitCount is a Unit enum value
9299	UnitCount = "COUNT"
9300
9301	// UnitPercent is a Unit enum value
9302	UnitPercent = "PERCENT"
9303)
9304