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