github.com/aavshr/aws-sdk-go@v1.41.3/service/connect/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package connect
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const opAssociateApprovedOrigin = "AssociateApprovedOrigin"
    17  
    18  // AssociateApprovedOriginRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateApprovedOrigin operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See AssociateApprovedOrigin for more information on using the AssociateApprovedOrigin
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the AssociateApprovedOriginRequest method.
    34  //    req, resp := client.AssociateApprovedOriginRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateApprovedOrigin
    42  func (c *Connect) AssociateApprovedOriginRequest(input *AssociateApprovedOriginInput) (req *request.Request, output *AssociateApprovedOriginOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateApprovedOrigin,
    45  		HTTPMethod: "PUT",
    46  		HTTPPath:   "/instance/{InstanceId}/approved-origin",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateApprovedOriginInput{}
    51  	}
    52  
    53  	output = &AssociateApprovedOriginOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AssociateApprovedOrigin API operation for Amazon Connect Service.
    60  //
    61  // This API is in preview release for Amazon Connect and is subject to change.
    62  //
    63  // Associates an approved origin to an Amazon Connect instance.
    64  //
    65  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    66  // with awserr.Error's Code and Message methods to get detailed information about
    67  // the error.
    68  //
    69  // See the AWS API reference guide for Amazon Connect Service's
    70  // API operation AssociateApprovedOrigin for usage and error information.
    71  //
    72  // Returned Error Types:
    73  //   * ResourceNotFoundException
    74  //   The specified resource was not found.
    75  //
    76  //   * ResourceConflictException
    77  //   A resource already has that name.
    78  //
    79  //   * InternalServiceException
    80  //   Request processing failed because of an error or failure with the service.
    81  //
    82  //   * InvalidRequestException
    83  //   The request is not valid.
    84  //
    85  //   * InvalidParameterException
    86  //   One or more of the specified parameters are not valid.
    87  //
    88  //   * ServiceQuotaExceededException
    89  //   The service quota has been exceeded.
    90  //
    91  //   * ThrottlingException
    92  //   The throttling limit has been exceeded.
    93  //
    94  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateApprovedOrigin
    95  func (c *Connect) AssociateApprovedOrigin(input *AssociateApprovedOriginInput) (*AssociateApprovedOriginOutput, error) {
    96  	req, out := c.AssociateApprovedOriginRequest(input)
    97  	return out, req.Send()
    98  }
    99  
   100  // AssociateApprovedOriginWithContext is the same as AssociateApprovedOrigin with the addition of
   101  // the ability to pass a context and additional request options.
   102  //
   103  // See AssociateApprovedOrigin for details on how to use this API operation.
   104  //
   105  // The context must be non-nil and will be used for request cancellation. If
   106  // the context is nil a panic will occur. In the future the SDK may create
   107  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   108  // for more information on using Contexts.
   109  func (c *Connect) AssociateApprovedOriginWithContext(ctx aws.Context, input *AssociateApprovedOriginInput, opts ...request.Option) (*AssociateApprovedOriginOutput, error) {
   110  	req, out := c.AssociateApprovedOriginRequest(input)
   111  	req.SetContext(ctx)
   112  	req.ApplyOptions(opts...)
   113  	return out, req.Send()
   114  }
   115  
   116  const opAssociateBot = "AssociateBot"
   117  
   118  // AssociateBotRequest generates a "aws/request.Request" representing the
   119  // client's request for the AssociateBot operation. The "output" return
   120  // value will be populated with the request's response once the request completes
   121  // successfully.
   122  //
   123  // Use "Send" method on the returned Request to send the API call to the service.
   124  // the "output" return value is not valid until after Send returns without error.
   125  //
   126  // See AssociateBot for more information on using the AssociateBot
   127  // API call, and error handling.
   128  //
   129  // This method is useful when you want to inject custom logic or configuration
   130  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   131  //
   132  //
   133  //    // Example sending a request using the AssociateBotRequest method.
   134  //    req, resp := client.AssociateBotRequest(params)
   135  //
   136  //    err := req.Send()
   137  //    if err == nil { // resp is now filled
   138  //        fmt.Println(resp)
   139  //    }
   140  //
   141  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateBot
   142  func (c *Connect) AssociateBotRequest(input *AssociateBotInput) (req *request.Request, output *AssociateBotOutput) {
   143  	op := &request.Operation{
   144  		Name:       opAssociateBot,
   145  		HTTPMethod: "PUT",
   146  		HTTPPath:   "/instance/{InstanceId}/bot",
   147  	}
   148  
   149  	if input == nil {
   150  		input = &AssociateBotInput{}
   151  	}
   152  
   153  	output = &AssociateBotOutput{}
   154  	req = c.newRequest(op, input, output)
   155  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   156  	return
   157  }
   158  
   159  // AssociateBot API operation for Amazon Connect Service.
   160  //
   161  // This API is in preview release for Amazon Connect and is subject to change.
   162  //
   163  // Allows the specified Amazon Connect instance to access the specified Amazon
   164  // Lex or Amazon Lex V2 bot.
   165  //
   166  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   167  // with awserr.Error's Code and Message methods to get detailed information about
   168  // the error.
   169  //
   170  // See the AWS API reference guide for Amazon Connect Service's
   171  // API operation AssociateBot for usage and error information.
   172  //
   173  // Returned Error Types:
   174  //   * ResourceNotFoundException
   175  //   The specified resource was not found.
   176  //
   177  //   * ResourceConflictException
   178  //   A resource already has that name.
   179  //
   180  //   * InternalServiceException
   181  //   Request processing failed because of an error or failure with the service.
   182  //
   183  //   * InvalidRequestException
   184  //   The request is not valid.
   185  //
   186  //   * LimitExceededException
   187  //   The allowed limit for the resource has been exceeded.
   188  //
   189  //   * ServiceQuotaExceededException
   190  //   The service quota has been exceeded.
   191  //
   192  //   * ThrottlingException
   193  //   The throttling limit has been exceeded.
   194  //
   195  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateBot
   196  func (c *Connect) AssociateBot(input *AssociateBotInput) (*AssociateBotOutput, error) {
   197  	req, out := c.AssociateBotRequest(input)
   198  	return out, req.Send()
   199  }
   200  
   201  // AssociateBotWithContext is the same as AssociateBot with the addition of
   202  // the ability to pass a context and additional request options.
   203  //
   204  // See AssociateBot for details on how to use this API operation.
   205  //
   206  // The context must be non-nil and will be used for request cancellation. If
   207  // the context is nil a panic will occur. In the future the SDK may create
   208  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   209  // for more information on using Contexts.
   210  func (c *Connect) AssociateBotWithContext(ctx aws.Context, input *AssociateBotInput, opts ...request.Option) (*AssociateBotOutput, error) {
   211  	req, out := c.AssociateBotRequest(input)
   212  	req.SetContext(ctx)
   213  	req.ApplyOptions(opts...)
   214  	return out, req.Send()
   215  }
   216  
   217  const opAssociateInstanceStorageConfig = "AssociateInstanceStorageConfig"
   218  
   219  // AssociateInstanceStorageConfigRequest generates a "aws/request.Request" representing the
   220  // client's request for the AssociateInstanceStorageConfig operation. The "output" return
   221  // value will be populated with the request's response once the request completes
   222  // successfully.
   223  //
   224  // Use "Send" method on the returned Request to send the API call to the service.
   225  // the "output" return value is not valid until after Send returns without error.
   226  //
   227  // See AssociateInstanceStorageConfig for more information on using the AssociateInstanceStorageConfig
   228  // API call, and error handling.
   229  //
   230  // This method is useful when you want to inject custom logic or configuration
   231  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   232  //
   233  //
   234  //    // Example sending a request using the AssociateInstanceStorageConfigRequest method.
   235  //    req, resp := client.AssociateInstanceStorageConfigRequest(params)
   236  //
   237  //    err := req.Send()
   238  //    if err == nil { // resp is now filled
   239  //        fmt.Println(resp)
   240  //    }
   241  //
   242  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateInstanceStorageConfig
   243  func (c *Connect) AssociateInstanceStorageConfigRequest(input *AssociateInstanceStorageConfigInput) (req *request.Request, output *AssociateInstanceStorageConfigOutput) {
   244  	op := &request.Operation{
   245  		Name:       opAssociateInstanceStorageConfig,
   246  		HTTPMethod: "PUT",
   247  		HTTPPath:   "/instance/{InstanceId}/storage-config",
   248  	}
   249  
   250  	if input == nil {
   251  		input = &AssociateInstanceStorageConfigInput{}
   252  	}
   253  
   254  	output = &AssociateInstanceStorageConfigOutput{}
   255  	req = c.newRequest(op, input, output)
   256  	return
   257  }
   258  
   259  // AssociateInstanceStorageConfig API operation for Amazon Connect Service.
   260  //
   261  // This API is in preview release for Amazon Connect and is subject to change.
   262  //
   263  // Associates a storage resource type for the first time. You can only associate
   264  // one type of storage configuration in a single call. This means, for example,
   265  // that you can't define an instance with multiple S3 buckets for storing chat
   266  // transcripts.
   267  //
   268  // This API does not create a resource that doesn't exist. It only associates
   269  // it to the instance. Ensure that the resource being specified in the storage
   270  // configuration, like an S3 bucket, exists when being used for association.
   271  //
   272  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   273  // with awserr.Error's Code and Message methods to get detailed information about
   274  // the error.
   275  //
   276  // See the AWS API reference guide for Amazon Connect Service's
   277  // API operation AssociateInstanceStorageConfig for usage and error information.
   278  //
   279  // Returned Error Types:
   280  //   * ResourceNotFoundException
   281  //   The specified resource was not found.
   282  //
   283  //   * ResourceConflictException
   284  //   A resource already has that name.
   285  //
   286  //   * InternalServiceException
   287  //   Request processing failed because of an error or failure with the service.
   288  //
   289  //   * InvalidRequestException
   290  //   The request is not valid.
   291  //
   292  //   * InvalidParameterException
   293  //   One or more of the specified parameters are not valid.
   294  //
   295  //   * ThrottlingException
   296  //   The throttling limit has been exceeded.
   297  //
   298  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateInstanceStorageConfig
   299  func (c *Connect) AssociateInstanceStorageConfig(input *AssociateInstanceStorageConfigInput) (*AssociateInstanceStorageConfigOutput, error) {
   300  	req, out := c.AssociateInstanceStorageConfigRequest(input)
   301  	return out, req.Send()
   302  }
   303  
   304  // AssociateInstanceStorageConfigWithContext is the same as AssociateInstanceStorageConfig with the addition of
   305  // the ability to pass a context and additional request options.
   306  //
   307  // See AssociateInstanceStorageConfig for details on how to use this API operation.
   308  //
   309  // The context must be non-nil and will be used for request cancellation. If
   310  // the context is nil a panic will occur. In the future the SDK may create
   311  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   312  // for more information on using Contexts.
   313  func (c *Connect) AssociateInstanceStorageConfigWithContext(ctx aws.Context, input *AssociateInstanceStorageConfigInput, opts ...request.Option) (*AssociateInstanceStorageConfigOutput, error) {
   314  	req, out := c.AssociateInstanceStorageConfigRequest(input)
   315  	req.SetContext(ctx)
   316  	req.ApplyOptions(opts...)
   317  	return out, req.Send()
   318  }
   319  
   320  const opAssociateLambdaFunction = "AssociateLambdaFunction"
   321  
   322  // AssociateLambdaFunctionRequest generates a "aws/request.Request" representing the
   323  // client's request for the AssociateLambdaFunction operation. The "output" return
   324  // value will be populated with the request's response once the request completes
   325  // successfully.
   326  //
   327  // Use "Send" method on the returned Request to send the API call to the service.
   328  // the "output" return value is not valid until after Send returns without error.
   329  //
   330  // See AssociateLambdaFunction for more information on using the AssociateLambdaFunction
   331  // API call, and error handling.
   332  //
   333  // This method is useful when you want to inject custom logic or configuration
   334  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   335  //
   336  //
   337  //    // Example sending a request using the AssociateLambdaFunctionRequest method.
   338  //    req, resp := client.AssociateLambdaFunctionRequest(params)
   339  //
   340  //    err := req.Send()
   341  //    if err == nil { // resp is now filled
   342  //        fmt.Println(resp)
   343  //    }
   344  //
   345  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLambdaFunction
   346  func (c *Connect) AssociateLambdaFunctionRequest(input *AssociateLambdaFunctionInput) (req *request.Request, output *AssociateLambdaFunctionOutput) {
   347  	op := &request.Operation{
   348  		Name:       opAssociateLambdaFunction,
   349  		HTTPMethod: "PUT",
   350  		HTTPPath:   "/instance/{InstanceId}/lambda-function",
   351  	}
   352  
   353  	if input == nil {
   354  		input = &AssociateLambdaFunctionInput{}
   355  	}
   356  
   357  	output = &AssociateLambdaFunctionOutput{}
   358  	req = c.newRequest(op, input, output)
   359  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   360  	return
   361  }
   362  
   363  // AssociateLambdaFunction API operation for Amazon Connect Service.
   364  //
   365  // This API is in preview release for Amazon Connect and is subject to change.
   366  //
   367  // Allows the specified Amazon Connect instance to access the specified Lambda
   368  // function.
   369  //
   370  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   371  // with awserr.Error's Code and Message methods to get detailed information about
   372  // the error.
   373  //
   374  // See the AWS API reference guide for Amazon Connect Service's
   375  // API operation AssociateLambdaFunction for usage and error information.
   376  //
   377  // Returned Error Types:
   378  //   * ResourceNotFoundException
   379  //   The specified resource was not found.
   380  //
   381  //   * ResourceConflictException
   382  //   A resource already has that name.
   383  //
   384  //   * InternalServiceException
   385  //   Request processing failed because of an error or failure with the service.
   386  //
   387  //   * InvalidRequestException
   388  //   The request is not valid.
   389  //
   390  //   * InvalidParameterException
   391  //   One or more of the specified parameters are not valid.
   392  //
   393  //   * ServiceQuotaExceededException
   394  //   The service quota has been exceeded.
   395  //
   396  //   * ThrottlingException
   397  //   The throttling limit has been exceeded.
   398  //
   399  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLambdaFunction
   400  func (c *Connect) AssociateLambdaFunction(input *AssociateLambdaFunctionInput) (*AssociateLambdaFunctionOutput, error) {
   401  	req, out := c.AssociateLambdaFunctionRequest(input)
   402  	return out, req.Send()
   403  }
   404  
   405  // AssociateLambdaFunctionWithContext is the same as AssociateLambdaFunction with the addition of
   406  // the ability to pass a context and additional request options.
   407  //
   408  // See AssociateLambdaFunction for details on how to use this API operation.
   409  //
   410  // The context must be non-nil and will be used for request cancellation. If
   411  // the context is nil a panic will occur. In the future the SDK may create
   412  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   413  // for more information on using Contexts.
   414  func (c *Connect) AssociateLambdaFunctionWithContext(ctx aws.Context, input *AssociateLambdaFunctionInput, opts ...request.Option) (*AssociateLambdaFunctionOutput, error) {
   415  	req, out := c.AssociateLambdaFunctionRequest(input)
   416  	req.SetContext(ctx)
   417  	req.ApplyOptions(opts...)
   418  	return out, req.Send()
   419  }
   420  
   421  const opAssociateLexBot = "AssociateLexBot"
   422  
   423  // AssociateLexBotRequest generates a "aws/request.Request" representing the
   424  // client's request for the AssociateLexBot operation. The "output" return
   425  // value will be populated with the request's response once the request completes
   426  // successfully.
   427  //
   428  // Use "Send" method on the returned Request to send the API call to the service.
   429  // the "output" return value is not valid until after Send returns without error.
   430  //
   431  // See AssociateLexBot for more information on using the AssociateLexBot
   432  // API call, and error handling.
   433  //
   434  // This method is useful when you want to inject custom logic or configuration
   435  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   436  //
   437  //
   438  //    // Example sending a request using the AssociateLexBotRequest method.
   439  //    req, resp := client.AssociateLexBotRequest(params)
   440  //
   441  //    err := req.Send()
   442  //    if err == nil { // resp is now filled
   443  //        fmt.Println(resp)
   444  //    }
   445  //
   446  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLexBot
   447  func (c *Connect) AssociateLexBotRequest(input *AssociateLexBotInput) (req *request.Request, output *AssociateLexBotOutput) {
   448  	op := &request.Operation{
   449  		Name:       opAssociateLexBot,
   450  		HTTPMethod: "PUT",
   451  		HTTPPath:   "/instance/{InstanceId}/lex-bot",
   452  	}
   453  
   454  	if input == nil {
   455  		input = &AssociateLexBotInput{}
   456  	}
   457  
   458  	output = &AssociateLexBotOutput{}
   459  	req = c.newRequest(op, input, output)
   460  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   461  	return
   462  }
   463  
   464  // AssociateLexBot API operation for Amazon Connect Service.
   465  //
   466  // This API is in preview release for Amazon Connect and is subject to change.
   467  //
   468  // Allows the specified Amazon Connect instance to access the specified Amazon
   469  // Lex bot.
   470  //
   471  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   472  // with awserr.Error's Code and Message methods to get detailed information about
   473  // the error.
   474  //
   475  // See the AWS API reference guide for Amazon Connect Service's
   476  // API operation AssociateLexBot for usage and error information.
   477  //
   478  // Returned Error Types:
   479  //   * ResourceNotFoundException
   480  //   The specified resource was not found.
   481  //
   482  //   * ResourceConflictException
   483  //   A resource already has that name.
   484  //
   485  //   * InternalServiceException
   486  //   Request processing failed because of an error or failure with the service.
   487  //
   488  //   * InvalidRequestException
   489  //   The request is not valid.
   490  //
   491  //   * InvalidParameterException
   492  //   One or more of the specified parameters are not valid.
   493  //
   494  //   * ServiceQuotaExceededException
   495  //   The service quota has been exceeded.
   496  //
   497  //   * ThrottlingException
   498  //   The throttling limit has been exceeded.
   499  //
   500  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateLexBot
   501  func (c *Connect) AssociateLexBot(input *AssociateLexBotInput) (*AssociateLexBotOutput, error) {
   502  	req, out := c.AssociateLexBotRequest(input)
   503  	return out, req.Send()
   504  }
   505  
   506  // AssociateLexBotWithContext is the same as AssociateLexBot with the addition of
   507  // the ability to pass a context and additional request options.
   508  //
   509  // See AssociateLexBot for details on how to use this API operation.
   510  //
   511  // The context must be non-nil and will be used for request cancellation. If
   512  // the context is nil a panic will occur. In the future the SDK may create
   513  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   514  // for more information on using Contexts.
   515  func (c *Connect) AssociateLexBotWithContext(ctx aws.Context, input *AssociateLexBotInput, opts ...request.Option) (*AssociateLexBotOutput, error) {
   516  	req, out := c.AssociateLexBotRequest(input)
   517  	req.SetContext(ctx)
   518  	req.ApplyOptions(opts...)
   519  	return out, req.Send()
   520  }
   521  
   522  const opAssociateQueueQuickConnects = "AssociateQueueQuickConnects"
   523  
   524  // AssociateQueueQuickConnectsRequest generates a "aws/request.Request" representing the
   525  // client's request for the AssociateQueueQuickConnects operation. The "output" return
   526  // value will be populated with the request's response once the request completes
   527  // successfully.
   528  //
   529  // Use "Send" method on the returned Request to send the API call to the service.
   530  // the "output" return value is not valid until after Send returns without error.
   531  //
   532  // See AssociateQueueQuickConnects for more information on using the AssociateQueueQuickConnects
   533  // API call, and error handling.
   534  //
   535  // This method is useful when you want to inject custom logic or configuration
   536  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   537  //
   538  //
   539  //    // Example sending a request using the AssociateQueueQuickConnectsRequest method.
   540  //    req, resp := client.AssociateQueueQuickConnectsRequest(params)
   541  //
   542  //    err := req.Send()
   543  //    if err == nil { // resp is now filled
   544  //        fmt.Println(resp)
   545  //    }
   546  //
   547  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateQueueQuickConnects
   548  func (c *Connect) AssociateQueueQuickConnectsRequest(input *AssociateQueueQuickConnectsInput) (req *request.Request, output *AssociateQueueQuickConnectsOutput) {
   549  	op := &request.Operation{
   550  		Name:       opAssociateQueueQuickConnects,
   551  		HTTPMethod: "POST",
   552  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/associate-quick-connects",
   553  	}
   554  
   555  	if input == nil {
   556  		input = &AssociateQueueQuickConnectsInput{}
   557  	}
   558  
   559  	output = &AssociateQueueQuickConnectsOutput{}
   560  	req = c.newRequest(op, input, output)
   561  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   562  	return
   563  }
   564  
   565  // AssociateQueueQuickConnects API operation for Amazon Connect Service.
   566  //
   567  // This API is in preview release for Amazon Connect and is subject to change.
   568  //
   569  // Associates a set of quick connects with a queue.
   570  //
   571  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   572  // with awserr.Error's Code and Message methods to get detailed information about
   573  // the error.
   574  //
   575  // See the AWS API reference guide for Amazon Connect Service's
   576  // API operation AssociateQueueQuickConnects for usage and error information.
   577  //
   578  // Returned Error Types:
   579  //   * InvalidRequestException
   580  //   The request is not valid.
   581  //
   582  //   * InvalidParameterException
   583  //   One or more of the specified parameters are not valid.
   584  //
   585  //   * ResourceNotFoundException
   586  //   The specified resource was not found.
   587  //
   588  //   * LimitExceededException
   589  //   The allowed limit for the resource has been exceeded.
   590  //
   591  //   * ThrottlingException
   592  //   The throttling limit has been exceeded.
   593  //
   594  //   * InternalServiceException
   595  //   Request processing failed because of an error or failure with the service.
   596  //
   597  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateQueueQuickConnects
   598  func (c *Connect) AssociateQueueQuickConnects(input *AssociateQueueQuickConnectsInput) (*AssociateQueueQuickConnectsOutput, error) {
   599  	req, out := c.AssociateQueueQuickConnectsRequest(input)
   600  	return out, req.Send()
   601  }
   602  
   603  // AssociateQueueQuickConnectsWithContext is the same as AssociateQueueQuickConnects with the addition of
   604  // the ability to pass a context and additional request options.
   605  //
   606  // See AssociateQueueQuickConnects for details on how to use this API operation.
   607  //
   608  // The context must be non-nil and will be used for request cancellation. If
   609  // the context is nil a panic will occur. In the future the SDK may create
   610  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   611  // for more information on using Contexts.
   612  func (c *Connect) AssociateQueueQuickConnectsWithContext(ctx aws.Context, input *AssociateQueueQuickConnectsInput, opts ...request.Option) (*AssociateQueueQuickConnectsOutput, error) {
   613  	req, out := c.AssociateQueueQuickConnectsRequest(input)
   614  	req.SetContext(ctx)
   615  	req.ApplyOptions(opts...)
   616  	return out, req.Send()
   617  }
   618  
   619  const opAssociateRoutingProfileQueues = "AssociateRoutingProfileQueues"
   620  
   621  // AssociateRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
   622  // client's request for the AssociateRoutingProfileQueues operation. The "output" return
   623  // value will be populated with the request's response once the request completes
   624  // successfully.
   625  //
   626  // Use "Send" method on the returned Request to send the API call to the service.
   627  // the "output" return value is not valid until after Send returns without error.
   628  //
   629  // See AssociateRoutingProfileQueues for more information on using the AssociateRoutingProfileQueues
   630  // API call, and error handling.
   631  //
   632  // This method is useful when you want to inject custom logic or configuration
   633  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   634  //
   635  //
   636  //    // Example sending a request using the AssociateRoutingProfileQueuesRequest method.
   637  //    req, resp := client.AssociateRoutingProfileQueuesRequest(params)
   638  //
   639  //    err := req.Send()
   640  //    if err == nil { // resp is now filled
   641  //        fmt.Println(resp)
   642  //    }
   643  //
   644  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateRoutingProfileQueues
   645  func (c *Connect) AssociateRoutingProfileQueuesRequest(input *AssociateRoutingProfileQueuesInput) (req *request.Request, output *AssociateRoutingProfileQueuesOutput) {
   646  	op := &request.Operation{
   647  		Name:       opAssociateRoutingProfileQueues,
   648  		HTTPMethod: "POST",
   649  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/associate-queues",
   650  	}
   651  
   652  	if input == nil {
   653  		input = &AssociateRoutingProfileQueuesInput{}
   654  	}
   655  
   656  	output = &AssociateRoutingProfileQueuesOutput{}
   657  	req = c.newRequest(op, input, output)
   658  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   659  	return
   660  }
   661  
   662  // AssociateRoutingProfileQueues API operation for Amazon Connect Service.
   663  //
   664  // Associates a set of queues with a routing profile.
   665  //
   666  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   667  // with awserr.Error's Code and Message methods to get detailed information about
   668  // the error.
   669  //
   670  // See the AWS API reference guide for Amazon Connect Service's
   671  // API operation AssociateRoutingProfileQueues for usage and error information.
   672  //
   673  // Returned Error Types:
   674  //   * InvalidRequestException
   675  //   The request is not valid.
   676  //
   677  //   * InvalidParameterException
   678  //   One or more of the specified parameters are not valid.
   679  //
   680  //   * ResourceNotFoundException
   681  //   The specified resource was not found.
   682  //
   683  //   * ThrottlingException
   684  //   The throttling limit has been exceeded.
   685  //
   686  //   * InternalServiceException
   687  //   Request processing failed because of an error or failure with the service.
   688  //
   689  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateRoutingProfileQueues
   690  func (c *Connect) AssociateRoutingProfileQueues(input *AssociateRoutingProfileQueuesInput) (*AssociateRoutingProfileQueuesOutput, error) {
   691  	req, out := c.AssociateRoutingProfileQueuesRequest(input)
   692  	return out, req.Send()
   693  }
   694  
   695  // AssociateRoutingProfileQueuesWithContext is the same as AssociateRoutingProfileQueues with the addition of
   696  // the ability to pass a context and additional request options.
   697  //
   698  // See AssociateRoutingProfileQueues for details on how to use this API operation.
   699  //
   700  // The context must be non-nil and will be used for request cancellation. If
   701  // the context is nil a panic will occur. In the future the SDK may create
   702  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   703  // for more information on using Contexts.
   704  func (c *Connect) AssociateRoutingProfileQueuesWithContext(ctx aws.Context, input *AssociateRoutingProfileQueuesInput, opts ...request.Option) (*AssociateRoutingProfileQueuesOutput, error) {
   705  	req, out := c.AssociateRoutingProfileQueuesRequest(input)
   706  	req.SetContext(ctx)
   707  	req.ApplyOptions(opts...)
   708  	return out, req.Send()
   709  }
   710  
   711  const opAssociateSecurityKey = "AssociateSecurityKey"
   712  
   713  // AssociateSecurityKeyRequest generates a "aws/request.Request" representing the
   714  // client's request for the AssociateSecurityKey operation. The "output" return
   715  // value will be populated with the request's response once the request completes
   716  // successfully.
   717  //
   718  // Use "Send" method on the returned Request to send the API call to the service.
   719  // the "output" return value is not valid until after Send returns without error.
   720  //
   721  // See AssociateSecurityKey for more information on using the AssociateSecurityKey
   722  // API call, and error handling.
   723  //
   724  // This method is useful when you want to inject custom logic or configuration
   725  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   726  //
   727  //
   728  //    // Example sending a request using the AssociateSecurityKeyRequest method.
   729  //    req, resp := client.AssociateSecurityKeyRequest(params)
   730  //
   731  //    err := req.Send()
   732  //    if err == nil { // resp is now filled
   733  //        fmt.Println(resp)
   734  //    }
   735  //
   736  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateSecurityKey
   737  func (c *Connect) AssociateSecurityKeyRequest(input *AssociateSecurityKeyInput) (req *request.Request, output *AssociateSecurityKeyOutput) {
   738  	op := &request.Operation{
   739  		Name:       opAssociateSecurityKey,
   740  		HTTPMethod: "PUT",
   741  		HTTPPath:   "/instance/{InstanceId}/security-key",
   742  	}
   743  
   744  	if input == nil {
   745  		input = &AssociateSecurityKeyInput{}
   746  	}
   747  
   748  	output = &AssociateSecurityKeyOutput{}
   749  	req = c.newRequest(op, input, output)
   750  	return
   751  }
   752  
   753  // AssociateSecurityKey API operation for Amazon Connect Service.
   754  //
   755  // This API is in preview release for Amazon Connect and is subject to change.
   756  //
   757  // Associates a security key to the instance.
   758  //
   759  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   760  // with awserr.Error's Code and Message methods to get detailed information about
   761  // the error.
   762  //
   763  // See the AWS API reference guide for Amazon Connect Service's
   764  // API operation AssociateSecurityKey for usage and error information.
   765  //
   766  // Returned Error Types:
   767  //   * ResourceNotFoundException
   768  //   The specified resource was not found.
   769  //
   770  //   * ResourceConflictException
   771  //   A resource already has that name.
   772  //
   773  //   * InternalServiceException
   774  //   Request processing failed because of an error or failure with the service.
   775  //
   776  //   * InvalidRequestException
   777  //   The request is not valid.
   778  //
   779  //   * InvalidParameterException
   780  //   One or more of the specified parameters are not valid.
   781  //
   782  //   * ServiceQuotaExceededException
   783  //   The service quota has been exceeded.
   784  //
   785  //   * ThrottlingException
   786  //   The throttling limit has been exceeded.
   787  //
   788  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateSecurityKey
   789  func (c *Connect) AssociateSecurityKey(input *AssociateSecurityKeyInput) (*AssociateSecurityKeyOutput, error) {
   790  	req, out := c.AssociateSecurityKeyRequest(input)
   791  	return out, req.Send()
   792  }
   793  
   794  // AssociateSecurityKeyWithContext is the same as AssociateSecurityKey with the addition of
   795  // the ability to pass a context and additional request options.
   796  //
   797  // See AssociateSecurityKey for details on how to use this API operation.
   798  //
   799  // The context must be non-nil and will be used for request cancellation. If
   800  // the context is nil a panic will occur. In the future the SDK may create
   801  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   802  // for more information on using Contexts.
   803  func (c *Connect) AssociateSecurityKeyWithContext(ctx aws.Context, input *AssociateSecurityKeyInput, opts ...request.Option) (*AssociateSecurityKeyOutput, error) {
   804  	req, out := c.AssociateSecurityKeyRequest(input)
   805  	req.SetContext(ctx)
   806  	req.ApplyOptions(opts...)
   807  	return out, req.Send()
   808  }
   809  
   810  const opCreateAgentStatus = "CreateAgentStatus"
   811  
   812  // CreateAgentStatusRequest generates a "aws/request.Request" representing the
   813  // client's request for the CreateAgentStatus operation. The "output" return
   814  // value will be populated with the request's response once the request completes
   815  // successfully.
   816  //
   817  // Use "Send" method on the returned Request to send the API call to the service.
   818  // the "output" return value is not valid until after Send returns without error.
   819  //
   820  // See CreateAgentStatus for more information on using the CreateAgentStatus
   821  // API call, and error handling.
   822  //
   823  // This method is useful when you want to inject custom logic or configuration
   824  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   825  //
   826  //
   827  //    // Example sending a request using the CreateAgentStatusRequest method.
   828  //    req, resp := client.CreateAgentStatusRequest(params)
   829  //
   830  //    err := req.Send()
   831  //    if err == nil { // resp is now filled
   832  //        fmt.Println(resp)
   833  //    }
   834  //
   835  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateAgentStatus
   836  func (c *Connect) CreateAgentStatusRequest(input *CreateAgentStatusInput) (req *request.Request, output *CreateAgentStatusOutput) {
   837  	op := &request.Operation{
   838  		Name:       opCreateAgentStatus,
   839  		HTTPMethod: "PUT",
   840  		HTTPPath:   "/agent-status/{InstanceId}",
   841  	}
   842  
   843  	if input == nil {
   844  		input = &CreateAgentStatusInput{}
   845  	}
   846  
   847  	output = &CreateAgentStatusOutput{}
   848  	req = c.newRequest(op, input, output)
   849  	return
   850  }
   851  
   852  // CreateAgentStatus API operation for Amazon Connect Service.
   853  //
   854  // This API is in preview release for Amazon Connect and is subject to change.
   855  //
   856  // Creates an agent status for the specified Amazon Connect instance.
   857  //
   858  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   859  // with awserr.Error's Code and Message methods to get detailed information about
   860  // the error.
   861  //
   862  // See the AWS API reference guide for Amazon Connect Service's
   863  // API operation CreateAgentStatus for usage and error information.
   864  //
   865  // Returned Error Types:
   866  //   * InvalidRequestException
   867  //   The request is not valid.
   868  //
   869  //   * InvalidParameterException
   870  //   One or more of the specified parameters are not valid.
   871  //
   872  //   * DuplicateResourceException
   873  //   A resource with the specified name already exists.
   874  //
   875  //   * ResourceNotFoundException
   876  //   The specified resource was not found.
   877  //
   878  //   * LimitExceededException
   879  //   The allowed limit for the resource has been exceeded.
   880  //
   881  //   * ThrottlingException
   882  //   The throttling limit has been exceeded.
   883  //
   884  //   * InternalServiceException
   885  //   Request processing failed because of an error or failure with the service.
   886  //
   887  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateAgentStatus
   888  func (c *Connect) CreateAgentStatus(input *CreateAgentStatusInput) (*CreateAgentStatusOutput, error) {
   889  	req, out := c.CreateAgentStatusRequest(input)
   890  	return out, req.Send()
   891  }
   892  
   893  // CreateAgentStatusWithContext is the same as CreateAgentStatus with the addition of
   894  // the ability to pass a context and additional request options.
   895  //
   896  // See CreateAgentStatus for details on how to use this API operation.
   897  //
   898  // The context must be non-nil and will be used for request cancellation. If
   899  // the context is nil a panic will occur. In the future the SDK may create
   900  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   901  // for more information on using Contexts.
   902  func (c *Connect) CreateAgentStatusWithContext(ctx aws.Context, input *CreateAgentStatusInput, opts ...request.Option) (*CreateAgentStatusOutput, error) {
   903  	req, out := c.CreateAgentStatusRequest(input)
   904  	req.SetContext(ctx)
   905  	req.ApplyOptions(opts...)
   906  	return out, req.Send()
   907  }
   908  
   909  const opCreateContactFlow = "CreateContactFlow"
   910  
   911  // CreateContactFlowRequest generates a "aws/request.Request" representing the
   912  // client's request for the CreateContactFlow operation. The "output" return
   913  // value will be populated with the request's response once the request completes
   914  // successfully.
   915  //
   916  // Use "Send" method on the returned Request to send the API call to the service.
   917  // the "output" return value is not valid until after Send returns without error.
   918  //
   919  // See CreateContactFlow for more information on using the CreateContactFlow
   920  // API call, and error handling.
   921  //
   922  // This method is useful when you want to inject custom logic or configuration
   923  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   924  //
   925  //
   926  //    // Example sending a request using the CreateContactFlowRequest method.
   927  //    req, resp := client.CreateContactFlowRequest(params)
   928  //
   929  //    err := req.Send()
   930  //    if err == nil { // resp is now filled
   931  //        fmt.Println(resp)
   932  //    }
   933  //
   934  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateContactFlow
   935  func (c *Connect) CreateContactFlowRequest(input *CreateContactFlowInput) (req *request.Request, output *CreateContactFlowOutput) {
   936  	op := &request.Operation{
   937  		Name:       opCreateContactFlow,
   938  		HTTPMethod: "PUT",
   939  		HTTPPath:   "/contact-flows/{InstanceId}",
   940  	}
   941  
   942  	if input == nil {
   943  		input = &CreateContactFlowInput{}
   944  	}
   945  
   946  	output = &CreateContactFlowOutput{}
   947  	req = c.newRequest(op, input, output)
   948  	return
   949  }
   950  
   951  // CreateContactFlow API operation for Amazon Connect Service.
   952  //
   953  // Creates a contact flow for the specified Amazon Connect instance.
   954  //
   955  // You can also create and update contact flows using the Amazon Connect Flow
   956  // language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
   957  //
   958  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   959  // with awserr.Error's Code and Message methods to get detailed information about
   960  // the error.
   961  //
   962  // See the AWS API reference guide for Amazon Connect Service's
   963  // API operation CreateContactFlow for usage and error information.
   964  //
   965  // Returned Error Types:
   966  //   * InvalidRequestException
   967  //   The request is not valid.
   968  //
   969  //   * InvalidContactFlowException
   970  //   The contact flow is not valid.
   971  //
   972  //   * InvalidParameterException
   973  //   One or more of the specified parameters are not valid.
   974  //
   975  //   * DuplicateResourceException
   976  //   A resource with the specified name already exists.
   977  //
   978  //   * LimitExceededException
   979  //   The allowed limit for the resource has been exceeded.
   980  //
   981  //   * ResourceNotFoundException
   982  //   The specified resource was not found.
   983  //
   984  //   * ThrottlingException
   985  //   The throttling limit has been exceeded.
   986  //
   987  //   * InternalServiceException
   988  //   Request processing failed because of an error or failure with the service.
   989  //
   990  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateContactFlow
   991  func (c *Connect) CreateContactFlow(input *CreateContactFlowInput) (*CreateContactFlowOutput, error) {
   992  	req, out := c.CreateContactFlowRequest(input)
   993  	return out, req.Send()
   994  }
   995  
   996  // CreateContactFlowWithContext is the same as CreateContactFlow with the addition of
   997  // the ability to pass a context and additional request options.
   998  //
   999  // See CreateContactFlow for details on how to use this API operation.
  1000  //
  1001  // The context must be non-nil and will be used for request cancellation. If
  1002  // the context is nil a panic will occur. In the future the SDK may create
  1003  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1004  // for more information on using Contexts.
  1005  func (c *Connect) CreateContactFlowWithContext(ctx aws.Context, input *CreateContactFlowInput, opts ...request.Option) (*CreateContactFlowOutput, error) {
  1006  	req, out := c.CreateContactFlowRequest(input)
  1007  	req.SetContext(ctx)
  1008  	req.ApplyOptions(opts...)
  1009  	return out, req.Send()
  1010  }
  1011  
  1012  const opCreateHoursOfOperation = "CreateHoursOfOperation"
  1013  
  1014  // CreateHoursOfOperationRequest generates a "aws/request.Request" representing the
  1015  // client's request for the CreateHoursOfOperation operation. The "output" return
  1016  // value will be populated with the request's response once the request completes
  1017  // successfully.
  1018  //
  1019  // Use "Send" method on the returned Request to send the API call to the service.
  1020  // the "output" return value is not valid until after Send returns without error.
  1021  //
  1022  // See CreateHoursOfOperation for more information on using the CreateHoursOfOperation
  1023  // API call, and error handling.
  1024  //
  1025  // This method is useful when you want to inject custom logic or configuration
  1026  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1027  //
  1028  //
  1029  //    // Example sending a request using the CreateHoursOfOperationRequest method.
  1030  //    req, resp := client.CreateHoursOfOperationRequest(params)
  1031  //
  1032  //    err := req.Send()
  1033  //    if err == nil { // resp is now filled
  1034  //        fmt.Println(resp)
  1035  //    }
  1036  //
  1037  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateHoursOfOperation
  1038  func (c *Connect) CreateHoursOfOperationRequest(input *CreateHoursOfOperationInput) (req *request.Request, output *CreateHoursOfOperationOutput) {
  1039  	op := &request.Operation{
  1040  		Name:       opCreateHoursOfOperation,
  1041  		HTTPMethod: "PUT",
  1042  		HTTPPath:   "/hours-of-operations/{InstanceId}",
  1043  	}
  1044  
  1045  	if input == nil {
  1046  		input = &CreateHoursOfOperationInput{}
  1047  	}
  1048  
  1049  	output = &CreateHoursOfOperationOutput{}
  1050  	req = c.newRequest(op, input, output)
  1051  	return
  1052  }
  1053  
  1054  // CreateHoursOfOperation API operation for Amazon Connect Service.
  1055  //
  1056  // This API is in preview release for Amazon Connect and is subject to change.
  1057  //
  1058  // Creates hours of operation.
  1059  //
  1060  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1061  // with awserr.Error's Code and Message methods to get detailed information about
  1062  // the error.
  1063  //
  1064  // See the AWS API reference guide for Amazon Connect Service's
  1065  // API operation CreateHoursOfOperation for usage and error information.
  1066  //
  1067  // Returned Error Types:
  1068  //   * DuplicateResourceException
  1069  //   A resource with the specified name already exists.
  1070  //
  1071  //   * InvalidRequestException
  1072  //   The request is not valid.
  1073  //
  1074  //   * InvalidParameterException
  1075  //   One or more of the specified parameters are not valid.
  1076  //
  1077  //   * ResourceNotFoundException
  1078  //   The specified resource was not found.
  1079  //
  1080  //   * LimitExceededException
  1081  //   The allowed limit for the resource has been exceeded.
  1082  //
  1083  //   * ThrottlingException
  1084  //   The throttling limit has been exceeded.
  1085  //
  1086  //   * InternalServiceException
  1087  //   Request processing failed because of an error or failure with the service.
  1088  //
  1089  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateHoursOfOperation
  1090  func (c *Connect) CreateHoursOfOperation(input *CreateHoursOfOperationInput) (*CreateHoursOfOperationOutput, error) {
  1091  	req, out := c.CreateHoursOfOperationRequest(input)
  1092  	return out, req.Send()
  1093  }
  1094  
  1095  // CreateHoursOfOperationWithContext is the same as CreateHoursOfOperation with the addition of
  1096  // the ability to pass a context and additional request options.
  1097  //
  1098  // See CreateHoursOfOperation for details on how to use this API operation.
  1099  //
  1100  // The context must be non-nil and will be used for request cancellation. If
  1101  // the context is nil a panic will occur. In the future the SDK may create
  1102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1103  // for more information on using Contexts.
  1104  func (c *Connect) CreateHoursOfOperationWithContext(ctx aws.Context, input *CreateHoursOfOperationInput, opts ...request.Option) (*CreateHoursOfOperationOutput, error) {
  1105  	req, out := c.CreateHoursOfOperationRequest(input)
  1106  	req.SetContext(ctx)
  1107  	req.ApplyOptions(opts...)
  1108  	return out, req.Send()
  1109  }
  1110  
  1111  const opCreateInstance = "CreateInstance"
  1112  
  1113  // CreateInstanceRequest generates a "aws/request.Request" representing the
  1114  // client's request for the CreateInstance operation. The "output" return
  1115  // value will be populated with the request's response once the request completes
  1116  // successfully.
  1117  //
  1118  // Use "Send" method on the returned Request to send the API call to the service.
  1119  // the "output" return value is not valid until after Send returns without error.
  1120  //
  1121  // See CreateInstance for more information on using the CreateInstance
  1122  // API call, and error handling.
  1123  //
  1124  // This method is useful when you want to inject custom logic or configuration
  1125  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1126  //
  1127  //
  1128  //    // Example sending a request using the CreateInstanceRequest method.
  1129  //    req, resp := client.CreateInstanceRequest(params)
  1130  //
  1131  //    err := req.Send()
  1132  //    if err == nil { // resp is now filled
  1133  //        fmt.Println(resp)
  1134  //    }
  1135  //
  1136  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateInstance
  1137  func (c *Connect) CreateInstanceRequest(input *CreateInstanceInput) (req *request.Request, output *CreateInstanceOutput) {
  1138  	op := &request.Operation{
  1139  		Name:       opCreateInstance,
  1140  		HTTPMethod: "PUT",
  1141  		HTTPPath:   "/instance",
  1142  	}
  1143  
  1144  	if input == nil {
  1145  		input = &CreateInstanceInput{}
  1146  	}
  1147  
  1148  	output = &CreateInstanceOutput{}
  1149  	req = c.newRequest(op, input, output)
  1150  	return
  1151  }
  1152  
  1153  // CreateInstance API operation for Amazon Connect Service.
  1154  //
  1155  // This API is in preview release for Amazon Connect and is subject to change.
  1156  //
  1157  // Initiates an Amazon Connect instance with all the supported channels enabled.
  1158  // It does not attach any storage, such as Amazon Simple Storage Service (Amazon
  1159  // S3) or Amazon Kinesis. It also does not allow for any configurations on features,
  1160  // such as Contact Lens for Amazon Connect.
  1161  //
  1162  // Amazon Connect enforces a limit on the total number of instances that you
  1163  // can create or delete in 30 days. If you exceed this limit, you will get an
  1164  // error message indicating there has been an excessive number of attempts at
  1165  // creating or deleting instances. You must wait 30 days before you can restart
  1166  // creating and deleting instances in your account.
  1167  //
  1168  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1169  // with awserr.Error's Code and Message methods to get detailed information about
  1170  // the error.
  1171  //
  1172  // See the AWS API reference guide for Amazon Connect Service's
  1173  // API operation CreateInstance for usage and error information.
  1174  //
  1175  // Returned Error Types:
  1176  //   * InvalidRequestException
  1177  //   The request is not valid.
  1178  //
  1179  //   * ServiceQuotaExceededException
  1180  //   The service quota has been exceeded.
  1181  //
  1182  //   * ThrottlingException
  1183  //   The throttling limit has been exceeded.
  1184  //
  1185  //   * ResourceNotFoundException
  1186  //   The specified resource was not found.
  1187  //
  1188  //   * InternalServiceException
  1189  //   Request processing failed because of an error or failure with the service.
  1190  //
  1191  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateInstance
  1192  func (c *Connect) CreateInstance(input *CreateInstanceInput) (*CreateInstanceOutput, error) {
  1193  	req, out := c.CreateInstanceRequest(input)
  1194  	return out, req.Send()
  1195  }
  1196  
  1197  // CreateInstanceWithContext is the same as CreateInstance with the addition of
  1198  // the ability to pass a context and additional request options.
  1199  //
  1200  // See CreateInstance for details on how to use this API operation.
  1201  //
  1202  // The context must be non-nil and will be used for request cancellation. If
  1203  // the context is nil a panic will occur. In the future the SDK may create
  1204  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1205  // for more information on using Contexts.
  1206  func (c *Connect) CreateInstanceWithContext(ctx aws.Context, input *CreateInstanceInput, opts ...request.Option) (*CreateInstanceOutput, error) {
  1207  	req, out := c.CreateInstanceRequest(input)
  1208  	req.SetContext(ctx)
  1209  	req.ApplyOptions(opts...)
  1210  	return out, req.Send()
  1211  }
  1212  
  1213  const opCreateIntegrationAssociation = "CreateIntegrationAssociation"
  1214  
  1215  // CreateIntegrationAssociationRequest generates a "aws/request.Request" representing the
  1216  // client's request for the CreateIntegrationAssociation operation. The "output" return
  1217  // value will be populated with the request's response once the request completes
  1218  // successfully.
  1219  //
  1220  // Use "Send" method on the returned Request to send the API call to the service.
  1221  // the "output" return value is not valid until after Send returns without error.
  1222  //
  1223  // See CreateIntegrationAssociation for more information on using the CreateIntegrationAssociation
  1224  // API call, and error handling.
  1225  //
  1226  // This method is useful when you want to inject custom logic or configuration
  1227  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1228  //
  1229  //
  1230  //    // Example sending a request using the CreateIntegrationAssociationRequest method.
  1231  //    req, resp := client.CreateIntegrationAssociationRequest(params)
  1232  //
  1233  //    err := req.Send()
  1234  //    if err == nil { // resp is now filled
  1235  //        fmt.Println(resp)
  1236  //    }
  1237  //
  1238  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateIntegrationAssociation
  1239  func (c *Connect) CreateIntegrationAssociationRequest(input *CreateIntegrationAssociationInput) (req *request.Request, output *CreateIntegrationAssociationOutput) {
  1240  	op := &request.Operation{
  1241  		Name:       opCreateIntegrationAssociation,
  1242  		HTTPMethod: "PUT",
  1243  		HTTPPath:   "/instance/{InstanceId}/integration-associations",
  1244  	}
  1245  
  1246  	if input == nil {
  1247  		input = &CreateIntegrationAssociationInput{}
  1248  	}
  1249  
  1250  	output = &CreateIntegrationAssociationOutput{}
  1251  	req = c.newRequest(op, input, output)
  1252  	return
  1253  }
  1254  
  1255  // CreateIntegrationAssociation API operation for Amazon Connect Service.
  1256  //
  1257  // Creates an AWS resource association with an Amazon Connect instance.
  1258  //
  1259  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1260  // with awserr.Error's Code and Message methods to get detailed information about
  1261  // the error.
  1262  //
  1263  // See the AWS API reference guide for Amazon Connect Service's
  1264  // API operation CreateIntegrationAssociation for usage and error information.
  1265  //
  1266  // Returned Error Types:
  1267  //   * DuplicateResourceException
  1268  //   A resource with the specified name already exists.
  1269  //
  1270  //   * ResourceNotFoundException
  1271  //   The specified resource was not found.
  1272  //
  1273  //   * InternalServiceException
  1274  //   Request processing failed because of an error or failure with the service.
  1275  //
  1276  //   * InvalidRequestException
  1277  //   The request is not valid.
  1278  //
  1279  //   * ThrottlingException
  1280  //   The throttling limit has been exceeded.
  1281  //
  1282  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateIntegrationAssociation
  1283  func (c *Connect) CreateIntegrationAssociation(input *CreateIntegrationAssociationInput) (*CreateIntegrationAssociationOutput, error) {
  1284  	req, out := c.CreateIntegrationAssociationRequest(input)
  1285  	return out, req.Send()
  1286  }
  1287  
  1288  // CreateIntegrationAssociationWithContext is the same as CreateIntegrationAssociation with the addition of
  1289  // the ability to pass a context and additional request options.
  1290  //
  1291  // See CreateIntegrationAssociation for details on how to use this API operation.
  1292  //
  1293  // The context must be non-nil and will be used for request cancellation. If
  1294  // the context is nil a panic will occur. In the future the SDK may create
  1295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1296  // for more information on using Contexts.
  1297  func (c *Connect) CreateIntegrationAssociationWithContext(ctx aws.Context, input *CreateIntegrationAssociationInput, opts ...request.Option) (*CreateIntegrationAssociationOutput, error) {
  1298  	req, out := c.CreateIntegrationAssociationRequest(input)
  1299  	req.SetContext(ctx)
  1300  	req.ApplyOptions(opts...)
  1301  	return out, req.Send()
  1302  }
  1303  
  1304  const opCreateQueue = "CreateQueue"
  1305  
  1306  // CreateQueueRequest generates a "aws/request.Request" representing the
  1307  // client's request for the CreateQueue operation. The "output" return
  1308  // value will be populated with the request's response once the request completes
  1309  // successfully.
  1310  //
  1311  // Use "Send" method on the returned Request to send the API call to the service.
  1312  // the "output" return value is not valid until after Send returns without error.
  1313  //
  1314  // See CreateQueue for more information on using the CreateQueue
  1315  // API call, and error handling.
  1316  //
  1317  // This method is useful when you want to inject custom logic or configuration
  1318  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1319  //
  1320  //
  1321  //    // Example sending a request using the CreateQueueRequest method.
  1322  //    req, resp := client.CreateQueueRequest(params)
  1323  //
  1324  //    err := req.Send()
  1325  //    if err == nil { // resp is now filled
  1326  //        fmt.Println(resp)
  1327  //    }
  1328  //
  1329  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQueue
  1330  func (c *Connect) CreateQueueRequest(input *CreateQueueInput) (req *request.Request, output *CreateQueueOutput) {
  1331  	op := &request.Operation{
  1332  		Name:       opCreateQueue,
  1333  		HTTPMethod: "PUT",
  1334  		HTTPPath:   "/queues/{InstanceId}",
  1335  	}
  1336  
  1337  	if input == nil {
  1338  		input = &CreateQueueInput{}
  1339  	}
  1340  
  1341  	output = &CreateQueueOutput{}
  1342  	req = c.newRequest(op, input, output)
  1343  	return
  1344  }
  1345  
  1346  // CreateQueue API operation for Amazon Connect Service.
  1347  //
  1348  // This API is in preview release for Amazon Connect and is subject to change.
  1349  //
  1350  // Creates a new queue for the specified Amazon Connect instance.
  1351  //
  1352  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1353  // with awserr.Error's Code and Message methods to get detailed information about
  1354  // the error.
  1355  //
  1356  // See the AWS API reference guide for Amazon Connect Service's
  1357  // API operation CreateQueue for usage and error information.
  1358  //
  1359  // Returned Error Types:
  1360  //   * InvalidRequestException
  1361  //   The request is not valid.
  1362  //
  1363  //   * InvalidParameterException
  1364  //   One or more of the specified parameters are not valid.
  1365  //
  1366  //   * DuplicateResourceException
  1367  //   A resource with the specified name already exists.
  1368  //
  1369  //   * ResourceNotFoundException
  1370  //   The specified resource was not found.
  1371  //
  1372  //   * LimitExceededException
  1373  //   The allowed limit for the resource has been exceeded.
  1374  //
  1375  //   * ThrottlingException
  1376  //   The throttling limit has been exceeded.
  1377  //
  1378  //   * InternalServiceException
  1379  //   Request processing failed because of an error or failure with the service.
  1380  //
  1381  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQueue
  1382  func (c *Connect) CreateQueue(input *CreateQueueInput) (*CreateQueueOutput, error) {
  1383  	req, out := c.CreateQueueRequest(input)
  1384  	return out, req.Send()
  1385  }
  1386  
  1387  // CreateQueueWithContext is the same as CreateQueue with the addition of
  1388  // the ability to pass a context and additional request options.
  1389  //
  1390  // See CreateQueue for details on how to use this API operation.
  1391  //
  1392  // The context must be non-nil and will be used for request cancellation. If
  1393  // the context is nil a panic will occur. In the future the SDK may create
  1394  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1395  // for more information on using Contexts.
  1396  func (c *Connect) CreateQueueWithContext(ctx aws.Context, input *CreateQueueInput, opts ...request.Option) (*CreateQueueOutput, error) {
  1397  	req, out := c.CreateQueueRequest(input)
  1398  	req.SetContext(ctx)
  1399  	req.ApplyOptions(opts...)
  1400  	return out, req.Send()
  1401  }
  1402  
  1403  const opCreateQuickConnect = "CreateQuickConnect"
  1404  
  1405  // CreateQuickConnectRequest generates a "aws/request.Request" representing the
  1406  // client's request for the CreateQuickConnect operation. The "output" return
  1407  // value will be populated with the request's response once the request completes
  1408  // successfully.
  1409  //
  1410  // Use "Send" method on the returned Request to send the API call to the service.
  1411  // the "output" return value is not valid until after Send returns without error.
  1412  //
  1413  // See CreateQuickConnect for more information on using the CreateQuickConnect
  1414  // API call, and error handling.
  1415  //
  1416  // This method is useful when you want to inject custom logic or configuration
  1417  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1418  //
  1419  //
  1420  //    // Example sending a request using the CreateQuickConnectRequest method.
  1421  //    req, resp := client.CreateQuickConnectRequest(params)
  1422  //
  1423  //    err := req.Send()
  1424  //    if err == nil { // resp is now filled
  1425  //        fmt.Println(resp)
  1426  //    }
  1427  //
  1428  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQuickConnect
  1429  func (c *Connect) CreateQuickConnectRequest(input *CreateQuickConnectInput) (req *request.Request, output *CreateQuickConnectOutput) {
  1430  	op := &request.Operation{
  1431  		Name:       opCreateQuickConnect,
  1432  		HTTPMethod: "PUT",
  1433  		HTTPPath:   "/quick-connects/{InstanceId}",
  1434  	}
  1435  
  1436  	if input == nil {
  1437  		input = &CreateQuickConnectInput{}
  1438  	}
  1439  
  1440  	output = &CreateQuickConnectOutput{}
  1441  	req = c.newRequest(op, input, output)
  1442  	return
  1443  }
  1444  
  1445  // CreateQuickConnect API operation for Amazon Connect Service.
  1446  //
  1447  // Creates a quick connect for the specified Amazon Connect instance.
  1448  //
  1449  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1450  // with awserr.Error's Code and Message methods to get detailed information about
  1451  // the error.
  1452  //
  1453  // See the AWS API reference guide for Amazon Connect Service's
  1454  // API operation CreateQuickConnect for usage and error information.
  1455  //
  1456  // Returned Error Types:
  1457  //   * InvalidRequestException
  1458  //   The request is not valid.
  1459  //
  1460  //   * InvalidParameterException
  1461  //   One or more of the specified parameters are not valid.
  1462  //
  1463  //   * DuplicateResourceException
  1464  //   A resource with the specified name already exists.
  1465  //
  1466  //   * ResourceNotFoundException
  1467  //   The specified resource was not found.
  1468  //
  1469  //   * LimitExceededException
  1470  //   The allowed limit for the resource has been exceeded.
  1471  //
  1472  //   * ThrottlingException
  1473  //   The throttling limit has been exceeded.
  1474  //
  1475  //   * InternalServiceException
  1476  //   Request processing failed because of an error or failure with the service.
  1477  //
  1478  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateQuickConnect
  1479  func (c *Connect) CreateQuickConnect(input *CreateQuickConnectInput) (*CreateQuickConnectOutput, error) {
  1480  	req, out := c.CreateQuickConnectRequest(input)
  1481  	return out, req.Send()
  1482  }
  1483  
  1484  // CreateQuickConnectWithContext is the same as CreateQuickConnect with the addition of
  1485  // the ability to pass a context and additional request options.
  1486  //
  1487  // See CreateQuickConnect for details on how to use this API operation.
  1488  //
  1489  // The context must be non-nil and will be used for request cancellation. If
  1490  // the context is nil a panic will occur. In the future the SDK may create
  1491  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1492  // for more information on using Contexts.
  1493  func (c *Connect) CreateQuickConnectWithContext(ctx aws.Context, input *CreateQuickConnectInput, opts ...request.Option) (*CreateQuickConnectOutput, error) {
  1494  	req, out := c.CreateQuickConnectRequest(input)
  1495  	req.SetContext(ctx)
  1496  	req.ApplyOptions(opts...)
  1497  	return out, req.Send()
  1498  }
  1499  
  1500  const opCreateRoutingProfile = "CreateRoutingProfile"
  1501  
  1502  // CreateRoutingProfileRequest generates a "aws/request.Request" representing the
  1503  // client's request for the CreateRoutingProfile operation. The "output" return
  1504  // value will be populated with the request's response once the request completes
  1505  // successfully.
  1506  //
  1507  // Use "Send" method on the returned Request to send the API call to the service.
  1508  // the "output" return value is not valid until after Send returns without error.
  1509  //
  1510  // See CreateRoutingProfile for more information on using the CreateRoutingProfile
  1511  // API call, and error handling.
  1512  //
  1513  // This method is useful when you want to inject custom logic or configuration
  1514  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1515  //
  1516  //
  1517  //    // Example sending a request using the CreateRoutingProfileRequest method.
  1518  //    req, resp := client.CreateRoutingProfileRequest(params)
  1519  //
  1520  //    err := req.Send()
  1521  //    if err == nil { // resp is now filled
  1522  //        fmt.Println(resp)
  1523  //    }
  1524  //
  1525  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfile
  1526  func (c *Connect) CreateRoutingProfileRequest(input *CreateRoutingProfileInput) (req *request.Request, output *CreateRoutingProfileOutput) {
  1527  	op := &request.Operation{
  1528  		Name:       opCreateRoutingProfile,
  1529  		HTTPMethod: "PUT",
  1530  		HTTPPath:   "/routing-profiles/{InstanceId}",
  1531  	}
  1532  
  1533  	if input == nil {
  1534  		input = &CreateRoutingProfileInput{}
  1535  	}
  1536  
  1537  	output = &CreateRoutingProfileOutput{}
  1538  	req = c.newRequest(op, input, output)
  1539  	return
  1540  }
  1541  
  1542  // CreateRoutingProfile API operation for Amazon Connect Service.
  1543  //
  1544  // Creates a new routing profile.
  1545  //
  1546  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1547  // with awserr.Error's Code and Message methods to get detailed information about
  1548  // the error.
  1549  //
  1550  // See the AWS API reference guide for Amazon Connect Service's
  1551  // API operation CreateRoutingProfile for usage and error information.
  1552  //
  1553  // Returned Error Types:
  1554  //   * InvalidRequestException
  1555  //   The request is not valid.
  1556  //
  1557  //   * InvalidParameterException
  1558  //   One or more of the specified parameters are not valid.
  1559  //
  1560  //   * DuplicateResourceException
  1561  //   A resource with the specified name already exists.
  1562  //
  1563  //   * ResourceNotFoundException
  1564  //   The specified resource was not found.
  1565  //
  1566  //   * LimitExceededException
  1567  //   The allowed limit for the resource has been exceeded.
  1568  //
  1569  //   * ThrottlingException
  1570  //   The throttling limit has been exceeded.
  1571  //
  1572  //   * InternalServiceException
  1573  //   Request processing failed because of an error or failure with the service.
  1574  //
  1575  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateRoutingProfile
  1576  func (c *Connect) CreateRoutingProfile(input *CreateRoutingProfileInput) (*CreateRoutingProfileOutput, error) {
  1577  	req, out := c.CreateRoutingProfileRequest(input)
  1578  	return out, req.Send()
  1579  }
  1580  
  1581  // CreateRoutingProfileWithContext is the same as CreateRoutingProfile with the addition of
  1582  // the ability to pass a context and additional request options.
  1583  //
  1584  // See CreateRoutingProfile for details on how to use this API operation.
  1585  //
  1586  // The context must be non-nil and will be used for request cancellation. If
  1587  // the context is nil a panic will occur. In the future the SDK may create
  1588  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1589  // for more information on using Contexts.
  1590  func (c *Connect) CreateRoutingProfileWithContext(ctx aws.Context, input *CreateRoutingProfileInput, opts ...request.Option) (*CreateRoutingProfileOutput, error) {
  1591  	req, out := c.CreateRoutingProfileRequest(input)
  1592  	req.SetContext(ctx)
  1593  	req.ApplyOptions(opts...)
  1594  	return out, req.Send()
  1595  }
  1596  
  1597  const opCreateUseCase = "CreateUseCase"
  1598  
  1599  // CreateUseCaseRequest generates a "aws/request.Request" representing the
  1600  // client's request for the CreateUseCase operation. The "output" return
  1601  // value will be populated with the request's response once the request completes
  1602  // successfully.
  1603  //
  1604  // Use "Send" method on the returned Request to send the API call to the service.
  1605  // the "output" return value is not valid until after Send returns without error.
  1606  //
  1607  // See CreateUseCase for more information on using the CreateUseCase
  1608  // API call, and error handling.
  1609  //
  1610  // This method is useful when you want to inject custom logic or configuration
  1611  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1612  //
  1613  //
  1614  //    // Example sending a request using the CreateUseCaseRequest method.
  1615  //    req, resp := client.CreateUseCaseRequest(params)
  1616  //
  1617  //    err := req.Send()
  1618  //    if err == nil { // resp is now filled
  1619  //        fmt.Println(resp)
  1620  //    }
  1621  //
  1622  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUseCase
  1623  func (c *Connect) CreateUseCaseRequest(input *CreateUseCaseInput) (req *request.Request, output *CreateUseCaseOutput) {
  1624  	op := &request.Operation{
  1625  		Name:       opCreateUseCase,
  1626  		HTTPMethod: "PUT",
  1627  		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}/use-cases",
  1628  	}
  1629  
  1630  	if input == nil {
  1631  		input = &CreateUseCaseInput{}
  1632  	}
  1633  
  1634  	output = &CreateUseCaseOutput{}
  1635  	req = c.newRequest(op, input, output)
  1636  	return
  1637  }
  1638  
  1639  // CreateUseCase API operation for Amazon Connect Service.
  1640  //
  1641  // Creates a use case for an integration association.
  1642  //
  1643  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1644  // with awserr.Error's Code and Message methods to get detailed information about
  1645  // the error.
  1646  //
  1647  // See the AWS API reference guide for Amazon Connect Service's
  1648  // API operation CreateUseCase for usage and error information.
  1649  //
  1650  // Returned Error Types:
  1651  //   * DuplicateResourceException
  1652  //   A resource with the specified name already exists.
  1653  //
  1654  //   * ResourceNotFoundException
  1655  //   The specified resource was not found.
  1656  //
  1657  //   * InternalServiceException
  1658  //   Request processing failed because of an error or failure with the service.
  1659  //
  1660  //   * InvalidRequestException
  1661  //   The request is not valid.
  1662  //
  1663  //   * ThrottlingException
  1664  //   The throttling limit has been exceeded.
  1665  //
  1666  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUseCase
  1667  func (c *Connect) CreateUseCase(input *CreateUseCaseInput) (*CreateUseCaseOutput, error) {
  1668  	req, out := c.CreateUseCaseRequest(input)
  1669  	return out, req.Send()
  1670  }
  1671  
  1672  // CreateUseCaseWithContext is the same as CreateUseCase with the addition of
  1673  // the ability to pass a context and additional request options.
  1674  //
  1675  // See CreateUseCase for details on how to use this API operation.
  1676  //
  1677  // The context must be non-nil and will be used for request cancellation. If
  1678  // the context is nil a panic will occur. In the future the SDK may create
  1679  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1680  // for more information on using Contexts.
  1681  func (c *Connect) CreateUseCaseWithContext(ctx aws.Context, input *CreateUseCaseInput, opts ...request.Option) (*CreateUseCaseOutput, error) {
  1682  	req, out := c.CreateUseCaseRequest(input)
  1683  	req.SetContext(ctx)
  1684  	req.ApplyOptions(opts...)
  1685  	return out, req.Send()
  1686  }
  1687  
  1688  const opCreateUser = "CreateUser"
  1689  
  1690  // CreateUserRequest generates a "aws/request.Request" representing the
  1691  // client's request for the CreateUser operation. The "output" return
  1692  // value will be populated with the request's response once the request completes
  1693  // successfully.
  1694  //
  1695  // Use "Send" method on the returned Request to send the API call to the service.
  1696  // the "output" return value is not valid until after Send returns without error.
  1697  //
  1698  // See CreateUser for more information on using the CreateUser
  1699  // API call, and error handling.
  1700  //
  1701  // This method is useful when you want to inject custom logic or configuration
  1702  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1703  //
  1704  //
  1705  //    // Example sending a request using the CreateUserRequest method.
  1706  //    req, resp := client.CreateUserRequest(params)
  1707  //
  1708  //    err := req.Send()
  1709  //    if err == nil { // resp is now filled
  1710  //        fmt.Println(resp)
  1711  //    }
  1712  //
  1713  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser
  1714  func (c *Connect) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) {
  1715  	op := &request.Operation{
  1716  		Name:       opCreateUser,
  1717  		HTTPMethod: "PUT",
  1718  		HTTPPath:   "/users/{InstanceId}",
  1719  	}
  1720  
  1721  	if input == nil {
  1722  		input = &CreateUserInput{}
  1723  	}
  1724  
  1725  	output = &CreateUserOutput{}
  1726  	req = c.newRequest(op, input, output)
  1727  	return
  1728  }
  1729  
  1730  // CreateUser API operation for Amazon Connect Service.
  1731  //
  1732  // Creates a user account for the specified Amazon Connect instance.
  1733  //
  1734  // For information about how to create user accounts using the Amazon Connect
  1735  // console, see Add Users (https://docs.aws.amazon.com/connect/latest/adminguide/user-management.html)
  1736  // in the Amazon Connect Administrator Guide.
  1737  //
  1738  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1739  // with awserr.Error's Code and Message methods to get detailed information about
  1740  // the error.
  1741  //
  1742  // See the AWS API reference guide for Amazon Connect Service's
  1743  // API operation CreateUser for usage and error information.
  1744  //
  1745  // Returned Error Types:
  1746  //   * InvalidRequestException
  1747  //   The request is not valid.
  1748  //
  1749  //   * InvalidParameterException
  1750  //   One or more of the specified parameters are not valid.
  1751  //
  1752  //   * LimitExceededException
  1753  //   The allowed limit for the resource has been exceeded.
  1754  //
  1755  //   * DuplicateResourceException
  1756  //   A resource with the specified name already exists.
  1757  //
  1758  //   * ResourceNotFoundException
  1759  //   The specified resource was not found.
  1760  //
  1761  //   * ThrottlingException
  1762  //   The throttling limit has been exceeded.
  1763  //
  1764  //   * InternalServiceException
  1765  //   Request processing failed because of an error or failure with the service.
  1766  //
  1767  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUser
  1768  func (c *Connect) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) {
  1769  	req, out := c.CreateUserRequest(input)
  1770  	return out, req.Send()
  1771  }
  1772  
  1773  // CreateUserWithContext is the same as CreateUser with the addition of
  1774  // the ability to pass a context and additional request options.
  1775  //
  1776  // See CreateUser for details on how to use this API operation.
  1777  //
  1778  // The context must be non-nil and will be used for request cancellation. If
  1779  // the context is nil a panic will occur. In the future the SDK may create
  1780  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1781  // for more information on using Contexts.
  1782  func (c *Connect) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) {
  1783  	req, out := c.CreateUserRequest(input)
  1784  	req.SetContext(ctx)
  1785  	req.ApplyOptions(opts...)
  1786  	return out, req.Send()
  1787  }
  1788  
  1789  const opCreateUserHierarchyGroup = "CreateUserHierarchyGroup"
  1790  
  1791  // CreateUserHierarchyGroupRequest generates a "aws/request.Request" representing the
  1792  // client's request for the CreateUserHierarchyGroup operation. The "output" return
  1793  // value will be populated with the request's response once the request completes
  1794  // successfully.
  1795  //
  1796  // Use "Send" method on the returned Request to send the API call to the service.
  1797  // the "output" return value is not valid until after Send returns without error.
  1798  //
  1799  // See CreateUserHierarchyGroup for more information on using the CreateUserHierarchyGroup
  1800  // API call, and error handling.
  1801  //
  1802  // This method is useful when you want to inject custom logic or configuration
  1803  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1804  //
  1805  //
  1806  //    // Example sending a request using the CreateUserHierarchyGroupRequest method.
  1807  //    req, resp := client.CreateUserHierarchyGroupRequest(params)
  1808  //
  1809  //    err := req.Send()
  1810  //    if err == nil { // resp is now filled
  1811  //        fmt.Println(resp)
  1812  //    }
  1813  //
  1814  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserHierarchyGroup
  1815  func (c *Connect) CreateUserHierarchyGroupRequest(input *CreateUserHierarchyGroupInput) (req *request.Request, output *CreateUserHierarchyGroupOutput) {
  1816  	op := &request.Operation{
  1817  		Name:       opCreateUserHierarchyGroup,
  1818  		HTTPMethod: "PUT",
  1819  		HTTPPath:   "/user-hierarchy-groups/{InstanceId}",
  1820  	}
  1821  
  1822  	if input == nil {
  1823  		input = &CreateUserHierarchyGroupInput{}
  1824  	}
  1825  
  1826  	output = &CreateUserHierarchyGroupOutput{}
  1827  	req = c.newRequest(op, input, output)
  1828  	return
  1829  }
  1830  
  1831  // CreateUserHierarchyGroup API operation for Amazon Connect Service.
  1832  //
  1833  // Creates a new user hierarchy group.
  1834  //
  1835  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1836  // with awserr.Error's Code and Message methods to get detailed information about
  1837  // the error.
  1838  //
  1839  // See the AWS API reference guide for Amazon Connect Service's
  1840  // API operation CreateUserHierarchyGroup for usage and error information.
  1841  //
  1842  // Returned Error Types:
  1843  //   * InvalidRequestException
  1844  //   The request is not valid.
  1845  //
  1846  //   * InvalidParameterException
  1847  //   One or more of the specified parameters are not valid.
  1848  //
  1849  //   * DuplicateResourceException
  1850  //   A resource with the specified name already exists.
  1851  //
  1852  //   * LimitExceededException
  1853  //   The allowed limit for the resource has been exceeded.
  1854  //
  1855  //   * ResourceNotFoundException
  1856  //   The specified resource was not found.
  1857  //
  1858  //   * ThrottlingException
  1859  //   The throttling limit has been exceeded.
  1860  //
  1861  //   * InternalServiceException
  1862  //   Request processing failed because of an error or failure with the service.
  1863  //
  1864  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateUserHierarchyGroup
  1865  func (c *Connect) CreateUserHierarchyGroup(input *CreateUserHierarchyGroupInput) (*CreateUserHierarchyGroupOutput, error) {
  1866  	req, out := c.CreateUserHierarchyGroupRequest(input)
  1867  	return out, req.Send()
  1868  }
  1869  
  1870  // CreateUserHierarchyGroupWithContext is the same as CreateUserHierarchyGroup with the addition of
  1871  // the ability to pass a context and additional request options.
  1872  //
  1873  // See CreateUserHierarchyGroup for details on how to use this API operation.
  1874  //
  1875  // The context must be non-nil and will be used for request cancellation. If
  1876  // the context is nil a panic will occur. In the future the SDK may create
  1877  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1878  // for more information on using Contexts.
  1879  func (c *Connect) CreateUserHierarchyGroupWithContext(ctx aws.Context, input *CreateUserHierarchyGroupInput, opts ...request.Option) (*CreateUserHierarchyGroupOutput, error) {
  1880  	req, out := c.CreateUserHierarchyGroupRequest(input)
  1881  	req.SetContext(ctx)
  1882  	req.ApplyOptions(opts...)
  1883  	return out, req.Send()
  1884  }
  1885  
  1886  const opDeleteHoursOfOperation = "DeleteHoursOfOperation"
  1887  
  1888  // DeleteHoursOfOperationRequest generates a "aws/request.Request" representing the
  1889  // client's request for the DeleteHoursOfOperation operation. The "output" return
  1890  // value will be populated with the request's response once the request completes
  1891  // successfully.
  1892  //
  1893  // Use "Send" method on the returned Request to send the API call to the service.
  1894  // the "output" return value is not valid until after Send returns without error.
  1895  //
  1896  // See DeleteHoursOfOperation for more information on using the DeleteHoursOfOperation
  1897  // API call, and error handling.
  1898  //
  1899  // This method is useful when you want to inject custom logic or configuration
  1900  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1901  //
  1902  //
  1903  //    // Example sending a request using the DeleteHoursOfOperationRequest method.
  1904  //    req, resp := client.DeleteHoursOfOperationRequest(params)
  1905  //
  1906  //    err := req.Send()
  1907  //    if err == nil { // resp is now filled
  1908  //        fmt.Println(resp)
  1909  //    }
  1910  //
  1911  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteHoursOfOperation
  1912  func (c *Connect) DeleteHoursOfOperationRequest(input *DeleteHoursOfOperationInput) (req *request.Request, output *DeleteHoursOfOperationOutput) {
  1913  	op := &request.Operation{
  1914  		Name:       opDeleteHoursOfOperation,
  1915  		HTTPMethod: "DELETE",
  1916  		HTTPPath:   "/hours-of-operations/{InstanceId}/{HoursOfOperationId}",
  1917  	}
  1918  
  1919  	if input == nil {
  1920  		input = &DeleteHoursOfOperationInput{}
  1921  	}
  1922  
  1923  	output = &DeleteHoursOfOperationOutput{}
  1924  	req = c.newRequest(op, input, output)
  1925  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1926  	return
  1927  }
  1928  
  1929  // DeleteHoursOfOperation API operation for Amazon Connect Service.
  1930  //
  1931  // This API is in preview release for Amazon Connect and is subject to change.
  1932  //
  1933  // Deletes an hours of operation.
  1934  //
  1935  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1936  // with awserr.Error's Code and Message methods to get detailed information about
  1937  // the error.
  1938  //
  1939  // See the AWS API reference guide for Amazon Connect Service's
  1940  // API operation DeleteHoursOfOperation for usage and error information.
  1941  //
  1942  // Returned Error Types:
  1943  //   * InvalidRequestException
  1944  //   The request is not valid.
  1945  //
  1946  //   * InvalidParameterException
  1947  //   One or more of the specified parameters are not valid.
  1948  //
  1949  //   * ResourceNotFoundException
  1950  //   The specified resource was not found.
  1951  //
  1952  //   * ThrottlingException
  1953  //   The throttling limit has been exceeded.
  1954  //
  1955  //   * InternalServiceException
  1956  //   Request processing failed because of an error or failure with the service.
  1957  //
  1958  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteHoursOfOperation
  1959  func (c *Connect) DeleteHoursOfOperation(input *DeleteHoursOfOperationInput) (*DeleteHoursOfOperationOutput, error) {
  1960  	req, out := c.DeleteHoursOfOperationRequest(input)
  1961  	return out, req.Send()
  1962  }
  1963  
  1964  // DeleteHoursOfOperationWithContext is the same as DeleteHoursOfOperation with the addition of
  1965  // the ability to pass a context and additional request options.
  1966  //
  1967  // See DeleteHoursOfOperation for details on how to use this API operation.
  1968  //
  1969  // The context must be non-nil and will be used for request cancellation. If
  1970  // the context is nil a panic will occur. In the future the SDK may create
  1971  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1972  // for more information on using Contexts.
  1973  func (c *Connect) DeleteHoursOfOperationWithContext(ctx aws.Context, input *DeleteHoursOfOperationInput, opts ...request.Option) (*DeleteHoursOfOperationOutput, error) {
  1974  	req, out := c.DeleteHoursOfOperationRequest(input)
  1975  	req.SetContext(ctx)
  1976  	req.ApplyOptions(opts...)
  1977  	return out, req.Send()
  1978  }
  1979  
  1980  const opDeleteInstance = "DeleteInstance"
  1981  
  1982  // DeleteInstanceRequest generates a "aws/request.Request" representing the
  1983  // client's request for the DeleteInstance operation. The "output" return
  1984  // value will be populated with the request's response once the request completes
  1985  // successfully.
  1986  //
  1987  // Use "Send" method on the returned Request to send the API call to the service.
  1988  // the "output" return value is not valid until after Send returns without error.
  1989  //
  1990  // See DeleteInstance for more information on using the DeleteInstance
  1991  // API call, and error handling.
  1992  //
  1993  // This method is useful when you want to inject custom logic or configuration
  1994  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1995  //
  1996  //
  1997  //    // Example sending a request using the DeleteInstanceRequest method.
  1998  //    req, resp := client.DeleteInstanceRequest(params)
  1999  //
  2000  //    err := req.Send()
  2001  //    if err == nil { // resp is now filled
  2002  //        fmt.Println(resp)
  2003  //    }
  2004  //
  2005  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteInstance
  2006  func (c *Connect) DeleteInstanceRequest(input *DeleteInstanceInput) (req *request.Request, output *DeleteInstanceOutput) {
  2007  	op := &request.Operation{
  2008  		Name:       opDeleteInstance,
  2009  		HTTPMethod: "DELETE",
  2010  		HTTPPath:   "/instance/{InstanceId}",
  2011  	}
  2012  
  2013  	if input == nil {
  2014  		input = &DeleteInstanceInput{}
  2015  	}
  2016  
  2017  	output = &DeleteInstanceOutput{}
  2018  	req = c.newRequest(op, input, output)
  2019  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2020  	return
  2021  }
  2022  
  2023  // DeleteInstance API operation for Amazon Connect Service.
  2024  //
  2025  // This API is in preview release for Amazon Connect and is subject to change.
  2026  //
  2027  // Deletes the Amazon Connect instance.
  2028  //
  2029  // Amazon Connect enforces a limit on the total number of instances that you
  2030  // can create or delete in 30 days. If you exceed this limit, you will get an
  2031  // error message indicating there has been an excessive number of attempts at
  2032  // creating or deleting instances. You must wait 30 days before you can restart
  2033  // creating and deleting instances in your account.
  2034  //
  2035  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2036  // with awserr.Error's Code and Message methods to get detailed information about
  2037  // the error.
  2038  //
  2039  // See the AWS API reference guide for Amazon Connect Service's
  2040  // API operation DeleteInstance for usage and error information.
  2041  //
  2042  // Returned Error Types:
  2043  //   * ResourceNotFoundException
  2044  //   The specified resource was not found.
  2045  //
  2046  //   * InternalServiceException
  2047  //   Request processing failed because of an error or failure with the service.
  2048  //
  2049  //   * InvalidRequestException
  2050  //   The request is not valid.
  2051  //
  2052  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteInstance
  2053  func (c *Connect) DeleteInstance(input *DeleteInstanceInput) (*DeleteInstanceOutput, error) {
  2054  	req, out := c.DeleteInstanceRequest(input)
  2055  	return out, req.Send()
  2056  }
  2057  
  2058  // DeleteInstanceWithContext is the same as DeleteInstance with the addition of
  2059  // the ability to pass a context and additional request options.
  2060  //
  2061  // See DeleteInstance for details on how to use this API operation.
  2062  //
  2063  // The context must be non-nil and will be used for request cancellation. If
  2064  // the context is nil a panic will occur. In the future the SDK may create
  2065  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2066  // for more information on using Contexts.
  2067  func (c *Connect) DeleteInstanceWithContext(ctx aws.Context, input *DeleteInstanceInput, opts ...request.Option) (*DeleteInstanceOutput, error) {
  2068  	req, out := c.DeleteInstanceRequest(input)
  2069  	req.SetContext(ctx)
  2070  	req.ApplyOptions(opts...)
  2071  	return out, req.Send()
  2072  }
  2073  
  2074  const opDeleteIntegrationAssociation = "DeleteIntegrationAssociation"
  2075  
  2076  // DeleteIntegrationAssociationRequest generates a "aws/request.Request" representing the
  2077  // client's request for the DeleteIntegrationAssociation operation. The "output" return
  2078  // value will be populated with the request's response once the request completes
  2079  // successfully.
  2080  //
  2081  // Use "Send" method on the returned Request to send the API call to the service.
  2082  // the "output" return value is not valid until after Send returns without error.
  2083  //
  2084  // See DeleteIntegrationAssociation for more information on using the DeleteIntegrationAssociation
  2085  // API call, and error handling.
  2086  //
  2087  // This method is useful when you want to inject custom logic or configuration
  2088  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2089  //
  2090  //
  2091  //    // Example sending a request using the DeleteIntegrationAssociationRequest method.
  2092  //    req, resp := client.DeleteIntegrationAssociationRequest(params)
  2093  //
  2094  //    err := req.Send()
  2095  //    if err == nil { // resp is now filled
  2096  //        fmt.Println(resp)
  2097  //    }
  2098  //
  2099  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteIntegrationAssociation
  2100  func (c *Connect) DeleteIntegrationAssociationRequest(input *DeleteIntegrationAssociationInput) (req *request.Request, output *DeleteIntegrationAssociationOutput) {
  2101  	op := &request.Operation{
  2102  		Name:       opDeleteIntegrationAssociation,
  2103  		HTTPMethod: "DELETE",
  2104  		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}",
  2105  	}
  2106  
  2107  	if input == nil {
  2108  		input = &DeleteIntegrationAssociationInput{}
  2109  	}
  2110  
  2111  	output = &DeleteIntegrationAssociationOutput{}
  2112  	req = c.newRequest(op, input, output)
  2113  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2114  	return
  2115  }
  2116  
  2117  // DeleteIntegrationAssociation API operation for Amazon Connect Service.
  2118  //
  2119  // Deletes an AWS resource association from an Amazon Connect instance. The
  2120  // association must not have any use cases associated with it.
  2121  //
  2122  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2123  // with awserr.Error's Code and Message methods to get detailed information about
  2124  // the error.
  2125  //
  2126  // See the AWS API reference guide for Amazon Connect Service's
  2127  // API operation DeleteIntegrationAssociation for usage and error information.
  2128  //
  2129  // Returned Error Types:
  2130  //   * ResourceNotFoundException
  2131  //   The specified resource was not found.
  2132  //
  2133  //   * InternalServiceException
  2134  //   Request processing failed because of an error or failure with the service.
  2135  //
  2136  //   * InvalidRequestException
  2137  //   The request is not valid.
  2138  //
  2139  //   * ThrottlingException
  2140  //   The throttling limit has been exceeded.
  2141  //
  2142  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteIntegrationAssociation
  2143  func (c *Connect) DeleteIntegrationAssociation(input *DeleteIntegrationAssociationInput) (*DeleteIntegrationAssociationOutput, error) {
  2144  	req, out := c.DeleteIntegrationAssociationRequest(input)
  2145  	return out, req.Send()
  2146  }
  2147  
  2148  // DeleteIntegrationAssociationWithContext is the same as DeleteIntegrationAssociation with the addition of
  2149  // the ability to pass a context and additional request options.
  2150  //
  2151  // See DeleteIntegrationAssociation for details on how to use this API operation.
  2152  //
  2153  // The context must be non-nil and will be used for request cancellation. If
  2154  // the context is nil a panic will occur. In the future the SDK may create
  2155  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2156  // for more information on using Contexts.
  2157  func (c *Connect) DeleteIntegrationAssociationWithContext(ctx aws.Context, input *DeleteIntegrationAssociationInput, opts ...request.Option) (*DeleteIntegrationAssociationOutput, error) {
  2158  	req, out := c.DeleteIntegrationAssociationRequest(input)
  2159  	req.SetContext(ctx)
  2160  	req.ApplyOptions(opts...)
  2161  	return out, req.Send()
  2162  }
  2163  
  2164  const opDeleteQuickConnect = "DeleteQuickConnect"
  2165  
  2166  // DeleteQuickConnectRequest generates a "aws/request.Request" representing the
  2167  // client's request for the DeleteQuickConnect operation. The "output" return
  2168  // value will be populated with the request's response once the request completes
  2169  // successfully.
  2170  //
  2171  // Use "Send" method on the returned Request to send the API call to the service.
  2172  // the "output" return value is not valid until after Send returns without error.
  2173  //
  2174  // See DeleteQuickConnect for more information on using the DeleteQuickConnect
  2175  // API call, and error handling.
  2176  //
  2177  // This method is useful when you want to inject custom logic or configuration
  2178  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2179  //
  2180  //
  2181  //    // Example sending a request using the DeleteQuickConnectRequest method.
  2182  //    req, resp := client.DeleteQuickConnectRequest(params)
  2183  //
  2184  //    err := req.Send()
  2185  //    if err == nil { // resp is now filled
  2186  //        fmt.Println(resp)
  2187  //    }
  2188  //
  2189  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQuickConnect
  2190  func (c *Connect) DeleteQuickConnectRequest(input *DeleteQuickConnectInput) (req *request.Request, output *DeleteQuickConnectOutput) {
  2191  	op := &request.Operation{
  2192  		Name:       opDeleteQuickConnect,
  2193  		HTTPMethod: "DELETE",
  2194  		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}",
  2195  	}
  2196  
  2197  	if input == nil {
  2198  		input = &DeleteQuickConnectInput{}
  2199  	}
  2200  
  2201  	output = &DeleteQuickConnectOutput{}
  2202  	req = c.newRequest(op, input, output)
  2203  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2204  	return
  2205  }
  2206  
  2207  // DeleteQuickConnect API operation for Amazon Connect Service.
  2208  //
  2209  // Deletes a quick connect.
  2210  //
  2211  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2212  // with awserr.Error's Code and Message methods to get detailed information about
  2213  // the error.
  2214  //
  2215  // See the AWS API reference guide for Amazon Connect Service's
  2216  // API operation DeleteQuickConnect for usage and error information.
  2217  //
  2218  // Returned Error Types:
  2219  //   * InvalidRequestException
  2220  //   The request is not valid.
  2221  //
  2222  //   * InvalidParameterException
  2223  //   One or more of the specified parameters are not valid.
  2224  //
  2225  //   * ResourceNotFoundException
  2226  //   The specified resource was not found.
  2227  //
  2228  //   * ThrottlingException
  2229  //   The throttling limit has been exceeded.
  2230  //
  2231  //   * InternalServiceException
  2232  //   Request processing failed because of an error or failure with the service.
  2233  //
  2234  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteQuickConnect
  2235  func (c *Connect) DeleteQuickConnect(input *DeleteQuickConnectInput) (*DeleteQuickConnectOutput, error) {
  2236  	req, out := c.DeleteQuickConnectRequest(input)
  2237  	return out, req.Send()
  2238  }
  2239  
  2240  // DeleteQuickConnectWithContext is the same as DeleteQuickConnect with the addition of
  2241  // the ability to pass a context and additional request options.
  2242  //
  2243  // See DeleteQuickConnect for details on how to use this API operation.
  2244  //
  2245  // The context must be non-nil and will be used for request cancellation. If
  2246  // the context is nil a panic will occur. In the future the SDK may create
  2247  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2248  // for more information on using Contexts.
  2249  func (c *Connect) DeleteQuickConnectWithContext(ctx aws.Context, input *DeleteQuickConnectInput, opts ...request.Option) (*DeleteQuickConnectOutput, error) {
  2250  	req, out := c.DeleteQuickConnectRequest(input)
  2251  	req.SetContext(ctx)
  2252  	req.ApplyOptions(opts...)
  2253  	return out, req.Send()
  2254  }
  2255  
  2256  const opDeleteUseCase = "DeleteUseCase"
  2257  
  2258  // DeleteUseCaseRequest generates a "aws/request.Request" representing the
  2259  // client's request for the DeleteUseCase operation. The "output" return
  2260  // value will be populated with the request's response once the request completes
  2261  // successfully.
  2262  //
  2263  // Use "Send" method on the returned Request to send the API call to the service.
  2264  // the "output" return value is not valid until after Send returns without error.
  2265  //
  2266  // See DeleteUseCase for more information on using the DeleteUseCase
  2267  // API call, and error handling.
  2268  //
  2269  // This method is useful when you want to inject custom logic or configuration
  2270  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2271  //
  2272  //
  2273  //    // Example sending a request using the DeleteUseCaseRequest method.
  2274  //    req, resp := client.DeleteUseCaseRequest(params)
  2275  //
  2276  //    err := req.Send()
  2277  //    if err == nil { // resp is now filled
  2278  //        fmt.Println(resp)
  2279  //    }
  2280  //
  2281  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUseCase
  2282  func (c *Connect) DeleteUseCaseRequest(input *DeleteUseCaseInput) (req *request.Request, output *DeleteUseCaseOutput) {
  2283  	op := &request.Operation{
  2284  		Name:       opDeleteUseCase,
  2285  		HTTPMethod: "DELETE",
  2286  		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}/use-cases/{UseCaseId}",
  2287  	}
  2288  
  2289  	if input == nil {
  2290  		input = &DeleteUseCaseInput{}
  2291  	}
  2292  
  2293  	output = &DeleteUseCaseOutput{}
  2294  	req = c.newRequest(op, input, output)
  2295  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2296  	return
  2297  }
  2298  
  2299  // DeleteUseCase API operation for Amazon Connect Service.
  2300  //
  2301  // Deletes a use case from an integration association.
  2302  //
  2303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2304  // with awserr.Error's Code and Message methods to get detailed information about
  2305  // the error.
  2306  //
  2307  // See the AWS API reference guide for Amazon Connect Service's
  2308  // API operation DeleteUseCase for usage and error information.
  2309  //
  2310  // Returned Error Types:
  2311  //   * ResourceNotFoundException
  2312  //   The specified resource was not found.
  2313  //
  2314  //   * InternalServiceException
  2315  //   Request processing failed because of an error or failure with the service.
  2316  //
  2317  //   * InvalidRequestException
  2318  //   The request is not valid.
  2319  //
  2320  //   * ThrottlingException
  2321  //   The throttling limit has been exceeded.
  2322  //
  2323  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUseCase
  2324  func (c *Connect) DeleteUseCase(input *DeleteUseCaseInput) (*DeleteUseCaseOutput, error) {
  2325  	req, out := c.DeleteUseCaseRequest(input)
  2326  	return out, req.Send()
  2327  }
  2328  
  2329  // DeleteUseCaseWithContext is the same as DeleteUseCase with the addition of
  2330  // the ability to pass a context and additional request options.
  2331  //
  2332  // See DeleteUseCase for details on how to use this API operation.
  2333  //
  2334  // The context must be non-nil and will be used for request cancellation. If
  2335  // the context is nil a panic will occur. In the future the SDK may create
  2336  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2337  // for more information on using Contexts.
  2338  func (c *Connect) DeleteUseCaseWithContext(ctx aws.Context, input *DeleteUseCaseInput, opts ...request.Option) (*DeleteUseCaseOutput, error) {
  2339  	req, out := c.DeleteUseCaseRequest(input)
  2340  	req.SetContext(ctx)
  2341  	req.ApplyOptions(opts...)
  2342  	return out, req.Send()
  2343  }
  2344  
  2345  const opDeleteUser = "DeleteUser"
  2346  
  2347  // DeleteUserRequest generates a "aws/request.Request" representing the
  2348  // client's request for the DeleteUser operation. The "output" return
  2349  // value will be populated with the request's response once the request completes
  2350  // successfully.
  2351  //
  2352  // Use "Send" method on the returned Request to send the API call to the service.
  2353  // the "output" return value is not valid until after Send returns without error.
  2354  //
  2355  // See DeleteUser for more information on using the DeleteUser
  2356  // API call, and error handling.
  2357  //
  2358  // This method is useful when you want to inject custom logic or configuration
  2359  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2360  //
  2361  //
  2362  //    // Example sending a request using the DeleteUserRequest method.
  2363  //    req, resp := client.DeleteUserRequest(params)
  2364  //
  2365  //    err := req.Send()
  2366  //    if err == nil { // resp is now filled
  2367  //        fmt.Println(resp)
  2368  //    }
  2369  //
  2370  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser
  2371  func (c *Connect) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) {
  2372  	op := &request.Operation{
  2373  		Name:       opDeleteUser,
  2374  		HTTPMethod: "DELETE",
  2375  		HTTPPath:   "/users/{InstanceId}/{UserId}",
  2376  	}
  2377  
  2378  	if input == nil {
  2379  		input = &DeleteUserInput{}
  2380  	}
  2381  
  2382  	output = &DeleteUserOutput{}
  2383  	req = c.newRequest(op, input, output)
  2384  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2385  	return
  2386  }
  2387  
  2388  // DeleteUser API operation for Amazon Connect Service.
  2389  //
  2390  // Deletes a user account from the specified Amazon Connect instance.
  2391  //
  2392  // For information about what happens to a user's data when their account is
  2393  // deleted, see Delete Users from Your Amazon Connect Instance (https://docs.aws.amazon.com/connect/latest/adminguide/delete-users.html)
  2394  // in the Amazon Connect Administrator Guide.
  2395  //
  2396  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2397  // with awserr.Error's Code and Message methods to get detailed information about
  2398  // the error.
  2399  //
  2400  // See the AWS API reference guide for Amazon Connect Service's
  2401  // API operation DeleteUser for usage and error information.
  2402  //
  2403  // Returned Error Types:
  2404  //   * InvalidRequestException
  2405  //   The request is not valid.
  2406  //
  2407  //   * InvalidParameterException
  2408  //   One or more of the specified parameters are not valid.
  2409  //
  2410  //   * ResourceNotFoundException
  2411  //   The specified resource was not found.
  2412  //
  2413  //   * ThrottlingException
  2414  //   The throttling limit has been exceeded.
  2415  //
  2416  //   * InternalServiceException
  2417  //   Request processing failed because of an error or failure with the service.
  2418  //
  2419  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUser
  2420  func (c *Connect) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) {
  2421  	req, out := c.DeleteUserRequest(input)
  2422  	return out, req.Send()
  2423  }
  2424  
  2425  // DeleteUserWithContext is the same as DeleteUser with the addition of
  2426  // the ability to pass a context and additional request options.
  2427  //
  2428  // See DeleteUser for details on how to use this API operation.
  2429  //
  2430  // The context must be non-nil and will be used for request cancellation. If
  2431  // the context is nil a panic will occur. In the future the SDK may create
  2432  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2433  // for more information on using Contexts.
  2434  func (c *Connect) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) {
  2435  	req, out := c.DeleteUserRequest(input)
  2436  	req.SetContext(ctx)
  2437  	req.ApplyOptions(opts...)
  2438  	return out, req.Send()
  2439  }
  2440  
  2441  const opDeleteUserHierarchyGroup = "DeleteUserHierarchyGroup"
  2442  
  2443  // DeleteUserHierarchyGroupRequest generates a "aws/request.Request" representing the
  2444  // client's request for the DeleteUserHierarchyGroup operation. The "output" return
  2445  // value will be populated with the request's response once the request completes
  2446  // successfully.
  2447  //
  2448  // Use "Send" method on the returned Request to send the API call to the service.
  2449  // the "output" return value is not valid until after Send returns without error.
  2450  //
  2451  // See DeleteUserHierarchyGroup for more information on using the DeleteUserHierarchyGroup
  2452  // API call, and error handling.
  2453  //
  2454  // This method is useful when you want to inject custom logic or configuration
  2455  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2456  //
  2457  //
  2458  //    // Example sending a request using the DeleteUserHierarchyGroupRequest method.
  2459  //    req, resp := client.DeleteUserHierarchyGroupRequest(params)
  2460  //
  2461  //    err := req.Send()
  2462  //    if err == nil { // resp is now filled
  2463  //        fmt.Println(resp)
  2464  //    }
  2465  //
  2466  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUserHierarchyGroup
  2467  func (c *Connect) DeleteUserHierarchyGroupRequest(input *DeleteUserHierarchyGroupInput) (req *request.Request, output *DeleteUserHierarchyGroupOutput) {
  2468  	op := &request.Operation{
  2469  		Name:       opDeleteUserHierarchyGroup,
  2470  		HTTPMethod: "DELETE",
  2471  		HTTPPath:   "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}",
  2472  	}
  2473  
  2474  	if input == nil {
  2475  		input = &DeleteUserHierarchyGroupInput{}
  2476  	}
  2477  
  2478  	output = &DeleteUserHierarchyGroupOutput{}
  2479  	req = c.newRequest(op, input, output)
  2480  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2481  	return
  2482  }
  2483  
  2484  // DeleteUserHierarchyGroup API operation for Amazon Connect Service.
  2485  //
  2486  // Deletes an existing user hierarchy group. It must not be associated with
  2487  // any agents or have any active child groups.
  2488  //
  2489  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2490  // with awserr.Error's Code and Message methods to get detailed information about
  2491  // the error.
  2492  //
  2493  // See the AWS API reference guide for Amazon Connect Service's
  2494  // API operation DeleteUserHierarchyGroup for usage and error information.
  2495  //
  2496  // Returned Error Types:
  2497  //   * InvalidRequestException
  2498  //   The request is not valid.
  2499  //
  2500  //   * InvalidParameterException
  2501  //   One or more of the specified parameters are not valid.
  2502  //
  2503  //   * ResourceNotFoundException
  2504  //   The specified resource was not found.
  2505  //
  2506  //   * ResourceInUseException
  2507  //   That resource is already in use. Please try another.
  2508  //
  2509  //   * ThrottlingException
  2510  //   The throttling limit has been exceeded.
  2511  //
  2512  //   * InternalServiceException
  2513  //   Request processing failed because of an error or failure with the service.
  2514  //
  2515  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteUserHierarchyGroup
  2516  func (c *Connect) DeleteUserHierarchyGroup(input *DeleteUserHierarchyGroupInput) (*DeleteUserHierarchyGroupOutput, error) {
  2517  	req, out := c.DeleteUserHierarchyGroupRequest(input)
  2518  	return out, req.Send()
  2519  }
  2520  
  2521  // DeleteUserHierarchyGroupWithContext is the same as DeleteUserHierarchyGroup with the addition of
  2522  // the ability to pass a context and additional request options.
  2523  //
  2524  // See DeleteUserHierarchyGroup for details on how to use this API operation.
  2525  //
  2526  // The context must be non-nil and will be used for request cancellation. If
  2527  // the context is nil a panic will occur. In the future the SDK may create
  2528  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2529  // for more information on using Contexts.
  2530  func (c *Connect) DeleteUserHierarchyGroupWithContext(ctx aws.Context, input *DeleteUserHierarchyGroupInput, opts ...request.Option) (*DeleteUserHierarchyGroupOutput, error) {
  2531  	req, out := c.DeleteUserHierarchyGroupRequest(input)
  2532  	req.SetContext(ctx)
  2533  	req.ApplyOptions(opts...)
  2534  	return out, req.Send()
  2535  }
  2536  
  2537  const opDescribeAgentStatus = "DescribeAgentStatus"
  2538  
  2539  // DescribeAgentStatusRequest generates a "aws/request.Request" representing the
  2540  // client's request for the DescribeAgentStatus operation. The "output" return
  2541  // value will be populated with the request's response once the request completes
  2542  // successfully.
  2543  //
  2544  // Use "Send" method on the returned Request to send the API call to the service.
  2545  // the "output" return value is not valid until after Send returns without error.
  2546  //
  2547  // See DescribeAgentStatus for more information on using the DescribeAgentStatus
  2548  // API call, and error handling.
  2549  //
  2550  // This method is useful when you want to inject custom logic or configuration
  2551  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2552  //
  2553  //
  2554  //    // Example sending a request using the DescribeAgentStatusRequest method.
  2555  //    req, resp := client.DescribeAgentStatusRequest(params)
  2556  //
  2557  //    err := req.Send()
  2558  //    if err == nil { // resp is now filled
  2559  //        fmt.Println(resp)
  2560  //    }
  2561  //
  2562  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeAgentStatus
  2563  func (c *Connect) DescribeAgentStatusRequest(input *DescribeAgentStatusInput) (req *request.Request, output *DescribeAgentStatusOutput) {
  2564  	op := &request.Operation{
  2565  		Name:       opDescribeAgentStatus,
  2566  		HTTPMethod: "GET",
  2567  		HTTPPath:   "/agent-status/{InstanceId}/{AgentStatusId}",
  2568  	}
  2569  
  2570  	if input == nil {
  2571  		input = &DescribeAgentStatusInput{}
  2572  	}
  2573  
  2574  	output = &DescribeAgentStatusOutput{}
  2575  	req = c.newRequest(op, input, output)
  2576  	return
  2577  }
  2578  
  2579  // DescribeAgentStatus API operation for Amazon Connect Service.
  2580  //
  2581  // This API is in preview release for Amazon Connect and is subject to change.
  2582  //
  2583  // Describes an agent status.
  2584  //
  2585  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2586  // with awserr.Error's Code and Message methods to get detailed information about
  2587  // the error.
  2588  //
  2589  // See the AWS API reference guide for Amazon Connect Service's
  2590  // API operation DescribeAgentStatus for usage and error information.
  2591  //
  2592  // Returned Error Types:
  2593  //   * InvalidRequestException
  2594  //   The request is not valid.
  2595  //
  2596  //   * InvalidParameterException
  2597  //   One or more of the specified parameters are not valid.
  2598  //
  2599  //   * ResourceNotFoundException
  2600  //   The specified resource was not found.
  2601  //
  2602  //   * ThrottlingException
  2603  //   The throttling limit has been exceeded.
  2604  //
  2605  //   * InternalServiceException
  2606  //   Request processing failed because of an error or failure with the service.
  2607  //
  2608  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeAgentStatus
  2609  func (c *Connect) DescribeAgentStatus(input *DescribeAgentStatusInput) (*DescribeAgentStatusOutput, error) {
  2610  	req, out := c.DescribeAgentStatusRequest(input)
  2611  	return out, req.Send()
  2612  }
  2613  
  2614  // DescribeAgentStatusWithContext is the same as DescribeAgentStatus with the addition of
  2615  // the ability to pass a context and additional request options.
  2616  //
  2617  // See DescribeAgentStatus for details on how to use this API operation.
  2618  //
  2619  // The context must be non-nil and will be used for request cancellation. If
  2620  // the context is nil a panic will occur. In the future the SDK may create
  2621  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2622  // for more information on using Contexts.
  2623  func (c *Connect) DescribeAgentStatusWithContext(ctx aws.Context, input *DescribeAgentStatusInput, opts ...request.Option) (*DescribeAgentStatusOutput, error) {
  2624  	req, out := c.DescribeAgentStatusRequest(input)
  2625  	req.SetContext(ctx)
  2626  	req.ApplyOptions(opts...)
  2627  	return out, req.Send()
  2628  }
  2629  
  2630  const opDescribeContactFlow = "DescribeContactFlow"
  2631  
  2632  // DescribeContactFlowRequest generates a "aws/request.Request" representing the
  2633  // client's request for the DescribeContactFlow operation. The "output" return
  2634  // value will be populated with the request's response once the request completes
  2635  // successfully.
  2636  //
  2637  // Use "Send" method on the returned Request to send the API call to the service.
  2638  // the "output" return value is not valid until after Send returns without error.
  2639  //
  2640  // See DescribeContactFlow for more information on using the DescribeContactFlow
  2641  // API call, and error handling.
  2642  //
  2643  // This method is useful when you want to inject custom logic or configuration
  2644  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2645  //
  2646  //
  2647  //    // Example sending a request using the DescribeContactFlowRequest method.
  2648  //    req, resp := client.DescribeContactFlowRequest(params)
  2649  //
  2650  //    err := req.Send()
  2651  //    if err == nil { // resp is now filled
  2652  //        fmt.Println(resp)
  2653  //    }
  2654  //
  2655  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactFlow
  2656  func (c *Connect) DescribeContactFlowRequest(input *DescribeContactFlowInput) (req *request.Request, output *DescribeContactFlowOutput) {
  2657  	op := &request.Operation{
  2658  		Name:       opDescribeContactFlow,
  2659  		HTTPMethod: "GET",
  2660  		HTTPPath:   "/contact-flows/{InstanceId}/{ContactFlowId}",
  2661  	}
  2662  
  2663  	if input == nil {
  2664  		input = &DescribeContactFlowInput{}
  2665  	}
  2666  
  2667  	output = &DescribeContactFlowOutput{}
  2668  	req = c.newRequest(op, input, output)
  2669  	return
  2670  }
  2671  
  2672  // DescribeContactFlow API operation for Amazon Connect Service.
  2673  //
  2674  // Describes the specified contact flow.
  2675  //
  2676  // You can also create and update contact flows using the Amazon Connect Flow
  2677  // language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
  2678  //
  2679  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2680  // with awserr.Error's Code and Message methods to get detailed information about
  2681  // the error.
  2682  //
  2683  // See the AWS API reference guide for Amazon Connect Service's
  2684  // API operation DescribeContactFlow for usage and error information.
  2685  //
  2686  // Returned Error Types:
  2687  //   * InvalidRequestException
  2688  //   The request is not valid.
  2689  //
  2690  //   * InvalidParameterException
  2691  //   One or more of the specified parameters are not valid.
  2692  //
  2693  //   * ResourceNotFoundException
  2694  //   The specified resource was not found.
  2695  //
  2696  //   * ContactFlowNotPublishedException
  2697  //   The contact flow has not been published.
  2698  //
  2699  //   * ThrottlingException
  2700  //   The throttling limit has been exceeded.
  2701  //
  2702  //   * InternalServiceException
  2703  //   Request processing failed because of an error or failure with the service.
  2704  //
  2705  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeContactFlow
  2706  func (c *Connect) DescribeContactFlow(input *DescribeContactFlowInput) (*DescribeContactFlowOutput, error) {
  2707  	req, out := c.DescribeContactFlowRequest(input)
  2708  	return out, req.Send()
  2709  }
  2710  
  2711  // DescribeContactFlowWithContext is the same as DescribeContactFlow with the addition of
  2712  // the ability to pass a context and additional request options.
  2713  //
  2714  // See DescribeContactFlow for details on how to use this API operation.
  2715  //
  2716  // The context must be non-nil and will be used for request cancellation. If
  2717  // the context is nil a panic will occur. In the future the SDK may create
  2718  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2719  // for more information on using Contexts.
  2720  func (c *Connect) DescribeContactFlowWithContext(ctx aws.Context, input *DescribeContactFlowInput, opts ...request.Option) (*DescribeContactFlowOutput, error) {
  2721  	req, out := c.DescribeContactFlowRequest(input)
  2722  	req.SetContext(ctx)
  2723  	req.ApplyOptions(opts...)
  2724  	return out, req.Send()
  2725  }
  2726  
  2727  const opDescribeHoursOfOperation = "DescribeHoursOfOperation"
  2728  
  2729  // DescribeHoursOfOperationRequest generates a "aws/request.Request" representing the
  2730  // client's request for the DescribeHoursOfOperation operation. The "output" return
  2731  // value will be populated with the request's response once the request completes
  2732  // successfully.
  2733  //
  2734  // Use "Send" method on the returned Request to send the API call to the service.
  2735  // the "output" return value is not valid until after Send returns without error.
  2736  //
  2737  // See DescribeHoursOfOperation for more information on using the DescribeHoursOfOperation
  2738  // API call, and error handling.
  2739  //
  2740  // This method is useful when you want to inject custom logic or configuration
  2741  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2742  //
  2743  //
  2744  //    // Example sending a request using the DescribeHoursOfOperationRequest method.
  2745  //    req, resp := client.DescribeHoursOfOperationRequest(params)
  2746  //
  2747  //    err := req.Send()
  2748  //    if err == nil { // resp is now filled
  2749  //        fmt.Println(resp)
  2750  //    }
  2751  //
  2752  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeHoursOfOperation
  2753  func (c *Connect) DescribeHoursOfOperationRequest(input *DescribeHoursOfOperationInput) (req *request.Request, output *DescribeHoursOfOperationOutput) {
  2754  	op := &request.Operation{
  2755  		Name:       opDescribeHoursOfOperation,
  2756  		HTTPMethod: "GET",
  2757  		HTTPPath:   "/hours-of-operations/{InstanceId}/{HoursOfOperationId}",
  2758  	}
  2759  
  2760  	if input == nil {
  2761  		input = &DescribeHoursOfOperationInput{}
  2762  	}
  2763  
  2764  	output = &DescribeHoursOfOperationOutput{}
  2765  	req = c.newRequest(op, input, output)
  2766  	return
  2767  }
  2768  
  2769  // DescribeHoursOfOperation API operation for Amazon Connect Service.
  2770  //
  2771  // This API is in preview release for Amazon Connect and is subject to change.
  2772  //
  2773  // Describes the hours of operation.
  2774  //
  2775  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2776  // with awserr.Error's Code and Message methods to get detailed information about
  2777  // the error.
  2778  //
  2779  // See the AWS API reference guide for Amazon Connect Service's
  2780  // API operation DescribeHoursOfOperation for usage and error information.
  2781  //
  2782  // Returned Error Types:
  2783  //   * InvalidRequestException
  2784  //   The request is not valid.
  2785  //
  2786  //   * InvalidParameterException
  2787  //   One or more of the specified parameters are not valid.
  2788  //
  2789  //   * ResourceNotFoundException
  2790  //   The specified resource was not found.
  2791  //
  2792  //   * ThrottlingException
  2793  //   The throttling limit has been exceeded.
  2794  //
  2795  //   * InternalServiceException
  2796  //   Request processing failed because of an error or failure with the service.
  2797  //
  2798  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeHoursOfOperation
  2799  func (c *Connect) DescribeHoursOfOperation(input *DescribeHoursOfOperationInput) (*DescribeHoursOfOperationOutput, error) {
  2800  	req, out := c.DescribeHoursOfOperationRequest(input)
  2801  	return out, req.Send()
  2802  }
  2803  
  2804  // DescribeHoursOfOperationWithContext is the same as DescribeHoursOfOperation with the addition of
  2805  // the ability to pass a context and additional request options.
  2806  //
  2807  // See DescribeHoursOfOperation for details on how to use this API operation.
  2808  //
  2809  // The context must be non-nil and will be used for request cancellation. If
  2810  // the context is nil a panic will occur. In the future the SDK may create
  2811  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2812  // for more information on using Contexts.
  2813  func (c *Connect) DescribeHoursOfOperationWithContext(ctx aws.Context, input *DescribeHoursOfOperationInput, opts ...request.Option) (*DescribeHoursOfOperationOutput, error) {
  2814  	req, out := c.DescribeHoursOfOperationRequest(input)
  2815  	req.SetContext(ctx)
  2816  	req.ApplyOptions(opts...)
  2817  	return out, req.Send()
  2818  }
  2819  
  2820  const opDescribeInstance = "DescribeInstance"
  2821  
  2822  // DescribeInstanceRequest generates a "aws/request.Request" representing the
  2823  // client's request for the DescribeInstance operation. The "output" return
  2824  // value will be populated with the request's response once the request completes
  2825  // successfully.
  2826  //
  2827  // Use "Send" method on the returned Request to send the API call to the service.
  2828  // the "output" return value is not valid until after Send returns without error.
  2829  //
  2830  // See DescribeInstance for more information on using the DescribeInstance
  2831  // API call, and error handling.
  2832  //
  2833  // This method is useful when you want to inject custom logic or configuration
  2834  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2835  //
  2836  //
  2837  //    // Example sending a request using the DescribeInstanceRequest method.
  2838  //    req, resp := client.DescribeInstanceRequest(params)
  2839  //
  2840  //    err := req.Send()
  2841  //    if err == nil { // resp is now filled
  2842  //        fmt.Println(resp)
  2843  //    }
  2844  //
  2845  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstance
  2846  func (c *Connect) DescribeInstanceRequest(input *DescribeInstanceInput) (req *request.Request, output *DescribeInstanceOutput) {
  2847  	op := &request.Operation{
  2848  		Name:       opDescribeInstance,
  2849  		HTTPMethod: "GET",
  2850  		HTTPPath:   "/instance/{InstanceId}",
  2851  	}
  2852  
  2853  	if input == nil {
  2854  		input = &DescribeInstanceInput{}
  2855  	}
  2856  
  2857  	output = &DescribeInstanceOutput{}
  2858  	req = c.newRequest(op, input, output)
  2859  	return
  2860  }
  2861  
  2862  // DescribeInstance API operation for Amazon Connect Service.
  2863  //
  2864  // This API is in preview release for Amazon Connect and is subject to change.
  2865  //
  2866  // Returns the current state of the specified instance identifier. It tracks
  2867  // the instance while it is being created and returns an error status, if applicable.
  2868  //
  2869  // If an instance is not created successfully, the instance status reason field
  2870  // returns details relevant to the reason. The instance in a failed state is
  2871  // returned only for 24 hours after the CreateInstance API was invoked.
  2872  //
  2873  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2874  // with awserr.Error's Code and Message methods to get detailed information about
  2875  // the error.
  2876  //
  2877  // See the AWS API reference guide for Amazon Connect Service's
  2878  // API operation DescribeInstance for usage and error information.
  2879  //
  2880  // Returned Error Types:
  2881  //   * InvalidRequestException
  2882  //   The request is not valid.
  2883  //
  2884  //   * ResourceNotFoundException
  2885  //   The specified resource was not found.
  2886  //
  2887  //   * InternalServiceException
  2888  //   Request processing failed because of an error or failure with the service.
  2889  //
  2890  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstance
  2891  func (c *Connect) DescribeInstance(input *DescribeInstanceInput) (*DescribeInstanceOutput, error) {
  2892  	req, out := c.DescribeInstanceRequest(input)
  2893  	return out, req.Send()
  2894  }
  2895  
  2896  // DescribeInstanceWithContext is the same as DescribeInstance with the addition of
  2897  // the ability to pass a context and additional request options.
  2898  //
  2899  // See DescribeInstance for details on how to use this API operation.
  2900  //
  2901  // The context must be non-nil and will be used for request cancellation. If
  2902  // the context is nil a panic will occur. In the future the SDK may create
  2903  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2904  // for more information on using Contexts.
  2905  func (c *Connect) DescribeInstanceWithContext(ctx aws.Context, input *DescribeInstanceInput, opts ...request.Option) (*DescribeInstanceOutput, error) {
  2906  	req, out := c.DescribeInstanceRequest(input)
  2907  	req.SetContext(ctx)
  2908  	req.ApplyOptions(opts...)
  2909  	return out, req.Send()
  2910  }
  2911  
  2912  const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  2913  
  2914  // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  2915  // client's request for the DescribeInstanceAttribute operation. The "output" return
  2916  // value will be populated with the request's response once the request completes
  2917  // successfully.
  2918  //
  2919  // Use "Send" method on the returned Request to send the API call to the service.
  2920  // the "output" return value is not valid until after Send returns without error.
  2921  //
  2922  // See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
  2923  // API call, and error handling.
  2924  //
  2925  // This method is useful when you want to inject custom logic or configuration
  2926  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2927  //
  2928  //
  2929  //    // Example sending a request using the DescribeInstanceAttributeRequest method.
  2930  //    req, resp := client.DescribeInstanceAttributeRequest(params)
  2931  //
  2932  //    err := req.Send()
  2933  //    if err == nil { // resp is now filled
  2934  //        fmt.Println(resp)
  2935  //    }
  2936  //
  2937  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute
  2938  func (c *Connect) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  2939  	op := &request.Operation{
  2940  		Name:       opDescribeInstanceAttribute,
  2941  		HTTPMethod: "GET",
  2942  		HTTPPath:   "/instance/{InstanceId}/attribute/{AttributeType}",
  2943  	}
  2944  
  2945  	if input == nil {
  2946  		input = &DescribeInstanceAttributeInput{}
  2947  	}
  2948  
  2949  	output = &DescribeInstanceAttributeOutput{}
  2950  	req = c.newRequest(op, input, output)
  2951  	return
  2952  }
  2953  
  2954  // DescribeInstanceAttribute API operation for Amazon Connect Service.
  2955  //
  2956  // This API is in preview release for Amazon Connect and is subject to change.
  2957  //
  2958  // Describes the specified instance attribute.
  2959  //
  2960  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2961  // with awserr.Error's Code and Message methods to get detailed information about
  2962  // the error.
  2963  //
  2964  // See the AWS API reference guide for Amazon Connect Service's
  2965  // API operation DescribeInstanceAttribute for usage and error information.
  2966  //
  2967  // Returned Error Types:
  2968  //   * ResourceNotFoundException
  2969  //   The specified resource was not found.
  2970  //
  2971  //   * InternalServiceException
  2972  //   Request processing failed because of an error or failure with the service.
  2973  //
  2974  //   * InvalidRequestException
  2975  //   The request is not valid.
  2976  //
  2977  //   * InvalidParameterException
  2978  //   One or more of the specified parameters are not valid.
  2979  //
  2980  //   * ThrottlingException
  2981  //   The throttling limit has been exceeded.
  2982  //
  2983  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceAttribute
  2984  func (c *Connect) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  2985  	req, out := c.DescribeInstanceAttributeRequest(input)
  2986  	return out, req.Send()
  2987  }
  2988  
  2989  // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  2990  // the ability to pass a context and additional request options.
  2991  //
  2992  // See DescribeInstanceAttribute for details on how to use this API operation.
  2993  //
  2994  // The context must be non-nil and will be used for request cancellation. If
  2995  // the context is nil a panic will occur. In the future the SDK may create
  2996  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2997  // for more information on using Contexts.
  2998  func (c *Connect) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  2999  	req, out := c.DescribeInstanceAttributeRequest(input)
  3000  	req.SetContext(ctx)
  3001  	req.ApplyOptions(opts...)
  3002  	return out, req.Send()
  3003  }
  3004  
  3005  const opDescribeInstanceStorageConfig = "DescribeInstanceStorageConfig"
  3006  
  3007  // DescribeInstanceStorageConfigRequest generates a "aws/request.Request" representing the
  3008  // client's request for the DescribeInstanceStorageConfig operation. The "output" return
  3009  // value will be populated with the request's response once the request completes
  3010  // successfully.
  3011  //
  3012  // Use "Send" method on the returned Request to send the API call to the service.
  3013  // the "output" return value is not valid until after Send returns without error.
  3014  //
  3015  // See DescribeInstanceStorageConfig for more information on using the DescribeInstanceStorageConfig
  3016  // API call, and error handling.
  3017  //
  3018  // This method is useful when you want to inject custom logic or configuration
  3019  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3020  //
  3021  //
  3022  //    // Example sending a request using the DescribeInstanceStorageConfigRequest method.
  3023  //    req, resp := client.DescribeInstanceStorageConfigRequest(params)
  3024  //
  3025  //    err := req.Send()
  3026  //    if err == nil { // resp is now filled
  3027  //        fmt.Println(resp)
  3028  //    }
  3029  //
  3030  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceStorageConfig
  3031  func (c *Connect) DescribeInstanceStorageConfigRequest(input *DescribeInstanceStorageConfigInput) (req *request.Request, output *DescribeInstanceStorageConfigOutput) {
  3032  	op := &request.Operation{
  3033  		Name:       opDescribeInstanceStorageConfig,
  3034  		HTTPMethod: "GET",
  3035  		HTTPPath:   "/instance/{InstanceId}/storage-config/{AssociationId}",
  3036  	}
  3037  
  3038  	if input == nil {
  3039  		input = &DescribeInstanceStorageConfigInput{}
  3040  	}
  3041  
  3042  	output = &DescribeInstanceStorageConfigOutput{}
  3043  	req = c.newRequest(op, input, output)
  3044  	return
  3045  }
  3046  
  3047  // DescribeInstanceStorageConfig API operation for Amazon Connect Service.
  3048  //
  3049  // This API is in preview release for Amazon Connect and is subject to change.
  3050  //
  3051  // Retrieves the current storage configurations for the specified resource type,
  3052  // association ID, and instance ID.
  3053  //
  3054  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3055  // with awserr.Error's Code and Message methods to get detailed information about
  3056  // the error.
  3057  //
  3058  // See the AWS API reference guide for Amazon Connect Service's
  3059  // API operation DescribeInstanceStorageConfig for usage and error information.
  3060  //
  3061  // Returned Error Types:
  3062  //   * ResourceNotFoundException
  3063  //   The specified resource was not found.
  3064  //
  3065  //   * InternalServiceException
  3066  //   Request processing failed because of an error or failure with the service.
  3067  //
  3068  //   * InvalidRequestException
  3069  //   The request is not valid.
  3070  //
  3071  //   * InvalidParameterException
  3072  //   One or more of the specified parameters are not valid.
  3073  //
  3074  //   * ThrottlingException
  3075  //   The throttling limit has been exceeded.
  3076  //
  3077  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeInstanceStorageConfig
  3078  func (c *Connect) DescribeInstanceStorageConfig(input *DescribeInstanceStorageConfigInput) (*DescribeInstanceStorageConfigOutput, error) {
  3079  	req, out := c.DescribeInstanceStorageConfigRequest(input)
  3080  	return out, req.Send()
  3081  }
  3082  
  3083  // DescribeInstanceStorageConfigWithContext is the same as DescribeInstanceStorageConfig with the addition of
  3084  // the ability to pass a context and additional request options.
  3085  //
  3086  // See DescribeInstanceStorageConfig for details on how to use this API operation.
  3087  //
  3088  // The context must be non-nil and will be used for request cancellation. If
  3089  // the context is nil a panic will occur. In the future the SDK may create
  3090  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3091  // for more information on using Contexts.
  3092  func (c *Connect) DescribeInstanceStorageConfigWithContext(ctx aws.Context, input *DescribeInstanceStorageConfigInput, opts ...request.Option) (*DescribeInstanceStorageConfigOutput, error) {
  3093  	req, out := c.DescribeInstanceStorageConfigRequest(input)
  3094  	req.SetContext(ctx)
  3095  	req.ApplyOptions(opts...)
  3096  	return out, req.Send()
  3097  }
  3098  
  3099  const opDescribeQueue = "DescribeQueue"
  3100  
  3101  // DescribeQueueRequest generates a "aws/request.Request" representing the
  3102  // client's request for the DescribeQueue operation. The "output" return
  3103  // value will be populated with the request's response once the request completes
  3104  // successfully.
  3105  //
  3106  // Use "Send" method on the returned Request to send the API call to the service.
  3107  // the "output" return value is not valid until after Send returns without error.
  3108  //
  3109  // See DescribeQueue for more information on using the DescribeQueue
  3110  // API call, and error handling.
  3111  //
  3112  // This method is useful when you want to inject custom logic or configuration
  3113  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3114  //
  3115  //
  3116  //    // Example sending a request using the DescribeQueueRequest method.
  3117  //    req, resp := client.DescribeQueueRequest(params)
  3118  //
  3119  //    err := req.Send()
  3120  //    if err == nil { // resp is now filled
  3121  //        fmt.Println(resp)
  3122  //    }
  3123  //
  3124  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQueue
  3125  func (c *Connect) DescribeQueueRequest(input *DescribeQueueInput) (req *request.Request, output *DescribeQueueOutput) {
  3126  	op := &request.Operation{
  3127  		Name:       opDescribeQueue,
  3128  		HTTPMethod: "GET",
  3129  		HTTPPath:   "/queues/{InstanceId}/{QueueId}",
  3130  	}
  3131  
  3132  	if input == nil {
  3133  		input = &DescribeQueueInput{}
  3134  	}
  3135  
  3136  	output = &DescribeQueueOutput{}
  3137  	req = c.newRequest(op, input, output)
  3138  	return
  3139  }
  3140  
  3141  // DescribeQueue API operation for Amazon Connect Service.
  3142  //
  3143  // This API is in preview release for Amazon Connect and is subject to change.
  3144  //
  3145  // Describes the specified queue.
  3146  //
  3147  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3148  // with awserr.Error's Code and Message methods to get detailed information about
  3149  // the error.
  3150  //
  3151  // See the AWS API reference guide for Amazon Connect Service's
  3152  // API operation DescribeQueue for usage and error information.
  3153  //
  3154  // Returned Error Types:
  3155  //   * InvalidRequestException
  3156  //   The request is not valid.
  3157  //
  3158  //   * InvalidParameterException
  3159  //   One or more of the specified parameters are not valid.
  3160  //
  3161  //   * ResourceNotFoundException
  3162  //   The specified resource was not found.
  3163  //
  3164  //   * ThrottlingException
  3165  //   The throttling limit has been exceeded.
  3166  //
  3167  //   * InternalServiceException
  3168  //   Request processing failed because of an error or failure with the service.
  3169  //
  3170  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQueue
  3171  func (c *Connect) DescribeQueue(input *DescribeQueueInput) (*DescribeQueueOutput, error) {
  3172  	req, out := c.DescribeQueueRequest(input)
  3173  	return out, req.Send()
  3174  }
  3175  
  3176  // DescribeQueueWithContext is the same as DescribeQueue with the addition of
  3177  // the ability to pass a context and additional request options.
  3178  //
  3179  // See DescribeQueue for details on how to use this API operation.
  3180  //
  3181  // The context must be non-nil and will be used for request cancellation. If
  3182  // the context is nil a panic will occur. In the future the SDK may create
  3183  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3184  // for more information on using Contexts.
  3185  func (c *Connect) DescribeQueueWithContext(ctx aws.Context, input *DescribeQueueInput, opts ...request.Option) (*DescribeQueueOutput, error) {
  3186  	req, out := c.DescribeQueueRequest(input)
  3187  	req.SetContext(ctx)
  3188  	req.ApplyOptions(opts...)
  3189  	return out, req.Send()
  3190  }
  3191  
  3192  const opDescribeQuickConnect = "DescribeQuickConnect"
  3193  
  3194  // DescribeQuickConnectRequest generates a "aws/request.Request" representing the
  3195  // client's request for the DescribeQuickConnect operation. The "output" return
  3196  // value will be populated with the request's response once the request completes
  3197  // successfully.
  3198  //
  3199  // Use "Send" method on the returned Request to send the API call to the service.
  3200  // the "output" return value is not valid until after Send returns without error.
  3201  //
  3202  // See DescribeQuickConnect for more information on using the DescribeQuickConnect
  3203  // API call, and error handling.
  3204  //
  3205  // This method is useful when you want to inject custom logic or configuration
  3206  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3207  //
  3208  //
  3209  //    // Example sending a request using the DescribeQuickConnectRequest method.
  3210  //    req, resp := client.DescribeQuickConnectRequest(params)
  3211  //
  3212  //    err := req.Send()
  3213  //    if err == nil { // resp is now filled
  3214  //        fmt.Println(resp)
  3215  //    }
  3216  //
  3217  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQuickConnect
  3218  func (c *Connect) DescribeQuickConnectRequest(input *DescribeQuickConnectInput) (req *request.Request, output *DescribeQuickConnectOutput) {
  3219  	op := &request.Operation{
  3220  		Name:       opDescribeQuickConnect,
  3221  		HTTPMethod: "GET",
  3222  		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}",
  3223  	}
  3224  
  3225  	if input == nil {
  3226  		input = &DescribeQuickConnectInput{}
  3227  	}
  3228  
  3229  	output = &DescribeQuickConnectOutput{}
  3230  	req = c.newRequest(op, input, output)
  3231  	return
  3232  }
  3233  
  3234  // DescribeQuickConnect API operation for Amazon Connect Service.
  3235  //
  3236  // Describes the quick connect.
  3237  //
  3238  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3239  // with awserr.Error's Code and Message methods to get detailed information about
  3240  // the error.
  3241  //
  3242  // See the AWS API reference guide for Amazon Connect Service's
  3243  // API operation DescribeQuickConnect for usage and error information.
  3244  //
  3245  // Returned Error Types:
  3246  //   * InvalidRequestException
  3247  //   The request is not valid.
  3248  //
  3249  //   * InvalidParameterException
  3250  //   One or more of the specified parameters are not valid.
  3251  //
  3252  //   * ResourceNotFoundException
  3253  //   The specified resource was not found.
  3254  //
  3255  //   * ThrottlingException
  3256  //   The throttling limit has been exceeded.
  3257  //
  3258  //   * InternalServiceException
  3259  //   Request processing failed because of an error or failure with the service.
  3260  //
  3261  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeQuickConnect
  3262  func (c *Connect) DescribeQuickConnect(input *DescribeQuickConnectInput) (*DescribeQuickConnectOutput, error) {
  3263  	req, out := c.DescribeQuickConnectRequest(input)
  3264  	return out, req.Send()
  3265  }
  3266  
  3267  // DescribeQuickConnectWithContext is the same as DescribeQuickConnect with the addition of
  3268  // the ability to pass a context and additional request options.
  3269  //
  3270  // See DescribeQuickConnect for details on how to use this API operation.
  3271  //
  3272  // The context must be non-nil and will be used for request cancellation. If
  3273  // the context is nil a panic will occur. In the future the SDK may create
  3274  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3275  // for more information on using Contexts.
  3276  func (c *Connect) DescribeQuickConnectWithContext(ctx aws.Context, input *DescribeQuickConnectInput, opts ...request.Option) (*DescribeQuickConnectOutput, error) {
  3277  	req, out := c.DescribeQuickConnectRequest(input)
  3278  	req.SetContext(ctx)
  3279  	req.ApplyOptions(opts...)
  3280  	return out, req.Send()
  3281  }
  3282  
  3283  const opDescribeRoutingProfile = "DescribeRoutingProfile"
  3284  
  3285  // DescribeRoutingProfileRequest generates a "aws/request.Request" representing the
  3286  // client's request for the DescribeRoutingProfile operation. The "output" return
  3287  // value will be populated with the request's response once the request completes
  3288  // successfully.
  3289  //
  3290  // Use "Send" method on the returned Request to send the API call to the service.
  3291  // the "output" return value is not valid until after Send returns without error.
  3292  //
  3293  // See DescribeRoutingProfile for more information on using the DescribeRoutingProfile
  3294  // API call, and error handling.
  3295  //
  3296  // This method is useful when you want to inject custom logic or configuration
  3297  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3298  //
  3299  //
  3300  //    // Example sending a request using the DescribeRoutingProfileRequest method.
  3301  //    req, resp := client.DescribeRoutingProfileRequest(params)
  3302  //
  3303  //    err := req.Send()
  3304  //    if err == nil { // resp is now filled
  3305  //        fmt.Println(resp)
  3306  //    }
  3307  //
  3308  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeRoutingProfile
  3309  func (c *Connect) DescribeRoutingProfileRequest(input *DescribeRoutingProfileInput) (req *request.Request, output *DescribeRoutingProfileOutput) {
  3310  	op := &request.Operation{
  3311  		Name:       opDescribeRoutingProfile,
  3312  		HTTPMethod: "GET",
  3313  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}",
  3314  	}
  3315  
  3316  	if input == nil {
  3317  		input = &DescribeRoutingProfileInput{}
  3318  	}
  3319  
  3320  	output = &DescribeRoutingProfileOutput{}
  3321  	req = c.newRequest(op, input, output)
  3322  	return
  3323  }
  3324  
  3325  // DescribeRoutingProfile API operation for Amazon Connect Service.
  3326  //
  3327  // Describes the specified routing profile.
  3328  //
  3329  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3330  // with awserr.Error's Code and Message methods to get detailed information about
  3331  // the error.
  3332  //
  3333  // See the AWS API reference guide for Amazon Connect Service's
  3334  // API operation DescribeRoutingProfile for usage and error information.
  3335  //
  3336  // Returned Error Types:
  3337  //   * InvalidRequestException
  3338  //   The request is not valid.
  3339  //
  3340  //   * InvalidParameterException
  3341  //   One or more of the specified parameters are not valid.
  3342  //
  3343  //   * ResourceNotFoundException
  3344  //   The specified resource was not found.
  3345  //
  3346  //   * ThrottlingException
  3347  //   The throttling limit has been exceeded.
  3348  //
  3349  //   * InternalServiceException
  3350  //   Request processing failed because of an error or failure with the service.
  3351  //
  3352  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeRoutingProfile
  3353  func (c *Connect) DescribeRoutingProfile(input *DescribeRoutingProfileInput) (*DescribeRoutingProfileOutput, error) {
  3354  	req, out := c.DescribeRoutingProfileRequest(input)
  3355  	return out, req.Send()
  3356  }
  3357  
  3358  // DescribeRoutingProfileWithContext is the same as DescribeRoutingProfile with the addition of
  3359  // the ability to pass a context and additional request options.
  3360  //
  3361  // See DescribeRoutingProfile for details on how to use this API operation.
  3362  //
  3363  // The context must be non-nil and will be used for request cancellation. If
  3364  // the context is nil a panic will occur. In the future the SDK may create
  3365  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3366  // for more information on using Contexts.
  3367  func (c *Connect) DescribeRoutingProfileWithContext(ctx aws.Context, input *DescribeRoutingProfileInput, opts ...request.Option) (*DescribeRoutingProfileOutput, error) {
  3368  	req, out := c.DescribeRoutingProfileRequest(input)
  3369  	req.SetContext(ctx)
  3370  	req.ApplyOptions(opts...)
  3371  	return out, req.Send()
  3372  }
  3373  
  3374  const opDescribeUser = "DescribeUser"
  3375  
  3376  // DescribeUserRequest generates a "aws/request.Request" representing the
  3377  // client's request for the DescribeUser operation. The "output" return
  3378  // value will be populated with the request's response once the request completes
  3379  // successfully.
  3380  //
  3381  // Use "Send" method on the returned Request to send the API call to the service.
  3382  // the "output" return value is not valid until after Send returns without error.
  3383  //
  3384  // See DescribeUser for more information on using the DescribeUser
  3385  // API call, and error handling.
  3386  //
  3387  // This method is useful when you want to inject custom logic or configuration
  3388  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3389  //
  3390  //
  3391  //    // Example sending a request using the DescribeUserRequest method.
  3392  //    req, resp := client.DescribeUserRequest(params)
  3393  //
  3394  //    err := req.Send()
  3395  //    if err == nil { // resp is now filled
  3396  //        fmt.Println(resp)
  3397  //    }
  3398  //
  3399  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser
  3400  func (c *Connect) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) {
  3401  	op := &request.Operation{
  3402  		Name:       opDescribeUser,
  3403  		HTTPMethod: "GET",
  3404  		HTTPPath:   "/users/{InstanceId}/{UserId}",
  3405  	}
  3406  
  3407  	if input == nil {
  3408  		input = &DescribeUserInput{}
  3409  	}
  3410  
  3411  	output = &DescribeUserOutput{}
  3412  	req = c.newRequest(op, input, output)
  3413  	return
  3414  }
  3415  
  3416  // DescribeUser API operation for Amazon Connect Service.
  3417  //
  3418  // Describes the specified user account. You can find the instance ID in the
  3419  // console (it’s the final part of the ARN). The console does not display
  3420  // the user IDs. Instead, list the users and note the IDs provided in the output.
  3421  //
  3422  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3423  // with awserr.Error's Code and Message methods to get detailed information about
  3424  // the error.
  3425  //
  3426  // See the AWS API reference guide for Amazon Connect Service's
  3427  // API operation DescribeUser for usage and error information.
  3428  //
  3429  // Returned Error Types:
  3430  //   * InvalidRequestException
  3431  //   The request is not valid.
  3432  //
  3433  //   * InvalidParameterException
  3434  //   One or more of the specified parameters are not valid.
  3435  //
  3436  //   * ResourceNotFoundException
  3437  //   The specified resource was not found.
  3438  //
  3439  //   * ThrottlingException
  3440  //   The throttling limit has been exceeded.
  3441  //
  3442  //   * InternalServiceException
  3443  //   Request processing failed because of an error or failure with the service.
  3444  //
  3445  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUser
  3446  func (c *Connect) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) {
  3447  	req, out := c.DescribeUserRequest(input)
  3448  	return out, req.Send()
  3449  }
  3450  
  3451  // DescribeUserWithContext is the same as DescribeUser with the addition of
  3452  // the ability to pass a context and additional request options.
  3453  //
  3454  // See DescribeUser for details on how to use this API operation.
  3455  //
  3456  // The context must be non-nil and will be used for request cancellation. If
  3457  // the context is nil a panic will occur. In the future the SDK may create
  3458  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3459  // for more information on using Contexts.
  3460  func (c *Connect) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) {
  3461  	req, out := c.DescribeUserRequest(input)
  3462  	req.SetContext(ctx)
  3463  	req.ApplyOptions(opts...)
  3464  	return out, req.Send()
  3465  }
  3466  
  3467  const opDescribeUserHierarchyGroup = "DescribeUserHierarchyGroup"
  3468  
  3469  // DescribeUserHierarchyGroupRequest generates a "aws/request.Request" representing the
  3470  // client's request for the DescribeUserHierarchyGroup operation. The "output" return
  3471  // value will be populated with the request's response once the request completes
  3472  // successfully.
  3473  //
  3474  // Use "Send" method on the returned Request to send the API call to the service.
  3475  // the "output" return value is not valid until after Send returns without error.
  3476  //
  3477  // See DescribeUserHierarchyGroup for more information on using the DescribeUserHierarchyGroup
  3478  // API call, and error handling.
  3479  //
  3480  // This method is useful when you want to inject custom logic or configuration
  3481  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3482  //
  3483  //
  3484  //    // Example sending a request using the DescribeUserHierarchyGroupRequest method.
  3485  //    req, resp := client.DescribeUserHierarchyGroupRequest(params)
  3486  //
  3487  //    err := req.Send()
  3488  //    if err == nil { // resp is now filled
  3489  //        fmt.Println(resp)
  3490  //    }
  3491  //
  3492  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup
  3493  func (c *Connect) DescribeUserHierarchyGroupRequest(input *DescribeUserHierarchyGroupInput) (req *request.Request, output *DescribeUserHierarchyGroupOutput) {
  3494  	op := &request.Operation{
  3495  		Name:       opDescribeUserHierarchyGroup,
  3496  		HTTPMethod: "GET",
  3497  		HTTPPath:   "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}",
  3498  	}
  3499  
  3500  	if input == nil {
  3501  		input = &DescribeUserHierarchyGroupInput{}
  3502  	}
  3503  
  3504  	output = &DescribeUserHierarchyGroupOutput{}
  3505  	req = c.newRequest(op, input, output)
  3506  	return
  3507  }
  3508  
  3509  // DescribeUserHierarchyGroup API operation for Amazon Connect Service.
  3510  //
  3511  // Describes the specified hierarchy group.
  3512  //
  3513  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3514  // with awserr.Error's Code and Message methods to get detailed information about
  3515  // the error.
  3516  //
  3517  // See the AWS API reference guide for Amazon Connect Service's
  3518  // API operation DescribeUserHierarchyGroup for usage and error information.
  3519  //
  3520  // Returned Error Types:
  3521  //   * InvalidRequestException
  3522  //   The request is not valid.
  3523  //
  3524  //   * InvalidParameterException
  3525  //   One or more of the specified parameters are not valid.
  3526  //
  3527  //   * ResourceNotFoundException
  3528  //   The specified resource was not found.
  3529  //
  3530  //   * ThrottlingException
  3531  //   The throttling limit has been exceeded.
  3532  //
  3533  //   * InternalServiceException
  3534  //   Request processing failed because of an error or failure with the service.
  3535  //
  3536  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyGroup
  3537  func (c *Connect) DescribeUserHierarchyGroup(input *DescribeUserHierarchyGroupInput) (*DescribeUserHierarchyGroupOutput, error) {
  3538  	req, out := c.DescribeUserHierarchyGroupRequest(input)
  3539  	return out, req.Send()
  3540  }
  3541  
  3542  // DescribeUserHierarchyGroupWithContext is the same as DescribeUserHierarchyGroup with the addition of
  3543  // the ability to pass a context and additional request options.
  3544  //
  3545  // See DescribeUserHierarchyGroup for details on how to use this API operation.
  3546  //
  3547  // The context must be non-nil and will be used for request cancellation. If
  3548  // the context is nil a panic will occur. In the future the SDK may create
  3549  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3550  // for more information on using Contexts.
  3551  func (c *Connect) DescribeUserHierarchyGroupWithContext(ctx aws.Context, input *DescribeUserHierarchyGroupInput, opts ...request.Option) (*DescribeUserHierarchyGroupOutput, error) {
  3552  	req, out := c.DescribeUserHierarchyGroupRequest(input)
  3553  	req.SetContext(ctx)
  3554  	req.ApplyOptions(opts...)
  3555  	return out, req.Send()
  3556  }
  3557  
  3558  const opDescribeUserHierarchyStructure = "DescribeUserHierarchyStructure"
  3559  
  3560  // DescribeUserHierarchyStructureRequest generates a "aws/request.Request" representing the
  3561  // client's request for the DescribeUserHierarchyStructure operation. The "output" return
  3562  // value will be populated with the request's response once the request completes
  3563  // successfully.
  3564  //
  3565  // Use "Send" method on the returned Request to send the API call to the service.
  3566  // the "output" return value is not valid until after Send returns without error.
  3567  //
  3568  // See DescribeUserHierarchyStructure for more information on using the DescribeUserHierarchyStructure
  3569  // API call, and error handling.
  3570  //
  3571  // This method is useful when you want to inject custom logic or configuration
  3572  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3573  //
  3574  //
  3575  //    // Example sending a request using the DescribeUserHierarchyStructureRequest method.
  3576  //    req, resp := client.DescribeUserHierarchyStructureRequest(params)
  3577  //
  3578  //    err := req.Send()
  3579  //    if err == nil { // resp is now filled
  3580  //        fmt.Println(resp)
  3581  //    }
  3582  //
  3583  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure
  3584  func (c *Connect) DescribeUserHierarchyStructureRequest(input *DescribeUserHierarchyStructureInput) (req *request.Request, output *DescribeUserHierarchyStructureOutput) {
  3585  	op := &request.Operation{
  3586  		Name:       opDescribeUserHierarchyStructure,
  3587  		HTTPMethod: "GET",
  3588  		HTTPPath:   "/user-hierarchy-structure/{InstanceId}",
  3589  	}
  3590  
  3591  	if input == nil {
  3592  		input = &DescribeUserHierarchyStructureInput{}
  3593  	}
  3594  
  3595  	output = &DescribeUserHierarchyStructureOutput{}
  3596  	req = c.newRequest(op, input, output)
  3597  	return
  3598  }
  3599  
  3600  // DescribeUserHierarchyStructure API operation for Amazon Connect Service.
  3601  //
  3602  // Describes the hierarchy structure of the specified Amazon Connect instance.
  3603  //
  3604  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3605  // with awserr.Error's Code and Message methods to get detailed information about
  3606  // the error.
  3607  //
  3608  // See the AWS API reference guide for Amazon Connect Service's
  3609  // API operation DescribeUserHierarchyStructure for usage and error information.
  3610  //
  3611  // Returned Error Types:
  3612  //   * InvalidRequestException
  3613  //   The request is not valid.
  3614  //
  3615  //   * InvalidParameterException
  3616  //   One or more of the specified parameters are not valid.
  3617  //
  3618  //   * ResourceNotFoundException
  3619  //   The specified resource was not found.
  3620  //
  3621  //   * ThrottlingException
  3622  //   The throttling limit has been exceeded.
  3623  //
  3624  //   * InternalServiceException
  3625  //   Request processing failed because of an error or failure with the service.
  3626  //
  3627  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeUserHierarchyStructure
  3628  func (c *Connect) DescribeUserHierarchyStructure(input *DescribeUserHierarchyStructureInput) (*DescribeUserHierarchyStructureOutput, error) {
  3629  	req, out := c.DescribeUserHierarchyStructureRequest(input)
  3630  	return out, req.Send()
  3631  }
  3632  
  3633  // DescribeUserHierarchyStructureWithContext is the same as DescribeUserHierarchyStructure with the addition of
  3634  // the ability to pass a context and additional request options.
  3635  //
  3636  // See DescribeUserHierarchyStructure for details on how to use this API operation.
  3637  //
  3638  // The context must be non-nil and will be used for request cancellation. If
  3639  // the context is nil a panic will occur. In the future the SDK may create
  3640  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3641  // for more information on using Contexts.
  3642  func (c *Connect) DescribeUserHierarchyStructureWithContext(ctx aws.Context, input *DescribeUserHierarchyStructureInput, opts ...request.Option) (*DescribeUserHierarchyStructureOutput, error) {
  3643  	req, out := c.DescribeUserHierarchyStructureRequest(input)
  3644  	req.SetContext(ctx)
  3645  	req.ApplyOptions(opts...)
  3646  	return out, req.Send()
  3647  }
  3648  
  3649  const opDisassociateApprovedOrigin = "DisassociateApprovedOrigin"
  3650  
  3651  // DisassociateApprovedOriginRequest generates a "aws/request.Request" representing the
  3652  // client's request for the DisassociateApprovedOrigin operation. The "output" return
  3653  // value will be populated with the request's response once the request completes
  3654  // successfully.
  3655  //
  3656  // Use "Send" method on the returned Request to send the API call to the service.
  3657  // the "output" return value is not valid until after Send returns without error.
  3658  //
  3659  // See DisassociateApprovedOrigin for more information on using the DisassociateApprovedOrigin
  3660  // API call, and error handling.
  3661  //
  3662  // This method is useful when you want to inject custom logic or configuration
  3663  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3664  //
  3665  //
  3666  //    // Example sending a request using the DisassociateApprovedOriginRequest method.
  3667  //    req, resp := client.DisassociateApprovedOriginRequest(params)
  3668  //
  3669  //    err := req.Send()
  3670  //    if err == nil { // resp is now filled
  3671  //        fmt.Println(resp)
  3672  //    }
  3673  //
  3674  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateApprovedOrigin
  3675  func (c *Connect) DisassociateApprovedOriginRequest(input *DisassociateApprovedOriginInput) (req *request.Request, output *DisassociateApprovedOriginOutput) {
  3676  	op := &request.Operation{
  3677  		Name:       opDisassociateApprovedOrigin,
  3678  		HTTPMethod: "DELETE",
  3679  		HTTPPath:   "/instance/{InstanceId}/approved-origin",
  3680  	}
  3681  
  3682  	if input == nil {
  3683  		input = &DisassociateApprovedOriginInput{}
  3684  	}
  3685  
  3686  	output = &DisassociateApprovedOriginOutput{}
  3687  	req = c.newRequest(op, input, output)
  3688  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3689  	return
  3690  }
  3691  
  3692  // DisassociateApprovedOrigin API operation for Amazon Connect Service.
  3693  //
  3694  // This API is in preview release for Amazon Connect and is subject to change.
  3695  //
  3696  // Revokes access to integrated applications from Amazon Connect.
  3697  //
  3698  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3699  // with awserr.Error's Code and Message methods to get detailed information about
  3700  // the error.
  3701  //
  3702  // See the AWS API reference guide for Amazon Connect Service's
  3703  // API operation DisassociateApprovedOrigin for usage and error information.
  3704  //
  3705  // Returned Error Types:
  3706  //   * ResourceNotFoundException
  3707  //   The specified resource was not found.
  3708  //
  3709  //   * InternalServiceException
  3710  //   Request processing failed because of an error or failure with the service.
  3711  //
  3712  //   * InvalidRequestException
  3713  //   The request is not valid.
  3714  //
  3715  //   * InvalidParameterException
  3716  //   One or more of the specified parameters are not valid.
  3717  //
  3718  //   * ThrottlingException
  3719  //   The throttling limit has been exceeded.
  3720  //
  3721  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateApprovedOrigin
  3722  func (c *Connect) DisassociateApprovedOrigin(input *DisassociateApprovedOriginInput) (*DisassociateApprovedOriginOutput, error) {
  3723  	req, out := c.DisassociateApprovedOriginRequest(input)
  3724  	return out, req.Send()
  3725  }
  3726  
  3727  // DisassociateApprovedOriginWithContext is the same as DisassociateApprovedOrigin with the addition of
  3728  // the ability to pass a context and additional request options.
  3729  //
  3730  // See DisassociateApprovedOrigin for details on how to use this API operation.
  3731  //
  3732  // The context must be non-nil and will be used for request cancellation. If
  3733  // the context is nil a panic will occur. In the future the SDK may create
  3734  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3735  // for more information on using Contexts.
  3736  func (c *Connect) DisassociateApprovedOriginWithContext(ctx aws.Context, input *DisassociateApprovedOriginInput, opts ...request.Option) (*DisassociateApprovedOriginOutput, error) {
  3737  	req, out := c.DisassociateApprovedOriginRequest(input)
  3738  	req.SetContext(ctx)
  3739  	req.ApplyOptions(opts...)
  3740  	return out, req.Send()
  3741  }
  3742  
  3743  const opDisassociateBot = "DisassociateBot"
  3744  
  3745  // DisassociateBotRequest generates a "aws/request.Request" representing the
  3746  // client's request for the DisassociateBot operation. The "output" return
  3747  // value will be populated with the request's response once the request completes
  3748  // successfully.
  3749  //
  3750  // Use "Send" method on the returned Request to send the API call to the service.
  3751  // the "output" return value is not valid until after Send returns without error.
  3752  //
  3753  // See DisassociateBot for more information on using the DisassociateBot
  3754  // API call, and error handling.
  3755  //
  3756  // This method is useful when you want to inject custom logic or configuration
  3757  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3758  //
  3759  //
  3760  //    // Example sending a request using the DisassociateBotRequest method.
  3761  //    req, resp := client.DisassociateBotRequest(params)
  3762  //
  3763  //    err := req.Send()
  3764  //    if err == nil { // resp is now filled
  3765  //        fmt.Println(resp)
  3766  //    }
  3767  //
  3768  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateBot
  3769  func (c *Connect) DisassociateBotRequest(input *DisassociateBotInput) (req *request.Request, output *DisassociateBotOutput) {
  3770  	op := &request.Operation{
  3771  		Name:       opDisassociateBot,
  3772  		HTTPMethod: "POST",
  3773  		HTTPPath:   "/instance/{InstanceId}/bot",
  3774  	}
  3775  
  3776  	if input == nil {
  3777  		input = &DisassociateBotInput{}
  3778  	}
  3779  
  3780  	output = &DisassociateBotOutput{}
  3781  	req = c.newRequest(op, input, output)
  3782  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3783  	return
  3784  }
  3785  
  3786  // DisassociateBot API operation for Amazon Connect Service.
  3787  //
  3788  // This API is in preview release for Amazon Connect and is subject to change.
  3789  //
  3790  // Revokes authorization from the specified instance to access the specified
  3791  // Amazon Lex or Amazon Lex V2 bot.
  3792  //
  3793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3794  // with awserr.Error's Code and Message methods to get detailed information about
  3795  // the error.
  3796  //
  3797  // See the AWS API reference guide for Amazon Connect Service's
  3798  // API operation DisassociateBot for usage and error information.
  3799  //
  3800  // Returned Error Types:
  3801  //   * ResourceNotFoundException
  3802  //   The specified resource was not found.
  3803  //
  3804  //   * InternalServiceException
  3805  //   Request processing failed because of an error or failure with the service.
  3806  //
  3807  //   * InvalidRequestException
  3808  //   The request is not valid.
  3809  //
  3810  //   * ThrottlingException
  3811  //   The throttling limit has been exceeded.
  3812  //
  3813  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateBot
  3814  func (c *Connect) DisassociateBot(input *DisassociateBotInput) (*DisassociateBotOutput, error) {
  3815  	req, out := c.DisassociateBotRequest(input)
  3816  	return out, req.Send()
  3817  }
  3818  
  3819  // DisassociateBotWithContext is the same as DisassociateBot with the addition of
  3820  // the ability to pass a context and additional request options.
  3821  //
  3822  // See DisassociateBot for details on how to use this API operation.
  3823  //
  3824  // The context must be non-nil and will be used for request cancellation. If
  3825  // the context is nil a panic will occur. In the future the SDK may create
  3826  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3827  // for more information on using Contexts.
  3828  func (c *Connect) DisassociateBotWithContext(ctx aws.Context, input *DisassociateBotInput, opts ...request.Option) (*DisassociateBotOutput, error) {
  3829  	req, out := c.DisassociateBotRequest(input)
  3830  	req.SetContext(ctx)
  3831  	req.ApplyOptions(opts...)
  3832  	return out, req.Send()
  3833  }
  3834  
  3835  const opDisassociateInstanceStorageConfig = "DisassociateInstanceStorageConfig"
  3836  
  3837  // DisassociateInstanceStorageConfigRequest generates a "aws/request.Request" representing the
  3838  // client's request for the DisassociateInstanceStorageConfig operation. The "output" return
  3839  // value will be populated with the request's response once the request completes
  3840  // successfully.
  3841  //
  3842  // Use "Send" method on the returned Request to send the API call to the service.
  3843  // the "output" return value is not valid until after Send returns without error.
  3844  //
  3845  // See DisassociateInstanceStorageConfig for more information on using the DisassociateInstanceStorageConfig
  3846  // API call, and error handling.
  3847  //
  3848  // This method is useful when you want to inject custom logic or configuration
  3849  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3850  //
  3851  //
  3852  //    // Example sending a request using the DisassociateInstanceStorageConfigRequest method.
  3853  //    req, resp := client.DisassociateInstanceStorageConfigRequest(params)
  3854  //
  3855  //    err := req.Send()
  3856  //    if err == nil { // resp is now filled
  3857  //        fmt.Println(resp)
  3858  //    }
  3859  //
  3860  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateInstanceStorageConfig
  3861  func (c *Connect) DisassociateInstanceStorageConfigRequest(input *DisassociateInstanceStorageConfigInput) (req *request.Request, output *DisassociateInstanceStorageConfigOutput) {
  3862  	op := &request.Operation{
  3863  		Name:       opDisassociateInstanceStorageConfig,
  3864  		HTTPMethod: "DELETE",
  3865  		HTTPPath:   "/instance/{InstanceId}/storage-config/{AssociationId}",
  3866  	}
  3867  
  3868  	if input == nil {
  3869  		input = &DisassociateInstanceStorageConfigInput{}
  3870  	}
  3871  
  3872  	output = &DisassociateInstanceStorageConfigOutput{}
  3873  	req = c.newRequest(op, input, output)
  3874  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3875  	return
  3876  }
  3877  
  3878  // DisassociateInstanceStorageConfig API operation for Amazon Connect Service.
  3879  //
  3880  // This API is in preview release for Amazon Connect and is subject to change.
  3881  //
  3882  // Removes the storage type configurations for the specified resource type and
  3883  // association ID.
  3884  //
  3885  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3886  // with awserr.Error's Code and Message methods to get detailed information about
  3887  // the error.
  3888  //
  3889  // See the AWS API reference guide for Amazon Connect Service's
  3890  // API operation DisassociateInstanceStorageConfig for usage and error information.
  3891  //
  3892  // Returned Error Types:
  3893  //   * ResourceNotFoundException
  3894  //   The specified resource was not found.
  3895  //
  3896  //   * InternalServiceException
  3897  //   Request processing failed because of an error or failure with the service.
  3898  //
  3899  //   * InvalidRequestException
  3900  //   The request is not valid.
  3901  //
  3902  //   * InvalidParameterException
  3903  //   One or more of the specified parameters are not valid.
  3904  //
  3905  //   * ThrottlingException
  3906  //   The throttling limit has been exceeded.
  3907  //
  3908  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateInstanceStorageConfig
  3909  func (c *Connect) DisassociateInstanceStorageConfig(input *DisassociateInstanceStorageConfigInput) (*DisassociateInstanceStorageConfigOutput, error) {
  3910  	req, out := c.DisassociateInstanceStorageConfigRequest(input)
  3911  	return out, req.Send()
  3912  }
  3913  
  3914  // DisassociateInstanceStorageConfigWithContext is the same as DisassociateInstanceStorageConfig with the addition of
  3915  // the ability to pass a context and additional request options.
  3916  //
  3917  // See DisassociateInstanceStorageConfig for details on how to use this API operation.
  3918  //
  3919  // The context must be non-nil and will be used for request cancellation. If
  3920  // the context is nil a panic will occur. In the future the SDK may create
  3921  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3922  // for more information on using Contexts.
  3923  func (c *Connect) DisassociateInstanceStorageConfigWithContext(ctx aws.Context, input *DisassociateInstanceStorageConfigInput, opts ...request.Option) (*DisassociateInstanceStorageConfigOutput, error) {
  3924  	req, out := c.DisassociateInstanceStorageConfigRequest(input)
  3925  	req.SetContext(ctx)
  3926  	req.ApplyOptions(opts...)
  3927  	return out, req.Send()
  3928  }
  3929  
  3930  const opDisassociateLambdaFunction = "DisassociateLambdaFunction"
  3931  
  3932  // DisassociateLambdaFunctionRequest generates a "aws/request.Request" representing the
  3933  // client's request for the DisassociateLambdaFunction operation. The "output" return
  3934  // value will be populated with the request's response once the request completes
  3935  // successfully.
  3936  //
  3937  // Use "Send" method on the returned Request to send the API call to the service.
  3938  // the "output" return value is not valid until after Send returns without error.
  3939  //
  3940  // See DisassociateLambdaFunction for more information on using the DisassociateLambdaFunction
  3941  // API call, and error handling.
  3942  //
  3943  // This method is useful when you want to inject custom logic or configuration
  3944  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3945  //
  3946  //
  3947  //    // Example sending a request using the DisassociateLambdaFunctionRequest method.
  3948  //    req, resp := client.DisassociateLambdaFunctionRequest(params)
  3949  //
  3950  //    err := req.Send()
  3951  //    if err == nil { // resp is now filled
  3952  //        fmt.Println(resp)
  3953  //    }
  3954  //
  3955  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLambdaFunction
  3956  func (c *Connect) DisassociateLambdaFunctionRequest(input *DisassociateLambdaFunctionInput) (req *request.Request, output *DisassociateLambdaFunctionOutput) {
  3957  	op := &request.Operation{
  3958  		Name:       opDisassociateLambdaFunction,
  3959  		HTTPMethod: "DELETE",
  3960  		HTTPPath:   "/instance/{InstanceId}/lambda-function",
  3961  	}
  3962  
  3963  	if input == nil {
  3964  		input = &DisassociateLambdaFunctionInput{}
  3965  	}
  3966  
  3967  	output = &DisassociateLambdaFunctionOutput{}
  3968  	req = c.newRequest(op, input, output)
  3969  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3970  	return
  3971  }
  3972  
  3973  // DisassociateLambdaFunction API operation for Amazon Connect Service.
  3974  //
  3975  // This API is in preview release for Amazon Connect and is subject to change.
  3976  //
  3977  // Remove the Lambda function from the dropdown options available in the relevant
  3978  // contact flow blocks.
  3979  //
  3980  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3981  // with awserr.Error's Code and Message methods to get detailed information about
  3982  // the error.
  3983  //
  3984  // See the AWS API reference guide for Amazon Connect Service's
  3985  // API operation DisassociateLambdaFunction for usage and error information.
  3986  //
  3987  // Returned Error Types:
  3988  //   * ResourceNotFoundException
  3989  //   The specified resource was not found.
  3990  //
  3991  //   * InternalServiceException
  3992  //   Request processing failed because of an error or failure with the service.
  3993  //
  3994  //   * InvalidRequestException
  3995  //   The request is not valid.
  3996  //
  3997  //   * InvalidParameterException
  3998  //   One or more of the specified parameters are not valid.
  3999  //
  4000  //   * ThrottlingException
  4001  //   The throttling limit has been exceeded.
  4002  //
  4003  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLambdaFunction
  4004  func (c *Connect) DisassociateLambdaFunction(input *DisassociateLambdaFunctionInput) (*DisassociateLambdaFunctionOutput, error) {
  4005  	req, out := c.DisassociateLambdaFunctionRequest(input)
  4006  	return out, req.Send()
  4007  }
  4008  
  4009  // DisassociateLambdaFunctionWithContext is the same as DisassociateLambdaFunction with the addition of
  4010  // the ability to pass a context and additional request options.
  4011  //
  4012  // See DisassociateLambdaFunction for details on how to use this API operation.
  4013  //
  4014  // The context must be non-nil and will be used for request cancellation. If
  4015  // the context is nil a panic will occur. In the future the SDK may create
  4016  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4017  // for more information on using Contexts.
  4018  func (c *Connect) DisassociateLambdaFunctionWithContext(ctx aws.Context, input *DisassociateLambdaFunctionInput, opts ...request.Option) (*DisassociateLambdaFunctionOutput, error) {
  4019  	req, out := c.DisassociateLambdaFunctionRequest(input)
  4020  	req.SetContext(ctx)
  4021  	req.ApplyOptions(opts...)
  4022  	return out, req.Send()
  4023  }
  4024  
  4025  const opDisassociateLexBot = "DisassociateLexBot"
  4026  
  4027  // DisassociateLexBotRequest generates a "aws/request.Request" representing the
  4028  // client's request for the DisassociateLexBot operation. The "output" return
  4029  // value will be populated with the request's response once the request completes
  4030  // successfully.
  4031  //
  4032  // Use "Send" method on the returned Request to send the API call to the service.
  4033  // the "output" return value is not valid until after Send returns without error.
  4034  //
  4035  // See DisassociateLexBot for more information on using the DisassociateLexBot
  4036  // API call, and error handling.
  4037  //
  4038  // This method is useful when you want to inject custom logic or configuration
  4039  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4040  //
  4041  //
  4042  //    // Example sending a request using the DisassociateLexBotRequest method.
  4043  //    req, resp := client.DisassociateLexBotRequest(params)
  4044  //
  4045  //    err := req.Send()
  4046  //    if err == nil { // resp is now filled
  4047  //        fmt.Println(resp)
  4048  //    }
  4049  //
  4050  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLexBot
  4051  func (c *Connect) DisassociateLexBotRequest(input *DisassociateLexBotInput) (req *request.Request, output *DisassociateLexBotOutput) {
  4052  	op := &request.Operation{
  4053  		Name:       opDisassociateLexBot,
  4054  		HTTPMethod: "DELETE",
  4055  		HTTPPath:   "/instance/{InstanceId}/lex-bot",
  4056  	}
  4057  
  4058  	if input == nil {
  4059  		input = &DisassociateLexBotInput{}
  4060  	}
  4061  
  4062  	output = &DisassociateLexBotOutput{}
  4063  	req = c.newRequest(op, input, output)
  4064  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4065  	return
  4066  }
  4067  
  4068  // DisassociateLexBot API operation for Amazon Connect Service.
  4069  //
  4070  // This API is in preview release for Amazon Connect and is subject to change.
  4071  //
  4072  // Revokes authorization from the specified instance to access the specified
  4073  // Amazon Lex bot.
  4074  //
  4075  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4076  // with awserr.Error's Code and Message methods to get detailed information about
  4077  // the error.
  4078  //
  4079  // See the AWS API reference guide for Amazon Connect Service's
  4080  // API operation DisassociateLexBot for usage and error information.
  4081  //
  4082  // Returned Error Types:
  4083  //   * ResourceNotFoundException
  4084  //   The specified resource was not found.
  4085  //
  4086  //   * InternalServiceException
  4087  //   Request processing failed because of an error or failure with the service.
  4088  //
  4089  //   * InvalidRequestException
  4090  //   The request is not valid.
  4091  //
  4092  //   * InvalidParameterException
  4093  //   One or more of the specified parameters are not valid.
  4094  //
  4095  //   * ThrottlingException
  4096  //   The throttling limit has been exceeded.
  4097  //
  4098  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateLexBot
  4099  func (c *Connect) DisassociateLexBot(input *DisassociateLexBotInput) (*DisassociateLexBotOutput, error) {
  4100  	req, out := c.DisassociateLexBotRequest(input)
  4101  	return out, req.Send()
  4102  }
  4103  
  4104  // DisassociateLexBotWithContext is the same as DisassociateLexBot with the addition of
  4105  // the ability to pass a context and additional request options.
  4106  //
  4107  // See DisassociateLexBot for details on how to use this API operation.
  4108  //
  4109  // The context must be non-nil and will be used for request cancellation. If
  4110  // the context is nil a panic will occur. In the future the SDK may create
  4111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4112  // for more information on using Contexts.
  4113  func (c *Connect) DisassociateLexBotWithContext(ctx aws.Context, input *DisassociateLexBotInput, opts ...request.Option) (*DisassociateLexBotOutput, error) {
  4114  	req, out := c.DisassociateLexBotRequest(input)
  4115  	req.SetContext(ctx)
  4116  	req.ApplyOptions(opts...)
  4117  	return out, req.Send()
  4118  }
  4119  
  4120  const opDisassociateQueueQuickConnects = "DisassociateQueueQuickConnects"
  4121  
  4122  // DisassociateQueueQuickConnectsRequest generates a "aws/request.Request" representing the
  4123  // client's request for the DisassociateQueueQuickConnects operation. The "output" return
  4124  // value will be populated with the request's response once the request completes
  4125  // successfully.
  4126  //
  4127  // Use "Send" method on the returned Request to send the API call to the service.
  4128  // the "output" return value is not valid until after Send returns without error.
  4129  //
  4130  // See DisassociateQueueQuickConnects for more information on using the DisassociateQueueQuickConnects
  4131  // API call, and error handling.
  4132  //
  4133  // This method is useful when you want to inject custom logic or configuration
  4134  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4135  //
  4136  //
  4137  //    // Example sending a request using the DisassociateQueueQuickConnectsRequest method.
  4138  //    req, resp := client.DisassociateQueueQuickConnectsRequest(params)
  4139  //
  4140  //    err := req.Send()
  4141  //    if err == nil { // resp is now filled
  4142  //        fmt.Println(resp)
  4143  //    }
  4144  //
  4145  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateQueueQuickConnects
  4146  func (c *Connect) DisassociateQueueQuickConnectsRequest(input *DisassociateQueueQuickConnectsInput) (req *request.Request, output *DisassociateQueueQuickConnectsOutput) {
  4147  	op := &request.Operation{
  4148  		Name:       opDisassociateQueueQuickConnects,
  4149  		HTTPMethod: "POST",
  4150  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/disassociate-quick-connects",
  4151  	}
  4152  
  4153  	if input == nil {
  4154  		input = &DisassociateQueueQuickConnectsInput{}
  4155  	}
  4156  
  4157  	output = &DisassociateQueueQuickConnectsOutput{}
  4158  	req = c.newRequest(op, input, output)
  4159  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4160  	return
  4161  }
  4162  
  4163  // DisassociateQueueQuickConnects API operation for Amazon Connect Service.
  4164  //
  4165  // This API is in preview release for Amazon Connect and is subject to change.
  4166  //
  4167  // Disassociates a set of quick connects from a queue.
  4168  //
  4169  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4170  // with awserr.Error's Code and Message methods to get detailed information about
  4171  // the error.
  4172  //
  4173  // See the AWS API reference guide for Amazon Connect Service's
  4174  // API operation DisassociateQueueQuickConnects for usage and error information.
  4175  //
  4176  // Returned Error Types:
  4177  //   * InvalidRequestException
  4178  //   The request is not valid.
  4179  //
  4180  //   * InvalidParameterException
  4181  //   One or more of the specified parameters are not valid.
  4182  //
  4183  //   * ResourceNotFoundException
  4184  //   The specified resource was not found.
  4185  //
  4186  //   * ThrottlingException
  4187  //   The throttling limit has been exceeded.
  4188  //
  4189  //   * InternalServiceException
  4190  //   Request processing failed because of an error or failure with the service.
  4191  //
  4192  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateQueueQuickConnects
  4193  func (c *Connect) DisassociateQueueQuickConnects(input *DisassociateQueueQuickConnectsInput) (*DisassociateQueueQuickConnectsOutput, error) {
  4194  	req, out := c.DisassociateQueueQuickConnectsRequest(input)
  4195  	return out, req.Send()
  4196  }
  4197  
  4198  // DisassociateQueueQuickConnectsWithContext is the same as DisassociateQueueQuickConnects with the addition of
  4199  // the ability to pass a context and additional request options.
  4200  //
  4201  // See DisassociateQueueQuickConnects for details on how to use this API operation.
  4202  //
  4203  // The context must be non-nil and will be used for request cancellation. If
  4204  // the context is nil a panic will occur. In the future the SDK may create
  4205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4206  // for more information on using Contexts.
  4207  func (c *Connect) DisassociateQueueQuickConnectsWithContext(ctx aws.Context, input *DisassociateQueueQuickConnectsInput, opts ...request.Option) (*DisassociateQueueQuickConnectsOutput, error) {
  4208  	req, out := c.DisassociateQueueQuickConnectsRequest(input)
  4209  	req.SetContext(ctx)
  4210  	req.ApplyOptions(opts...)
  4211  	return out, req.Send()
  4212  }
  4213  
  4214  const opDisassociateRoutingProfileQueues = "DisassociateRoutingProfileQueues"
  4215  
  4216  // DisassociateRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
  4217  // client's request for the DisassociateRoutingProfileQueues operation. The "output" return
  4218  // value will be populated with the request's response once the request completes
  4219  // successfully.
  4220  //
  4221  // Use "Send" method on the returned Request to send the API call to the service.
  4222  // the "output" return value is not valid until after Send returns without error.
  4223  //
  4224  // See DisassociateRoutingProfileQueues for more information on using the DisassociateRoutingProfileQueues
  4225  // API call, and error handling.
  4226  //
  4227  // This method is useful when you want to inject custom logic or configuration
  4228  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4229  //
  4230  //
  4231  //    // Example sending a request using the DisassociateRoutingProfileQueuesRequest method.
  4232  //    req, resp := client.DisassociateRoutingProfileQueuesRequest(params)
  4233  //
  4234  //    err := req.Send()
  4235  //    if err == nil { // resp is now filled
  4236  //        fmt.Println(resp)
  4237  //    }
  4238  //
  4239  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateRoutingProfileQueues
  4240  func (c *Connect) DisassociateRoutingProfileQueuesRequest(input *DisassociateRoutingProfileQueuesInput) (req *request.Request, output *DisassociateRoutingProfileQueuesOutput) {
  4241  	op := &request.Operation{
  4242  		Name:       opDisassociateRoutingProfileQueues,
  4243  		HTTPMethod: "POST",
  4244  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/disassociate-queues",
  4245  	}
  4246  
  4247  	if input == nil {
  4248  		input = &DisassociateRoutingProfileQueuesInput{}
  4249  	}
  4250  
  4251  	output = &DisassociateRoutingProfileQueuesOutput{}
  4252  	req = c.newRequest(op, input, output)
  4253  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4254  	return
  4255  }
  4256  
  4257  // DisassociateRoutingProfileQueues API operation for Amazon Connect Service.
  4258  //
  4259  // Disassociates a set of queues from a routing profile.
  4260  //
  4261  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4262  // with awserr.Error's Code and Message methods to get detailed information about
  4263  // the error.
  4264  //
  4265  // See the AWS API reference guide for Amazon Connect Service's
  4266  // API operation DisassociateRoutingProfileQueues for usage and error information.
  4267  //
  4268  // Returned Error Types:
  4269  //   * InvalidRequestException
  4270  //   The request is not valid.
  4271  //
  4272  //   * InvalidParameterException
  4273  //   One or more of the specified parameters are not valid.
  4274  //
  4275  //   * ResourceNotFoundException
  4276  //   The specified resource was not found.
  4277  //
  4278  //   * ThrottlingException
  4279  //   The throttling limit has been exceeded.
  4280  //
  4281  //   * InternalServiceException
  4282  //   Request processing failed because of an error or failure with the service.
  4283  //
  4284  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateRoutingProfileQueues
  4285  func (c *Connect) DisassociateRoutingProfileQueues(input *DisassociateRoutingProfileQueuesInput) (*DisassociateRoutingProfileQueuesOutput, error) {
  4286  	req, out := c.DisassociateRoutingProfileQueuesRequest(input)
  4287  	return out, req.Send()
  4288  }
  4289  
  4290  // DisassociateRoutingProfileQueuesWithContext is the same as DisassociateRoutingProfileQueues with the addition of
  4291  // the ability to pass a context and additional request options.
  4292  //
  4293  // See DisassociateRoutingProfileQueues for details on how to use this API operation.
  4294  //
  4295  // The context must be non-nil and will be used for request cancellation. If
  4296  // the context is nil a panic will occur. In the future the SDK may create
  4297  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4298  // for more information on using Contexts.
  4299  func (c *Connect) DisassociateRoutingProfileQueuesWithContext(ctx aws.Context, input *DisassociateRoutingProfileQueuesInput, opts ...request.Option) (*DisassociateRoutingProfileQueuesOutput, error) {
  4300  	req, out := c.DisassociateRoutingProfileQueuesRequest(input)
  4301  	req.SetContext(ctx)
  4302  	req.ApplyOptions(opts...)
  4303  	return out, req.Send()
  4304  }
  4305  
  4306  const opDisassociateSecurityKey = "DisassociateSecurityKey"
  4307  
  4308  // DisassociateSecurityKeyRequest generates a "aws/request.Request" representing the
  4309  // client's request for the DisassociateSecurityKey operation. The "output" return
  4310  // value will be populated with the request's response once the request completes
  4311  // successfully.
  4312  //
  4313  // Use "Send" method on the returned Request to send the API call to the service.
  4314  // the "output" return value is not valid until after Send returns without error.
  4315  //
  4316  // See DisassociateSecurityKey for more information on using the DisassociateSecurityKey
  4317  // API call, and error handling.
  4318  //
  4319  // This method is useful when you want to inject custom logic or configuration
  4320  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4321  //
  4322  //
  4323  //    // Example sending a request using the DisassociateSecurityKeyRequest method.
  4324  //    req, resp := client.DisassociateSecurityKeyRequest(params)
  4325  //
  4326  //    err := req.Send()
  4327  //    if err == nil { // resp is now filled
  4328  //        fmt.Println(resp)
  4329  //    }
  4330  //
  4331  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateSecurityKey
  4332  func (c *Connect) DisassociateSecurityKeyRequest(input *DisassociateSecurityKeyInput) (req *request.Request, output *DisassociateSecurityKeyOutput) {
  4333  	op := &request.Operation{
  4334  		Name:       opDisassociateSecurityKey,
  4335  		HTTPMethod: "DELETE",
  4336  		HTTPPath:   "/instance/{InstanceId}/security-key/{AssociationId}",
  4337  	}
  4338  
  4339  	if input == nil {
  4340  		input = &DisassociateSecurityKeyInput{}
  4341  	}
  4342  
  4343  	output = &DisassociateSecurityKeyOutput{}
  4344  	req = c.newRequest(op, input, output)
  4345  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4346  	return
  4347  }
  4348  
  4349  // DisassociateSecurityKey API operation for Amazon Connect Service.
  4350  //
  4351  // This API is in preview release for Amazon Connect and is subject to change.
  4352  //
  4353  // Deletes the specified security key.
  4354  //
  4355  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4356  // with awserr.Error's Code and Message methods to get detailed information about
  4357  // the error.
  4358  //
  4359  // See the AWS API reference guide for Amazon Connect Service's
  4360  // API operation DisassociateSecurityKey for usage and error information.
  4361  //
  4362  // Returned Error Types:
  4363  //   * ResourceNotFoundException
  4364  //   The specified resource was not found.
  4365  //
  4366  //   * InternalServiceException
  4367  //   Request processing failed because of an error or failure with the service.
  4368  //
  4369  //   * InvalidRequestException
  4370  //   The request is not valid.
  4371  //
  4372  //   * InvalidParameterException
  4373  //   One or more of the specified parameters are not valid.
  4374  //
  4375  //   * ThrottlingException
  4376  //   The throttling limit has been exceeded.
  4377  //
  4378  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DisassociateSecurityKey
  4379  func (c *Connect) DisassociateSecurityKey(input *DisassociateSecurityKeyInput) (*DisassociateSecurityKeyOutput, error) {
  4380  	req, out := c.DisassociateSecurityKeyRequest(input)
  4381  	return out, req.Send()
  4382  }
  4383  
  4384  // DisassociateSecurityKeyWithContext is the same as DisassociateSecurityKey with the addition of
  4385  // the ability to pass a context and additional request options.
  4386  //
  4387  // See DisassociateSecurityKey for details on how to use this API operation.
  4388  //
  4389  // The context must be non-nil and will be used for request cancellation. If
  4390  // the context is nil a panic will occur. In the future the SDK may create
  4391  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4392  // for more information on using Contexts.
  4393  func (c *Connect) DisassociateSecurityKeyWithContext(ctx aws.Context, input *DisassociateSecurityKeyInput, opts ...request.Option) (*DisassociateSecurityKeyOutput, error) {
  4394  	req, out := c.DisassociateSecurityKeyRequest(input)
  4395  	req.SetContext(ctx)
  4396  	req.ApplyOptions(opts...)
  4397  	return out, req.Send()
  4398  }
  4399  
  4400  const opGetContactAttributes = "GetContactAttributes"
  4401  
  4402  // GetContactAttributesRequest generates a "aws/request.Request" representing the
  4403  // client's request for the GetContactAttributes operation. The "output" return
  4404  // value will be populated with the request's response once the request completes
  4405  // successfully.
  4406  //
  4407  // Use "Send" method on the returned Request to send the API call to the service.
  4408  // the "output" return value is not valid until after Send returns without error.
  4409  //
  4410  // See GetContactAttributes for more information on using the GetContactAttributes
  4411  // API call, and error handling.
  4412  //
  4413  // This method is useful when you want to inject custom logic or configuration
  4414  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4415  //
  4416  //
  4417  //    // Example sending a request using the GetContactAttributesRequest method.
  4418  //    req, resp := client.GetContactAttributesRequest(params)
  4419  //
  4420  //    err := req.Send()
  4421  //    if err == nil { // resp is now filled
  4422  //        fmt.Println(resp)
  4423  //    }
  4424  //
  4425  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes
  4426  func (c *Connect) GetContactAttributesRequest(input *GetContactAttributesInput) (req *request.Request, output *GetContactAttributesOutput) {
  4427  	op := &request.Operation{
  4428  		Name:       opGetContactAttributes,
  4429  		HTTPMethod: "GET",
  4430  		HTTPPath:   "/contact/attributes/{InstanceId}/{InitialContactId}",
  4431  	}
  4432  
  4433  	if input == nil {
  4434  		input = &GetContactAttributesInput{}
  4435  	}
  4436  
  4437  	output = &GetContactAttributesOutput{}
  4438  	req = c.newRequest(op, input, output)
  4439  	return
  4440  }
  4441  
  4442  // GetContactAttributes API operation for Amazon Connect Service.
  4443  //
  4444  // Retrieves the contact attributes for the specified contact.
  4445  //
  4446  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4447  // with awserr.Error's Code and Message methods to get detailed information about
  4448  // the error.
  4449  //
  4450  // See the AWS API reference guide for Amazon Connect Service's
  4451  // API operation GetContactAttributes for usage and error information.
  4452  //
  4453  // Returned Error Types:
  4454  //   * InvalidRequestException
  4455  //   The request is not valid.
  4456  //
  4457  //   * ResourceNotFoundException
  4458  //   The specified resource was not found.
  4459  //
  4460  //   * InternalServiceException
  4461  //   Request processing failed because of an error or failure with the service.
  4462  //
  4463  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetContactAttributes
  4464  func (c *Connect) GetContactAttributes(input *GetContactAttributesInput) (*GetContactAttributesOutput, error) {
  4465  	req, out := c.GetContactAttributesRequest(input)
  4466  	return out, req.Send()
  4467  }
  4468  
  4469  // GetContactAttributesWithContext is the same as GetContactAttributes with the addition of
  4470  // the ability to pass a context and additional request options.
  4471  //
  4472  // See GetContactAttributes for details on how to use this API operation.
  4473  //
  4474  // The context must be non-nil and will be used for request cancellation. If
  4475  // the context is nil a panic will occur. In the future the SDK may create
  4476  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4477  // for more information on using Contexts.
  4478  func (c *Connect) GetContactAttributesWithContext(ctx aws.Context, input *GetContactAttributesInput, opts ...request.Option) (*GetContactAttributesOutput, error) {
  4479  	req, out := c.GetContactAttributesRequest(input)
  4480  	req.SetContext(ctx)
  4481  	req.ApplyOptions(opts...)
  4482  	return out, req.Send()
  4483  }
  4484  
  4485  const opGetCurrentMetricData = "GetCurrentMetricData"
  4486  
  4487  // GetCurrentMetricDataRequest generates a "aws/request.Request" representing the
  4488  // client's request for the GetCurrentMetricData operation. The "output" return
  4489  // value will be populated with the request's response once the request completes
  4490  // successfully.
  4491  //
  4492  // Use "Send" method on the returned Request to send the API call to the service.
  4493  // the "output" return value is not valid until after Send returns without error.
  4494  //
  4495  // See GetCurrentMetricData for more information on using the GetCurrentMetricData
  4496  // API call, and error handling.
  4497  //
  4498  // This method is useful when you want to inject custom logic or configuration
  4499  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4500  //
  4501  //
  4502  //    // Example sending a request using the GetCurrentMetricDataRequest method.
  4503  //    req, resp := client.GetCurrentMetricDataRequest(params)
  4504  //
  4505  //    err := req.Send()
  4506  //    if err == nil { // resp is now filled
  4507  //        fmt.Println(resp)
  4508  //    }
  4509  //
  4510  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData
  4511  func (c *Connect) GetCurrentMetricDataRequest(input *GetCurrentMetricDataInput) (req *request.Request, output *GetCurrentMetricDataOutput) {
  4512  	op := &request.Operation{
  4513  		Name:       opGetCurrentMetricData,
  4514  		HTTPMethod: "POST",
  4515  		HTTPPath:   "/metrics/current/{InstanceId}",
  4516  		Paginator: &request.Paginator{
  4517  			InputTokens:     []string{"NextToken"},
  4518  			OutputTokens:    []string{"NextToken"},
  4519  			LimitToken:      "MaxResults",
  4520  			TruncationToken: "",
  4521  		},
  4522  	}
  4523  
  4524  	if input == nil {
  4525  		input = &GetCurrentMetricDataInput{}
  4526  	}
  4527  
  4528  	output = &GetCurrentMetricDataOutput{}
  4529  	req = c.newRequest(op, input, output)
  4530  	return
  4531  }
  4532  
  4533  // GetCurrentMetricData API operation for Amazon Connect Service.
  4534  //
  4535  // Gets the real-time metric data from the specified Amazon Connect instance.
  4536  //
  4537  // For a description of each metric, see Real-time Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html)
  4538  // in the Amazon Connect Administrator Guide.
  4539  //
  4540  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4541  // with awserr.Error's Code and Message methods to get detailed information about
  4542  // the error.
  4543  //
  4544  // See the AWS API reference guide for Amazon Connect Service's
  4545  // API operation GetCurrentMetricData for usage and error information.
  4546  //
  4547  // Returned Error Types:
  4548  //   * InvalidRequestException
  4549  //   The request is not valid.
  4550  //
  4551  //   * InvalidParameterException
  4552  //   One or more of the specified parameters are not valid.
  4553  //
  4554  //   * InternalServiceException
  4555  //   Request processing failed because of an error or failure with the service.
  4556  //
  4557  //   * ThrottlingException
  4558  //   The throttling limit has been exceeded.
  4559  //
  4560  //   * ResourceNotFoundException
  4561  //   The specified resource was not found.
  4562  //
  4563  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetCurrentMetricData
  4564  func (c *Connect) GetCurrentMetricData(input *GetCurrentMetricDataInput) (*GetCurrentMetricDataOutput, error) {
  4565  	req, out := c.GetCurrentMetricDataRequest(input)
  4566  	return out, req.Send()
  4567  }
  4568  
  4569  // GetCurrentMetricDataWithContext is the same as GetCurrentMetricData with the addition of
  4570  // the ability to pass a context and additional request options.
  4571  //
  4572  // See GetCurrentMetricData for details on how to use this API operation.
  4573  //
  4574  // The context must be non-nil and will be used for request cancellation. If
  4575  // the context is nil a panic will occur. In the future the SDK may create
  4576  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4577  // for more information on using Contexts.
  4578  func (c *Connect) GetCurrentMetricDataWithContext(ctx aws.Context, input *GetCurrentMetricDataInput, opts ...request.Option) (*GetCurrentMetricDataOutput, error) {
  4579  	req, out := c.GetCurrentMetricDataRequest(input)
  4580  	req.SetContext(ctx)
  4581  	req.ApplyOptions(opts...)
  4582  	return out, req.Send()
  4583  }
  4584  
  4585  // GetCurrentMetricDataPages iterates over the pages of a GetCurrentMetricData operation,
  4586  // calling the "fn" function with the response data for each page. To stop
  4587  // iterating, return false from the fn function.
  4588  //
  4589  // See GetCurrentMetricData method for more information on how to use this operation.
  4590  //
  4591  // Note: This operation can generate multiple requests to a service.
  4592  //
  4593  //    // Example iterating over at most 3 pages of a GetCurrentMetricData operation.
  4594  //    pageNum := 0
  4595  //    err := client.GetCurrentMetricDataPages(params,
  4596  //        func(page *connect.GetCurrentMetricDataOutput, lastPage bool) bool {
  4597  //            pageNum++
  4598  //            fmt.Println(page)
  4599  //            return pageNum <= 3
  4600  //        })
  4601  //
  4602  func (c *Connect) GetCurrentMetricDataPages(input *GetCurrentMetricDataInput, fn func(*GetCurrentMetricDataOutput, bool) bool) error {
  4603  	return c.GetCurrentMetricDataPagesWithContext(aws.BackgroundContext(), input, fn)
  4604  }
  4605  
  4606  // GetCurrentMetricDataPagesWithContext same as GetCurrentMetricDataPages except
  4607  // it takes a Context and allows setting request options on the pages.
  4608  //
  4609  // The context must be non-nil and will be used for request cancellation. If
  4610  // the context is nil a panic will occur. In the future the SDK may create
  4611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4612  // for more information on using Contexts.
  4613  func (c *Connect) GetCurrentMetricDataPagesWithContext(ctx aws.Context, input *GetCurrentMetricDataInput, fn func(*GetCurrentMetricDataOutput, bool) bool, opts ...request.Option) error {
  4614  	p := request.Pagination{
  4615  		NewRequest: func() (*request.Request, error) {
  4616  			var inCpy *GetCurrentMetricDataInput
  4617  			if input != nil {
  4618  				tmp := *input
  4619  				inCpy = &tmp
  4620  			}
  4621  			req, _ := c.GetCurrentMetricDataRequest(inCpy)
  4622  			req.SetContext(ctx)
  4623  			req.ApplyOptions(opts...)
  4624  			return req, nil
  4625  		},
  4626  	}
  4627  
  4628  	for p.Next() {
  4629  		if !fn(p.Page().(*GetCurrentMetricDataOutput), !p.HasNextPage()) {
  4630  			break
  4631  		}
  4632  	}
  4633  
  4634  	return p.Err()
  4635  }
  4636  
  4637  const opGetFederationToken = "GetFederationToken"
  4638  
  4639  // GetFederationTokenRequest generates a "aws/request.Request" representing the
  4640  // client's request for the GetFederationToken operation. The "output" return
  4641  // value will be populated with the request's response once the request completes
  4642  // successfully.
  4643  //
  4644  // Use "Send" method on the returned Request to send the API call to the service.
  4645  // the "output" return value is not valid until after Send returns without error.
  4646  //
  4647  // See GetFederationToken for more information on using the GetFederationToken
  4648  // API call, and error handling.
  4649  //
  4650  // This method is useful when you want to inject custom logic or configuration
  4651  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4652  //
  4653  //
  4654  //    // Example sending a request using the GetFederationTokenRequest method.
  4655  //    req, resp := client.GetFederationTokenRequest(params)
  4656  //
  4657  //    err := req.Send()
  4658  //    if err == nil { // resp is now filled
  4659  //        fmt.Println(resp)
  4660  //    }
  4661  //
  4662  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken
  4663  func (c *Connect) GetFederationTokenRequest(input *GetFederationTokenInput) (req *request.Request, output *GetFederationTokenOutput) {
  4664  	op := &request.Operation{
  4665  		Name:       opGetFederationToken,
  4666  		HTTPMethod: "GET",
  4667  		HTTPPath:   "/user/federate/{InstanceId}",
  4668  	}
  4669  
  4670  	if input == nil {
  4671  		input = &GetFederationTokenInput{}
  4672  	}
  4673  
  4674  	output = &GetFederationTokenOutput{}
  4675  	req = c.newRequest(op, input, output)
  4676  	return
  4677  }
  4678  
  4679  // GetFederationToken API operation for Amazon Connect Service.
  4680  //
  4681  // Retrieves a token for federation.
  4682  //
  4683  // This API doesn't support root users. If you try to invoke GetFederationToken
  4684  // with root credentials, an error message similar to the following one appears:
  4685  //
  4686  // Provided identity: Principal: .... User: .... cannot be used for federation
  4687  // with Amazon Connect
  4688  //
  4689  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4690  // with awserr.Error's Code and Message methods to get detailed information about
  4691  // the error.
  4692  //
  4693  // See the AWS API reference guide for Amazon Connect Service's
  4694  // API operation GetFederationToken for usage and error information.
  4695  //
  4696  // Returned Error Types:
  4697  //   * InvalidRequestException
  4698  //   The request is not valid.
  4699  //
  4700  //   * InvalidParameterException
  4701  //   One or more of the specified parameters are not valid.
  4702  //
  4703  //   * ResourceNotFoundException
  4704  //   The specified resource was not found.
  4705  //
  4706  //   * UserNotFoundException
  4707  //   No user with the specified credentials was found in the Amazon Connect instance.
  4708  //
  4709  //   * InternalServiceException
  4710  //   Request processing failed because of an error or failure with the service.
  4711  //
  4712  //   * DuplicateResourceException
  4713  //   A resource with the specified name already exists.
  4714  //
  4715  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetFederationToken
  4716  func (c *Connect) GetFederationToken(input *GetFederationTokenInput) (*GetFederationTokenOutput, error) {
  4717  	req, out := c.GetFederationTokenRequest(input)
  4718  	return out, req.Send()
  4719  }
  4720  
  4721  // GetFederationTokenWithContext is the same as GetFederationToken with the addition of
  4722  // the ability to pass a context and additional request options.
  4723  //
  4724  // See GetFederationToken for details on how to use this API operation.
  4725  //
  4726  // The context must be non-nil and will be used for request cancellation. If
  4727  // the context is nil a panic will occur. In the future the SDK may create
  4728  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4729  // for more information on using Contexts.
  4730  func (c *Connect) GetFederationTokenWithContext(ctx aws.Context, input *GetFederationTokenInput, opts ...request.Option) (*GetFederationTokenOutput, error) {
  4731  	req, out := c.GetFederationTokenRequest(input)
  4732  	req.SetContext(ctx)
  4733  	req.ApplyOptions(opts...)
  4734  	return out, req.Send()
  4735  }
  4736  
  4737  const opGetMetricData = "GetMetricData"
  4738  
  4739  // GetMetricDataRequest generates a "aws/request.Request" representing the
  4740  // client's request for the GetMetricData operation. The "output" return
  4741  // value will be populated with the request's response once the request completes
  4742  // successfully.
  4743  //
  4744  // Use "Send" method on the returned Request to send the API call to the service.
  4745  // the "output" return value is not valid until after Send returns without error.
  4746  //
  4747  // See GetMetricData for more information on using the GetMetricData
  4748  // API call, and error handling.
  4749  //
  4750  // This method is useful when you want to inject custom logic or configuration
  4751  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4752  //
  4753  //
  4754  //    // Example sending a request using the GetMetricDataRequest method.
  4755  //    req, resp := client.GetMetricDataRequest(params)
  4756  //
  4757  //    err := req.Send()
  4758  //    if err == nil { // resp is now filled
  4759  //        fmt.Println(resp)
  4760  //    }
  4761  //
  4762  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData
  4763  func (c *Connect) GetMetricDataRequest(input *GetMetricDataInput) (req *request.Request, output *GetMetricDataOutput) {
  4764  	op := &request.Operation{
  4765  		Name:       opGetMetricData,
  4766  		HTTPMethod: "POST",
  4767  		HTTPPath:   "/metrics/historical/{InstanceId}",
  4768  		Paginator: &request.Paginator{
  4769  			InputTokens:     []string{"NextToken"},
  4770  			OutputTokens:    []string{"NextToken"},
  4771  			LimitToken:      "MaxResults",
  4772  			TruncationToken: "",
  4773  		},
  4774  	}
  4775  
  4776  	if input == nil {
  4777  		input = &GetMetricDataInput{}
  4778  	}
  4779  
  4780  	output = &GetMetricDataOutput{}
  4781  	req = c.newRequest(op, input, output)
  4782  	return
  4783  }
  4784  
  4785  // GetMetricData API operation for Amazon Connect Service.
  4786  //
  4787  // Gets historical metric data from the specified Amazon Connect instance.
  4788  //
  4789  // For a description of each historical metric, see Historical Metrics Definitions
  4790  // (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html)
  4791  // in the Amazon Connect Administrator Guide.
  4792  //
  4793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4794  // with awserr.Error's Code and Message methods to get detailed information about
  4795  // the error.
  4796  //
  4797  // See the AWS API reference guide for Amazon Connect Service's
  4798  // API operation GetMetricData for usage and error information.
  4799  //
  4800  // Returned Error Types:
  4801  //   * InvalidRequestException
  4802  //   The request is not valid.
  4803  //
  4804  //   * InvalidParameterException
  4805  //   One or more of the specified parameters are not valid.
  4806  //
  4807  //   * InternalServiceException
  4808  //   Request processing failed because of an error or failure with the service.
  4809  //
  4810  //   * ThrottlingException
  4811  //   The throttling limit has been exceeded.
  4812  //
  4813  //   * ResourceNotFoundException
  4814  //   The specified resource was not found.
  4815  //
  4816  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/GetMetricData
  4817  func (c *Connect) GetMetricData(input *GetMetricDataInput) (*GetMetricDataOutput, error) {
  4818  	req, out := c.GetMetricDataRequest(input)
  4819  	return out, req.Send()
  4820  }
  4821  
  4822  // GetMetricDataWithContext is the same as GetMetricData with the addition of
  4823  // the ability to pass a context and additional request options.
  4824  //
  4825  // See GetMetricData for details on how to use this API operation.
  4826  //
  4827  // The context must be non-nil and will be used for request cancellation. If
  4828  // the context is nil a panic will occur. In the future the SDK may create
  4829  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4830  // for more information on using Contexts.
  4831  func (c *Connect) GetMetricDataWithContext(ctx aws.Context, input *GetMetricDataInput, opts ...request.Option) (*GetMetricDataOutput, error) {
  4832  	req, out := c.GetMetricDataRequest(input)
  4833  	req.SetContext(ctx)
  4834  	req.ApplyOptions(opts...)
  4835  	return out, req.Send()
  4836  }
  4837  
  4838  // GetMetricDataPages iterates over the pages of a GetMetricData operation,
  4839  // calling the "fn" function with the response data for each page. To stop
  4840  // iterating, return false from the fn function.
  4841  //
  4842  // See GetMetricData method for more information on how to use this operation.
  4843  //
  4844  // Note: This operation can generate multiple requests to a service.
  4845  //
  4846  //    // Example iterating over at most 3 pages of a GetMetricData operation.
  4847  //    pageNum := 0
  4848  //    err := client.GetMetricDataPages(params,
  4849  //        func(page *connect.GetMetricDataOutput, lastPage bool) bool {
  4850  //            pageNum++
  4851  //            fmt.Println(page)
  4852  //            return pageNum <= 3
  4853  //        })
  4854  //
  4855  func (c *Connect) GetMetricDataPages(input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool) error {
  4856  	return c.GetMetricDataPagesWithContext(aws.BackgroundContext(), input, fn)
  4857  }
  4858  
  4859  // GetMetricDataPagesWithContext same as GetMetricDataPages except
  4860  // it takes a Context and allows setting request options on the pages.
  4861  //
  4862  // The context must be non-nil and will be used for request cancellation. If
  4863  // the context is nil a panic will occur. In the future the SDK may create
  4864  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4865  // for more information on using Contexts.
  4866  func (c *Connect) GetMetricDataPagesWithContext(ctx aws.Context, input *GetMetricDataInput, fn func(*GetMetricDataOutput, bool) bool, opts ...request.Option) error {
  4867  	p := request.Pagination{
  4868  		NewRequest: func() (*request.Request, error) {
  4869  			var inCpy *GetMetricDataInput
  4870  			if input != nil {
  4871  				tmp := *input
  4872  				inCpy = &tmp
  4873  			}
  4874  			req, _ := c.GetMetricDataRequest(inCpy)
  4875  			req.SetContext(ctx)
  4876  			req.ApplyOptions(opts...)
  4877  			return req, nil
  4878  		},
  4879  	}
  4880  
  4881  	for p.Next() {
  4882  		if !fn(p.Page().(*GetMetricDataOutput), !p.HasNextPage()) {
  4883  			break
  4884  		}
  4885  	}
  4886  
  4887  	return p.Err()
  4888  }
  4889  
  4890  const opListAgentStatuses = "ListAgentStatuses"
  4891  
  4892  // ListAgentStatusesRequest generates a "aws/request.Request" representing the
  4893  // client's request for the ListAgentStatuses operation. The "output" return
  4894  // value will be populated with the request's response once the request completes
  4895  // successfully.
  4896  //
  4897  // Use "Send" method on the returned Request to send the API call to the service.
  4898  // the "output" return value is not valid until after Send returns without error.
  4899  //
  4900  // See ListAgentStatuses for more information on using the ListAgentStatuses
  4901  // API call, and error handling.
  4902  //
  4903  // This method is useful when you want to inject custom logic or configuration
  4904  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4905  //
  4906  //
  4907  //    // Example sending a request using the ListAgentStatusesRequest method.
  4908  //    req, resp := client.ListAgentStatusesRequest(params)
  4909  //
  4910  //    err := req.Send()
  4911  //    if err == nil { // resp is now filled
  4912  //        fmt.Println(resp)
  4913  //    }
  4914  //
  4915  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListAgentStatuses
  4916  func (c *Connect) ListAgentStatusesRequest(input *ListAgentStatusesInput) (req *request.Request, output *ListAgentStatusesOutput) {
  4917  	op := &request.Operation{
  4918  		Name:       opListAgentStatuses,
  4919  		HTTPMethod: "GET",
  4920  		HTTPPath:   "/agent-status/{InstanceId}",
  4921  		Paginator: &request.Paginator{
  4922  			InputTokens:     []string{"NextToken"},
  4923  			OutputTokens:    []string{"NextToken"},
  4924  			LimitToken:      "MaxResults",
  4925  			TruncationToken: "",
  4926  		},
  4927  	}
  4928  
  4929  	if input == nil {
  4930  		input = &ListAgentStatusesInput{}
  4931  	}
  4932  
  4933  	output = &ListAgentStatusesOutput{}
  4934  	req = c.newRequest(op, input, output)
  4935  	return
  4936  }
  4937  
  4938  // ListAgentStatuses API operation for Amazon Connect Service.
  4939  //
  4940  // This API is in preview release for Amazon Connect and is subject to change.
  4941  //
  4942  // Lists agent statuses.
  4943  //
  4944  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4945  // with awserr.Error's Code and Message methods to get detailed information about
  4946  // the error.
  4947  //
  4948  // See the AWS API reference guide for Amazon Connect Service's
  4949  // API operation ListAgentStatuses for usage and error information.
  4950  //
  4951  // Returned Error Types:
  4952  //   * InvalidRequestException
  4953  //   The request is not valid.
  4954  //
  4955  //   * InvalidParameterException
  4956  //   One or more of the specified parameters are not valid.
  4957  //
  4958  //   * ResourceNotFoundException
  4959  //   The specified resource was not found.
  4960  //
  4961  //   * ThrottlingException
  4962  //   The throttling limit has been exceeded.
  4963  //
  4964  //   * InternalServiceException
  4965  //   Request processing failed because of an error or failure with the service.
  4966  //
  4967  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListAgentStatuses
  4968  func (c *Connect) ListAgentStatuses(input *ListAgentStatusesInput) (*ListAgentStatusesOutput, error) {
  4969  	req, out := c.ListAgentStatusesRequest(input)
  4970  	return out, req.Send()
  4971  }
  4972  
  4973  // ListAgentStatusesWithContext is the same as ListAgentStatuses with the addition of
  4974  // the ability to pass a context and additional request options.
  4975  //
  4976  // See ListAgentStatuses for details on how to use this API operation.
  4977  //
  4978  // The context must be non-nil and will be used for request cancellation. If
  4979  // the context is nil a panic will occur. In the future the SDK may create
  4980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4981  // for more information on using Contexts.
  4982  func (c *Connect) ListAgentStatusesWithContext(ctx aws.Context, input *ListAgentStatusesInput, opts ...request.Option) (*ListAgentStatusesOutput, error) {
  4983  	req, out := c.ListAgentStatusesRequest(input)
  4984  	req.SetContext(ctx)
  4985  	req.ApplyOptions(opts...)
  4986  	return out, req.Send()
  4987  }
  4988  
  4989  // ListAgentStatusesPages iterates over the pages of a ListAgentStatuses operation,
  4990  // calling the "fn" function with the response data for each page. To stop
  4991  // iterating, return false from the fn function.
  4992  //
  4993  // See ListAgentStatuses method for more information on how to use this operation.
  4994  //
  4995  // Note: This operation can generate multiple requests to a service.
  4996  //
  4997  //    // Example iterating over at most 3 pages of a ListAgentStatuses operation.
  4998  //    pageNum := 0
  4999  //    err := client.ListAgentStatusesPages(params,
  5000  //        func(page *connect.ListAgentStatusesOutput, lastPage bool) bool {
  5001  //            pageNum++
  5002  //            fmt.Println(page)
  5003  //            return pageNum <= 3
  5004  //        })
  5005  //
  5006  func (c *Connect) ListAgentStatusesPages(input *ListAgentStatusesInput, fn func(*ListAgentStatusesOutput, bool) bool) error {
  5007  	return c.ListAgentStatusesPagesWithContext(aws.BackgroundContext(), input, fn)
  5008  }
  5009  
  5010  // ListAgentStatusesPagesWithContext same as ListAgentStatusesPages except
  5011  // it takes a Context and allows setting request options on the pages.
  5012  //
  5013  // The context must be non-nil and will be used for request cancellation. If
  5014  // the context is nil a panic will occur. In the future the SDK may create
  5015  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5016  // for more information on using Contexts.
  5017  func (c *Connect) ListAgentStatusesPagesWithContext(ctx aws.Context, input *ListAgentStatusesInput, fn func(*ListAgentStatusesOutput, bool) bool, opts ...request.Option) error {
  5018  	p := request.Pagination{
  5019  		NewRequest: func() (*request.Request, error) {
  5020  			var inCpy *ListAgentStatusesInput
  5021  			if input != nil {
  5022  				tmp := *input
  5023  				inCpy = &tmp
  5024  			}
  5025  			req, _ := c.ListAgentStatusesRequest(inCpy)
  5026  			req.SetContext(ctx)
  5027  			req.ApplyOptions(opts...)
  5028  			return req, nil
  5029  		},
  5030  	}
  5031  
  5032  	for p.Next() {
  5033  		if !fn(p.Page().(*ListAgentStatusesOutput), !p.HasNextPage()) {
  5034  			break
  5035  		}
  5036  	}
  5037  
  5038  	return p.Err()
  5039  }
  5040  
  5041  const opListApprovedOrigins = "ListApprovedOrigins"
  5042  
  5043  // ListApprovedOriginsRequest generates a "aws/request.Request" representing the
  5044  // client's request for the ListApprovedOrigins operation. The "output" return
  5045  // value will be populated with the request's response once the request completes
  5046  // successfully.
  5047  //
  5048  // Use "Send" method on the returned Request to send the API call to the service.
  5049  // the "output" return value is not valid until after Send returns without error.
  5050  //
  5051  // See ListApprovedOrigins for more information on using the ListApprovedOrigins
  5052  // API call, and error handling.
  5053  //
  5054  // This method is useful when you want to inject custom logic or configuration
  5055  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5056  //
  5057  //
  5058  //    // Example sending a request using the ListApprovedOriginsRequest method.
  5059  //    req, resp := client.ListApprovedOriginsRequest(params)
  5060  //
  5061  //    err := req.Send()
  5062  //    if err == nil { // resp is now filled
  5063  //        fmt.Println(resp)
  5064  //    }
  5065  //
  5066  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListApprovedOrigins
  5067  func (c *Connect) ListApprovedOriginsRequest(input *ListApprovedOriginsInput) (req *request.Request, output *ListApprovedOriginsOutput) {
  5068  	op := &request.Operation{
  5069  		Name:       opListApprovedOrigins,
  5070  		HTTPMethod: "GET",
  5071  		HTTPPath:   "/instance/{InstanceId}/approved-origins",
  5072  		Paginator: &request.Paginator{
  5073  			InputTokens:     []string{"NextToken"},
  5074  			OutputTokens:    []string{"NextToken"},
  5075  			LimitToken:      "MaxResults",
  5076  			TruncationToken: "",
  5077  		},
  5078  	}
  5079  
  5080  	if input == nil {
  5081  		input = &ListApprovedOriginsInput{}
  5082  	}
  5083  
  5084  	output = &ListApprovedOriginsOutput{}
  5085  	req = c.newRequest(op, input, output)
  5086  	return
  5087  }
  5088  
  5089  // ListApprovedOrigins API operation for Amazon Connect Service.
  5090  //
  5091  // This API is in preview release for Amazon Connect and is subject to change.
  5092  //
  5093  // Returns a paginated list of all approved origins associated with the instance.
  5094  //
  5095  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5096  // with awserr.Error's Code and Message methods to get detailed information about
  5097  // the error.
  5098  //
  5099  // See the AWS API reference guide for Amazon Connect Service's
  5100  // API operation ListApprovedOrigins for usage and error information.
  5101  //
  5102  // Returned Error Types:
  5103  //   * ResourceNotFoundException
  5104  //   The specified resource was not found.
  5105  //
  5106  //   * InternalServiceException
  5107  //   Request processing failed because of an error or failure with the service.
  5108  //
  5109  //   * InvalidRequestException
  5110  //   The request is not valid.
  5111  //
  5112  //   * InvalidParameterException
  5113  //   One or more of the specified parameters are not valid.
  5114  //
  5115  //   * ThrottlingException
  5116  //   The throttling limit has been exceeded.
  5117  //
  5118  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListApprovedOrigins
  5119  func (c *Connect) ListApprovedOrigins(input *ListApprovedOriginsInput) (*ListApprovedOriginsOutput, error) {
  5120  	req, out := c.ListApprovedOriginsRequest(input)
  5121  	return out, req.Send()
  5122  }
  5123  
  5124  // ListApprovedOriginsWithContext is the same as ListApprovedOrigins with the addition of
  5125  // the ability to pass a context and additional request options.
  5126  //
  5127  // See ListApprovedOrigins for details on how to use this API operation.
  5128  //
  5129  // The context must be non-nil and will be used for request cancellation. If
  5130  // the context is nil a panic will occur. In the future the SDK may create
  5131  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5132  // for more information on using Contexts.
  5133  func (c *Connect) ListApprovedOriginsWithContext(ctx aws.Context, input *ListApprovedOriginsInput, opts ...request.Option) (*ListApprovedOriginsOutput, error) {
  5134  	req, out := c.ListApprovedOriginsRequest(input)
  5135  	req.SetContext(ctx)
  5136  	req.ApplyOptions(opts...)
  5137  	return out, req.Send()
  5138  }
  5139  
  5140  // ListApprovedOriginsPages iterates over the pages of a ListApprovedOrigins operation,
  5141  // calling the "fn" function with the response data for each page. To stop
  5142  // iterating, return false from the fn function.
  5143  //
  5144  // See ListApprovedOrigins method for more information on how to use this operation.
  5145  //
  5146  // Note: This operation can generate multiple requests to a service.
  5147  //
  5148  //    // Example iterating over at most 3 pages of a ListApprovedOrigins operation.
  5149  //    pageNum := 0
  5150  //    err := client.ListApprovedOriginsPages(params,
  5151  //        func(page *connect.ListApprovedOriginsOutput, lastPage bool) bool {
  5152  //            pageNum++
  5153  //            fmt.Println(page)
  5154  //            return pageNum <= 3
  5155  //        })
  5156  //
  5157  func (c *Connect) ListApprovedOriginsPages(input *ListApprovedOriginsInput, fn func(*ListApprovedOriginsOutput, bool) bool) error {
  5158  	return c.ListApprovedOriginsPagesWithContext(aws.BackgroundContext(), input, fn)
  5159  }
  5160  
  5161  // ListApprovedOriginsPagesWithContext same as ListApprovedOriginsPages except
  5162  // it takes a Context and allows setting request options on the pages.
  5163  //
  5164  // The context must be non-nil and will be used for request cancellation. If
  5165  // the context is nil a panic will occur. In the future the SDK may create
  5166  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5167  // for more information on using Contexts.
  5168  func (c *Connect) ListApprovedOriginsPagesWithContext(ctx aws.Context, input *ListApprovedOriginsInput, fn func(*ListApprovedOriginsOutput, bool) bool, opts ...request.Option) error {
  5169  	p := request.Pagination{
  5170  		NewRequest: func() (*request.Request, error) {
  5171  			var inCpy *ListApprovedOriginsInput
  5172  			if input != nil {
  5173  				tmp := *input
  5174  				inCpy = &tmp
  5175  			}
  5176  			req, _ := c.ListApprovedOriginsRequest(inCpy)
  5177  			req.SetContext(ctx)
  5178  			req.ApplyOptions(opts...)
  5179  			return req, nil
  5180  		},
  5181  	}
  5182  
  5183  	for p.Next() {
  5184  		if !fn(p.Page().(*ListApprovedOriginsOutput), !p.HasNextPage()) {
  5185  			break
  5186  		}
  5187  	}
  5188  
  5189  	return p.Err()
  5190  }
  5191  
  5192  const opListBots = "ListBots"
  5193  
  5194  // ListBotsRequest generates a "aws/request.Request" representing the
  5195  // client's request for the ListBots operation. The "output" return
  5196  // value will be populated with the request's response once the request completes
  5197  // successfully.
  5198  //
  5199  // Use "Send" method on the returned Request to send the API call to the service.
  5200  // the "output" return value is not valid until after Send returns without error.
  5201  //
  5202  // See ListBots for more information on using the ListBots
  5203  // API call, and error handling.
  5204  //
  5205  // This method is useful when you want to inject custom logic or configuration
  5206  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5207  //
  5208  //
  5209  //    // Example sending a request using the ListBotsRequest method.
  5210  //    req, resp := client.ListBotsRequest(params)
  5211  //
  5212  //    err := req.Send()
  5213  //    if err == nil { // resp is now filled
  5214  //        fmt.Println(resp)
  5215  //    }
  5216  //
  5217  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListBots
  5218  func (c *Connect) ListBotsRequest(input *ListBotsInput) (req *request.Request, output *ListBotsOutput) {
  5219  	op := &request.Operation{
  5220  		Name:       opListBots,
  5221  		HTTPMethod: "GET",
  5222  		HTTPPath:   "/instance/{InstanceId}/bots",
  5223  		Paginator: &request.Paginator{
  5224  			InputTokens:     []string{"NextToken"},
  5225  			OutputTokens:    []string{"NextToken"},
  5226  			LimitToken:      "MaxResults",
  5227  			TruncationToken: "",
  5228  		},
  5229  	}
  5230  
  5231  	if input == nil {
  5232  		input = &ListBotsInput{}
  5233  	}
  5234  
  5235  	output = &ListBotsOutput{}
  5236  	req = c.newRequest(op, input, output)
  5237  	return
  5238  }
  5239  
  5240  // ListBots API operation for Amazon Connect Service.
  5241  //
  5242  // This API is in preview release for Amazon Connect and is subject to change.
  5243  //
  5244  // For the specified version of Amazon Lex, returns a paginated list of all
  5245  // the Amazon Lex bots currently associated with the instance.
  5246  //
  5247  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5248  // with awserr.Error's Code and Message methods to get detailed information about
  5249  // the error.
  5250  //
  5251  // See the AWS API reference guide for Amazon Connect Service's
  5252  // API operation ListBots for usage and error information.
  5253  //
  5254  // Returned Error Types:
  5255  //   * ResourceNotFoundException
  5256  //   The specified resource was not found.
  5257  //
  5258  //   * InternalServiceException
  5259  //   Request processing failed because of an error or failure with the service.
  5260  //
  5261  //   * InvalidRequestException
  5262  //   The request is not valid.
  5263  //
  5264  //   * ThrottlingException
  5265  //   The throttling limit has been exceeded.
  5266  //
  5267  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListBots
  5268  func (c *Connect) ListBots(input *ListBotsInput) (*ListBotsOutput, error) {
  5269  	req, out := c.ListBotsRequest(input)
  5270  	return out, req.Send()
  5271  }
  5272  
  5273  // ListBotsWithContext is the same as ListBots with the addition of
  5274  // the ability to pass a context and additional request options.
  5275  //
  5276  // See ListBots for details on how to use this API operation.
  5277  //
  5278  // The context must be non-nil and will be used for request cancellation. If
  5279  // the context is nil a panic will occur. In the future the SDK may create
  5280  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5281  // for more information on using Contexts.
  5282  func (c *Connect) ListBotsWithContext(ctx aws.Context, input *ListBotsInput, opts ...request.Option) (*ListBotsOutput, error) {
  5283  	req, out := c.ListBotsRequest(input)
  5284  	req.SetContext(ctx)
  5285  	req.ApplyOptions(opts...)
  5286  	return out, req.Send()
  5287  }
  5288  
  5289  // ListBotsPages iterates over the pages of a ListBots operation,
  5290  // calling the "fn" function with the response data for each page. To stop
  5291  // iterating, return false from the fn function.
  5292  //
  5293  // See ListBots method for more information on how to use this operation.
  5294  //
  5295  // Note: This operation can generate multiple requests to a service.
  5296  //
  5297  //    // Example iterating over at most 3 pages of a ListBots operation.
  5298  //    pageNum := 0
  5299  //    err := client.ListBotsPages(params,
  5300  //        func(page *connect.ListBotsOutput, lastPage bool) bool {
  5301  //            pageNum++
  5302  //            fmt.Println(page)
  5303  //            return pageNum <= 3
  5304  //        })
  5305  //
  5306  func (c *Connect) ListBotsPages(input *ListBotsInput, fn func(*ListBotsOutput, bool) bool) error {
  5307  	return c.ListBotsPagesWithContext(aws.BackgroundContext(), input, fn)
  5308  }
  5309  
  5310  // ListBotsPagesWithContext same as ListBotsPages except
  5311  // it takes a Context and allows setting request options on the pages.
  5312  //
  5313  // The context must be non-nil and will be used for request cancellation. If
  5314  // the context is nil a panic will occur. In the future the SDK may create
  5315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5316  // for more information on using Contexts.
  5317  func (c *Connect) ListBotsPagesWithContext(ctx aws.Context, input *ListBotsInput, fn func(*ListBotsOutput, bool) bool, opts ...request.Option) error {
  5318  	p := request.Pagination{
  5319  		NewRequest: func() (*request.Request, error) {
  5320  			var inCpy *ListBotsInput
  5321  			if input != nil {
  5322  				tmp := *input
  5323  				inCpy = &tmp
  5324  			}
  5325  			req, _ := c.ListBotsRequest(inCpy)
  5326  			req.SetContext(ctx)
  5327  			req.ApplyOptions(opts...)
  5328  			return req, nil
  5329  		},
  5330  	}
  5331  
  5332  	for p.Next() {
  5333  		if !fn(p.Page().(*ListBotsOutput), !p.HasNextPage()) {
  5334  			break
  5335  		}
  5336  	}
  5337  
  5338  	return p.Err()
  5339  }
  5340  
  5341  const opListContactFlows = "ListContactFlows"
  5342  
  5343  // ListContactFlowsRequest generates a "aws/request.Request" representing the
  5344  // client's request for the ListContactFlows operation. The "output" return
  5345  // value will be populated with the request's response once the request completes
  5346  // successfully.
  5347  //
  5348  // Use "Send" method on the returned Request to send the API call to the service.
  5349  // the "output" return value is not valid until after Send returns without error.
  5350  //
  5351  // See ListContactFlows for more information on using the ListContactFlows
  5352  // API call, and error handling.
  5353  //
  5354  // This method is useful when you want to inject custom logic or configuration
  5355  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5356  //
  5357  //
  5358  //    // Example sending a request using the ListContactFlowsRequest method.
  5359  //    req, resp := client.ListContactFlowsRequest(params)
  5360  //
  5361  //    err := req.Send()
  5362  //    if err == nil { // resp is now filled
  5363  //        fmt.Println(resp)
  5364  //    }
  5365  //
  5366  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows
  5367  func (c *Connect) ListContactFlowsRequest(input *ListContactFlowsInput) (req *request.Request, output *ListContactFlowsOutput) {
  5368  	op := &request.Operation{
  5369  		Name:       opListContactFlows,
  5370  		HTTPMethod: "GET",
  5371  		HTTPPath:   "/contact-flows-summary/{InstanceId}",
  5372  		Paginator: &request.Paginator{
  5373  			InputTokens:     []string{"NextToken"},
  5374  			OutputTokens:    []string{"NextToken"},
  5375  			LimitToken:      "MaxResults",
  5376  			TruncationToken: "",
  5377  		},
  5378  	}
  5379  
  5380  	if input == nil {
  5381  		input = &ListContactFlowsInput{}
  5382  	}
  5383  
  5384  	output = &ListContactFlowsOutput{}
  5385  	req = c.newRequest(op, input, output)
  5386  	return
  5387  }
  5388  
  5389  // ListContactFlows API operation for Amazon Connect Service.
  5390  //
  5391  // Provides information about the contact flows for the specified Amazon Connect
  5392  // instance.
  5393  //
  5394  // You can also create and update contact flows using the Amazon Connect Flow
  5395  // language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
  5396  //
  5397  // For more information about contact flows, see Contact Flows (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-contact-flows.html)
  5398  // in the Amazon Connect Administrator Guide.
  5399  //
  5400  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5401  // with awserr.Error's Code and Message methods to get detailed information about
  5402  // the error.
  5403  //
  5404  // See the AWS API reference guide for Amazon Connect Service's
  5405  // API operation ListContactFlows for usage and error information.
  5406  //
  5407  // Returned Error Types:
  5408  //   * InvalidRequestException
  5409  //   The request is not valid.
  5410  //
  5411  //   * InvalidParameterException
  5412  //   One or more of the specified parameters are not valid.
  5413  //
  5414  //   * ResourceNotFoundException
  5415  //   The specified resource was not found.
  5416  //
  5417  //   * ThrottlingException
  5418  //   The throttling limit has been exceeded.
  5419  //
  5420  //   * InternalServiceException
  5421  //   Request processing failed because of an error or failure with the service.
  5422  //
  5423  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListContactFlows
  5424  func (c *Connect) ListContactFlows(input *ListContactFlowsInput) (*ListContactFlowsOutput, error) {
  5425  	req, out := c.ListContactFlowsRequest(input)
  5426  	return out, req.Send()
  5427  }
  5428  
  5429  // ListContactFlowsWithContext is the same as ListContactFlows with the addition of
  5430  // the ability to pass a context and additional request options.
  5431  //
  5432  // See ListContactFlows for details on how to use this API operation.
  5433  //
  5434  // The context must be non-nil and will be used for request cancellation. If
  5435  // the context is nil a panic will occur. In the future the SDK may create
  5436  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5437  // for more information on using Contexts.
  5438  func (c *Connect) ListContactFlowsWithContext(ctx aws.Context, input *ListContactFlowsInput, opts ...request.Option) (*ListContactFlowsOutput, error) {
  5439  	req, out := c.ListContactFlowsRequest(input)
  5440  	req.SetContext(ctx)
  5441  	req.ApplyOptions(opts...)
  5442  	return out, req.Send()
  5443  }
  5444  
  5445  // ListContactFlowsPages iterates over the pages of a ListContactFlows operation,
  5446  // calling the "fn" function with the response data for each page. To stop
  5447  // iterating, return false from the fn function.
  5448  //
  5449  // See ListContactFlows method for more information on how to use this operation.
  5450  //
  5451  // Note: This operation can generate multiple requests to a service.
  5452  //
  5453  //    // Example iterating over at most 3 pages of a ListContactFlows operation.
  5454  //    pageNum := 0
  5455  //    err := client.ListContactFlowsPages(params,
  5456  //        func(page *connect.ListContactFlowsOutput, lastPage bool) bool {
  5457  //            pageNum++
  5458  //            fmt.Println(page)
  5459  //            return pageNum <= 3
  5460  //        })
  5461  //
  5462  func (c *Connect) ListContactFlowsPages(input *ListContactFlowsInput, fn func(*ListContactFlowsOutput, bool) bool) error {
  5463  	return c.ListContactFlowsPagesWithContext(aws.BackgroundContext(), input, fn)
  5464  }
  5465  
  5466  // ListContactFlowsPagesWithContext same as ListContactFlowsPages except
  5467  // it takes a Context and allows setting request options on the pages.
  5468  //
  5469  // The context must be non-nil and will be used for request cancellation. If
  5470  // the context is nil a panic will occur. In the future the SDK may create
  5471  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5472  // for more information on using Contexts.
  5473  func (c *Connect) ListContactFlowsPagesWithContext(ctx aws.Context, input *ListContactFlowsInput, fn func(*ListContactFlowsOutput, bool) bool, opts ...request.Option) error {
  5474  	p := request.Pagination{
  5475  		NewRequest: func() (*request.Request, error) {
  5476  			var inCpy *ListContactFlowsInput
  5477  			if input != nil {
  5478  				tmp := *input
  5479  				inCpy = &tmp
  5480  			}
  5481  			req, _ := c.ListContactFlowsRequest(inCpy)
  5482  			req.SetContext(ctx)
  5483  			req.ApplyOptions(opts...)
  5484  			return req, nil
  5485  		},
  5486  	}
  5487  
  5488  	for p.Next() {
  5489  		if !fn(p.Page().(*ListContactFlowsOutput), !p.HasNextPage()) {
  5490  			break
  5491  		}
  5492  	}
  5493  
  5494  	return p.Err()
  5495  }
  5496  
  5497  const opListHoursOfOperations = "ListHoursOfOperations"
  5498  
  5499  // ListHoursOfOperationsRequest generates a "aws/request.Request" representing the
  5500  // client's request for the ListHoursOfOperations operation. The "output" return
  5501  // value will be populated with the request's response once the request completes
  5502  // successfully.
  5503  //
  5504  // Use "Send" method on the returned Request to send the API call to the service.
  5505  // the "output" return value is not valid until after Send returns without error.
  5506  //
  5507  // See ListHoursOfOperations for more information on using the ListHoursOfOperations
  5508  // API call, and error handling.
  5509  //
  5510  // This method is useful when you want to inject custom logic or configuration
  5511  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5512  //
  5513  //
  5514  //    // Example sending a request using the ListHoursOfOperationsRequest method.
  5515  //    req, resp := client.ListHoursOfOperationsRequest(params)
  5516  //
  5517  //    err := req.Send()
  5518  //    if err == nil { // resp is now filled
  5519  //        fmt.Println(resp)
  5520  //    }
  5521  //
  5522  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations
  5523  func (c *Connect) ListHoursOfOperationsRequest(input *ListHoursOfOperationsInput) (req *request.Request, output *ListHoursOfOperationsOutput) {
  5524  	op := &request.Operation{
  5525  		Name:       opListHoursOfOperations,
  5526  		HTTPMethod: "GET",
  5527  		HTTPPath:   "/hours-of-operations-summary/{InstanceId}",
  5528  		Paginator: &request.Paginator{
  5529  			InputTokens:     []string{"NextToken"},
  5530  			OutputTokens:    []string{"NextToken"},
  5531  			LimitToken:      "MaxResults",
  5532  			TruncationToken: "",
  5533  		},
  5534  	}
  5535  
  5536  	if input == nil {
  5537  		input = &ListHoursOfOperationsInput{}
  5538  	}
  5539  
  5540  	output = &ListHoursOfOperationsOutput{}
  5541  	req = c.newRequest(op, input, output)
  5542  	return
  5543  }
  5544  
  5545  // ListHoursOfOperations API operation for Amazon Connect Service.
  5546  //
  5547  // Provides information about the hours of operation for the specified Amazon
  5548  // Connect instance.
  5549  //
  5550  // For more information about hours of operation, see Set the Hours of Operation
  5551  // for a Queue (https://docs.aws.amazon.com/connect/latest/adminguide/set-hours-operation.html)
  5552  // in the Amazon Connect Administrator Guide.
  5553  //
  5554  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5555  // with awserr.Error's Code and Message methods to get detailed information about
  5556  // the error.
  5557  //
  5558  // See the AWS API reference guide for Amazon Connect Service's
  5559  // API operation ListHoursOfOperations for usage and error information.
  5560  //
  5561  // Returned Error Types:
  5562  //   * InvalidRequestException
  5563  //   The request is not valid.
  5564  //
  5565  //   * InvalidParameterException
  5566  //   One or more of the specified parameters are not valid.
  5567  //
  5568  //   * ResourceNotFoundException
  5569  //   The specified resource was not found.
  5570  //
  5571  //   * ThrottlingException
  5572  //   The throttling limit has been exceeded.
  5573  //
  5574  //   * InternalServiceException
  5575  //   Request processing failed because of an error or failure with the service.
  5576  //
  5577  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListHoursOfOperations
  5578  func (c *Connect) ListHoursOfOperations(input *ListHoursOfOperationsInput) (*ListHoursOfOperationsOutput, error) {
  5579  	req, out := c.ListHoursOfOperationsRequest(input)
  5580  	return out, req.Send()
  5581  }
  5582  
  5583  // ListHoursOfOperationsWithContext is the same as ListHoursOfOperations with the addition of
  5584  // the ability to pass a context and additional request options.
  5585  //
  5586  // See ListHoursOfOperations for details on how to use this API operation.
  5587  //
  5588  // The context must be non-nil and will be used for request cancellation. If
  5589  // the context is nil a panic will occur. In the future the SDK may create
  5590  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5591  // for more information on using Contexts.
  5592  func (c *Connect) ListHoursOfOperationsWithContext(ctx aws.Context, input *ListHoursOfOperationsInput, opts ...request.Option) (*ListHoursOfOperationsOutput, error) {
  5593  	req, out := c.ListHoursOfOperationsRequest(input)
  5594  	req.SetContext(ctx)
  5595  	req.ApplyOptions(opts...)
  5596  	return out, req.Send()
  5597  }
  5598  
  5599  // ListHoursOfOperationsPages iterates over the pages of a ListHoursOfOperations operation,
  5600  // calling the "fn" function with the response data for each page. To stop
  5601  // iterating, return false from the fn function.
  5602  //
  5603  // See ListHoursOfOperations method for more information on how to use this operation.
  5604  //
  5605  // Note: This operation can generate multiple requests to a service.
  5606  //
  5607  //    // Example iterating over at most 3 pages of a ListHoursOfOperations operation.
  5608  //    pageNum := 0
  5609  //    err := client.ListHoursOfOperationsPages(params,
  5610  //        func(page *connect.ListHoursOfOperationsOutput, lastPage bool) bool {
  5611  //            pageNum++
  5612  //            fmt.Println(page)
  5613  //            return pageNum <= 3
  5614  //        })
  5615  //
  5616  func (c *Connect) ListHoursOfOperationsPages(input *ListHoursOfOperationsInput, fn func(*ListHoursOfOperationsOutput, bool) bool) error {
  5617  	return c.ListHoursOfOperationsPagesWithContext(aws.BackgroundContext(), input, fn)
  5618  }
  5619  
  5620  // ListHoursOfOperationsPagesWithContext same as ListHoursOfOperationsPages except
  5621  // it takes a Context and allows setting request options on the pages.
  5622  //
  5623  // The context must be non-nil and will be used for request cancellation. If
  5624  // the context is nil a panic will occur. In the future the SDK may create
  5625  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5626  // for more information on using Contexts.
  5627  func (c *Connect) ListHoursOfOperationsPagesWithContext(ctx aws.Context, input *ListHoursOfOperationsInput, fn func(*ListHoursOfOperationsOutput, bool) bool, opts ...request.Option) error {
  5628  	p := request.Pagination{
  5629  		NewRequest: func() (*request.Request, error) {
  5630  			var inCpy *ListHoursOfOperationsInput
  5631  			if input != nil {
  5632  				tmp := *input
  5633  				inCpy = &tmp
  5634  			}
  5635  			req, _ := c.ListHoursOfOperationsRequest(inCpy)
  5636  			req.SetContext(ctx)
  5637  			req.ApplyOptions(opts...)
  5638  			return req, nil
  5639  		},
  5640  	}
  5641  
  5642  	for p.Next() {
  5643  		if !fn(p.Page().(*ListHoursOfOperationsOutput), !p.HasNextPage()) {
  5644  			break
  5645  		}
  5646  	}
  5647  
  5648  	return p.Err()
  5649  }
  5650  
  5651  const opListInstanceAttributes = "ListInstanceAttributes"
  5652  
  5653  // ListInstanceAttributesRequest generates a "aws/request.Request" representing the
  5654  // client's request for the ListInstanceAttributes operation. The "output" return
  5655  // value will be populated with the request's response once the request completes
  5656  // successfully.
  5657  //
  5658  // Use "Send" method on the returned Request to send the API call to the service.
  5659  // the "output" return value is not valid until after Send returns without error.
  5660  //
  5661  // See ListInstanceAttributes for more information on using the ListInstanceAttributes
  5662  // API call, and error handling.
  5663  //
  5664  // This method is useful when you want to inject custom logic or configuration
  5665  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5666  //
  5667  //
  5668  //    // Example sending a request using the ListInstanceAttributesRequest method.
  5669  //    req, resp := client.ListInstanceAttributesRequest(params)
  5670  //
  5671  //    err := req.Send()
  5672  //    if err == nil { // resp is now filled
  5673  //        fmt.Println(resp)
  5674  //    }
  5675  //
  5676  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceAttributes
  5677  func (c *Connect) ListInstanceAttributesRequest(input *ListInstanceAttributesInput) (req *request.Request, output *ListInstanceAttributesOutput) {
  5678  	op := &request.Operation{
  5679  		Name:       opListInstanceAttributes,
  5680  		HTTPMethod: "GET",
  5681  		HTTPPath:   "/instance/{InstanceId}/attributes",
  5682  		Paginator: &request.Paginator{
  5683  			InputTokens:     []string{"NextToken"},
  5684  			OutputTokens:    []string{"NextToken"},
  5685  			LimitToken:      "MaxResults",
  5686  			TruncationToken: "",
  5687  		},
  5688  	}
  5689  
  5690  	if input == nil {
  5691  		input = &ListInstanceAttributesInput{}
  5692  	}
  5693  
  5694  	output = &ListInstanceAttributesOutput{}
  5695  	req = c.newRequest(op, input, output)
  5696  	return
  5697  }
  5698  
  5699  // ListInstanceAttributes API operation for Amazon Connect Service.
  5700  //
  5701  // This API is in preview release for Amazon Connect and is subject to change.
  5702  //
  5703  // Returns a paginated list of all attribute types for the given instance.
  5704  //
  5705  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5706  // with awserr.Error's Code and Message methods to get detailed information about
  5707  // the error.
  5708  //
  5709  // See the AWS API reference guide for Amazon Connect Service's
  5710  // API operation ListInstanceAttributes for usage and error information.
  5711  //
  5712  // Returned Error Types:
  5713  //   * ResourceNotFoundException
  5714  //   The specified resource was not found.
  5715  //
  5716  //   * InternalServiceException
  5717  //   Request processing failed because of an error or failure with the service.
  5718  //
  5719  //   * InvalidRequestException
  5720  //   The request is not valid.
  5721  //
  5722  //   * InvalidParameterException
  5723  //   One or more of the specified parameters are not valid.
  5724  //
  5725  //   * ThrottlingException
  5726  //   The throttling limit has been exceeded.
  5727  //
  5728  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceAttributes
  5729  func (c *Connect) ListInstanceAttributes(input *ListInstanceAttributesInput) (*ListInstanceAttributesOutput, error) {
  5730  	req, out := c.ListInstanceAttributesRequest(input)
  5731  	return out, req.Send()
  5732  }
  5733  
  5734  // ListInstanceAttributesWithContext is the same as ListInstanceAttributes with the addition of
  5735  // the ability to pass a context and additional request options.
  5736  //
  5737  // See ListInstanceAttributes for details on how to use this API operation.
  5738  //
  5739  // The context must be non-nil and will be used for request cancellation. If
  5740  // the context is nil a panic will occur. In the future the SDK may create
  5741  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5742  // for more information on using Contexts.
  5743  func (c *Connect) ListInstanceAttributesWithContext(ctx aws.Context, input *ListInstanceAttributesInput, opts ...request.Option) (*ListInstanceAttributesOutput, error) {
  5744  	req, out := c.ListInstanceAttributesRequest(input)
  5745  	req.SetContext(ctx)
  5746  	req.ApplyOptions(opts...)
  5747  	return out, req.Send()
  5748  }
  5749  
  5750  // ListInstanceAttributesPages iterates over the pages of a ListInstanceAttributes operation,
  5751  // calling the "fn" function with the response data for each page. To stop
  5752  // iterating, return false from the fn function.
  5753  //
  5754  // See ListInstanceAttributes method for more information on how to use this operation.
  5755  //
  5756  // Note: This operation can generate multiple requests to a service.
  5757  //
  5758  //    // Example iterating over at most 3 pages of a ListInstanceAttributes operation.
  5759  //    pageNum := 0
  5760  //    err := client.ListInstanceAttributesPages(params,
  5761  //        func(page *connect.ListInstanceAttributesOutput, lastPage bool) bool {
  5762  //            pageNum++
  5763  //            fmt.Println(page)
  5764  //            return pageNum <= 3
  5765  //        })
  5766  //
  5767  func (c *Connect) ListInstanceAttributesPages(input *ListInstanceAttributesInput, fn func(*ListInstanceAttributesOutput, bool) bool) error {
  5768  	return c.ListInstanceAttributesPagesWithContext(aws.BackgroundContext(), input, fn)
  5769  }
  5770  
  5771  // ListInstanceAttributesPagesWithContext same as ListInstanceAttributesPages except
  5772  // it takes a Context and allows setting request options on the pages.
  5773  //
  5774  // The context must be non-nil and will be used for request cancellation. If
  5775  // the context is nil a panic will occur. In the future the SDK may create
  5776  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5777  // for more information on using Contexts.
  5778  func (c *Connect) ListInstanceAttributesPagesWithContext(ctx aws.Context, input *ListInstanceAttributesInput, fn func(*ListInstanceAttributesOutput, bool) bool, opts ...request.Option) error {
  5779  	p := request.Pagination{
  5780  		NewRequest: func() (*request.Request, error) {
  5781  			var inCpy *ListInstanceAttributesInput
  5782  			if input != nil {
  5783  				tmp := *input
  5784  				inCpy = &tmp
  5785  			}
  5786  			req, _ := c.ListInstanceAttributesRequest(inCpy)
  5787  			req.SetContext(ctx)
  5788  			req.ApplyOptions(opts...)
  5789  			return req, nil
  5790  		},
  5791  	}
  5792  
  5793  	for p.Next() {
  5794  		if !fn(p.Page().(*ListInstanceAttributesOutput), !p.HasNextPage()) {
  5795  			break
  5796  		}
  5797  	}
  5798  
  5799  	return p.Err()
  5800  }
  5801  
  5802  const opListInstanceStorageConfigs = "ListInstanceStorageConfigs"
  5803  
  5804  // ListInstanceStorageConfigsRequest generates a "aws/request.Request" representing the
  5805  // client's request for the ListInstanceStorageConfigs operation. The "output" return
  5806  // value will be populated with the request's response once the request completes
  5807  // successfully.
  5808  //
  5809  // Use "Send" method on the returned Request to send the API call to the service.
  5810  // the "output" return value is not valid until after Send returns without error.
  5811  //
  5812  // See ListInstanceStorageConfigs for more information on using the ListInstanceStorageConfigs
  5813  // API call, and error handling.
  5814  //
  5815  // This method is useful when you want to inject custom logic or configuration
  5816  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5817  //
  5818  //
  5819  //    // Example sending a request using the ListInstanceStorageConfigsRequest method.
  5820  //    req, resp := client.ListInstanceStorageConfigsRequest(params)
  5821  //
  5822  //    err := req.Send()
  5823  //    if err == nil { // resp is now filled
  5824  //        fmt.Println(resp)
  5825  //    }
  5826  //
  5827  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceStorageConfigs
  5828  func (c *Connect) ListInstanceStorageConfigsRequest(input *ListInstanceStorageConfigsInput) (req *request.Request, output *ListInstanceStorageConfigsOutput) {
  5829  	op := &request.Operation{
  5830  		Name:       opListInstanceStorageConfigs,
  5831  		HTTPMethod: "GET",
  5832  		HTTPPath:   "/instance/{InstanceId}/storage-configs",
  5833  		Paginator: &request.Paginator{
  5834  			InputTokens:     []string{"NextToken"},
  5835  			OutputTokens:    []string{"NextToken"},
  5836  			LimitToken:      "MaxResults",
  5837  			TruncationToken: "",
  5838  		},
  5839  	}
  5840  
  5841  	if input == nil {
  5842  		input = &ListInstanceStorageConfigsInput{}
  5843  	}
  5844  
  5845  	output = &ListInstanceStorageConfigsOutput{}
  5846  	req = c.newRequest(op, input, output)
  5847  	return
  5848  }
  5849  
  5850  // ListInstanceStorageConfigs API operation for Amazon Connect Service.
  5851  //
  5852  // This API is in preview release for Amazon Connect and is subject to change.
  5853  //
  5854  // Returns a paginated list of storage configs for the identified instance and
  5855  // resource type.
  5856  //
  5857  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5858  // with awserr.Error's Code and Message methods to get detailed information about
  5859  // the error.
  5860  //
  5861  // See the AWS API reference guide for Amazon Connect Service's
  5862  // API operation ListInstanceStorageConfigs for usage and error information.
  5863  //
  5864  // Returned Error Types:
  5865  //   * ResourceNotFoundException
  5866  //   The specified resource was not found.
  5867  //
  5868  //   * InternalServiceException
  5869  //   Request processing failed because of an error or failure with the service.
  5870  //
  5871  //   * InvalidRequestException
  5872  //   The request is not valid.
  5873  //
  5874  //   * InvalidParameterException
  5875  //   One or more of the specified parameters are not valid.
  5876  //
  5877  //   * ThrottlingException
  5878  //   The throttling limit has been exceeded.
  5879  //
  5880  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstanceStorageConfigs
  5881  func (c *Connect) ListInstanceStorageConfigs(input *ListInstanceStorageConfigsInput) (*ListInstanceStorageConfigsOutput, error) {
  5882  	req, out := c.ListInstanceStorageConfigsRequest(input)
  5883  	return out, req.Send()
  5884  }
  5885  
  5886  // ListInstanceStorageConfigsWithContext is the same as ListInstanceStorageConfigs with the addition of
  5887  // the ability to pass a context and additional request options.
  5888  //
  5889  // See ListInstanceStorageConfigs for details on how to use this API operation.
  5890  //
  5891  // The context must be non-nil and will be used for request cancellation. If
  5892  // the context is nil a panic will occur. In the future the SDK may create
  5893  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5894  // for more information on using Contexts.
  5895  func (c *Connect) ListInstanceStorageConfigsWithContext(ctx aws.Context, input *ListInstanceStorageConfigsInput, opts ...request.Option) (*ListInstanceStorageConfigsOutput, error) {
  5896  	req, out := c.ListInstanceStorageConfigsRequest(input)
  5897  	req.SetContext(ctx)
  5898  	req.ApplyOptions(opts...)
  5899  	return out, req.Send()
  5900  }
  5901  
  5902  // ListInstanceStorageConfigsPages iterates over the pages of a ListInstanceStorageConfigs operation,
  5903  // calling the "fn" function with the response data for each page. To stop
  5904  // iterating, return false from the fn function.
  5905  //
  5906  // See ListInstanceStorageConfigs method for more information on how to use this operation.
  5907  //
  5908  // Note: This operation can generate multiple requests to a service.
  5909  //
  5910  //    // Example iterating over at most 3 pages of a ListInstanceStorageConfigs operation.
  5911  //    pageNum := 0
  5912  //    err := client.ListInstanceStorageConfigsPages(params,
  5913  //        func(page *connect.ListInstanceStorageConfigsOutput, lastPage bool) bool {
  5914  //            pageNum++
  5915  //            fmt.Println(page)
  5916  //            return pageNum <= 3
  5917  //        })
  5918  //
  5919  func (c *Connect) ListInstanceStorageConfigsPages(input *ListInstanceStorageConfigsInput, fn func(*ListInstanceStorageConfigsOutput, bool) bool) error {
  5920  	return c.ListInstanceStorageConfigsPagesWithContext(aws.BackgroundContext(), input, fn)
  5921  }
  5922  
  5923  // ListInstanceStorageConfigsPagesWithContext same as ListInstanceStorageConfigsPages except
  5924  // it takes a Context and allows setting request options on the pages.
  5925  //
  5926  // The context must be non-nil and will be used for request cancellation. If
  5927  // the context is nil a panic will occur. In the future the SDK may create
  5928  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5929  // for more information on using Contexts.
  5930  func (c *Connect) ListInstanceStorageConfigsPagesWithContext(ctx aws.Context, input *ListInstanceStorageConfigsInput, fn func(*ListInstanceStorageConfigsOutput, bool) bool, opts ...request.Option) error {
  5931  	p := request.Pagination{
  5932  		NewRequest: func() (*request.Request, error) {
  5933  			var inCpy *ListInstanceStorageConfigsInput
  5934  			if input != nil {
  5935  				tmp := *input
  5936  				inCpy = &tmp
  5937  			}
  5938  			req, _ := c.ListInstanceStorageConfigsRequest(inCpy)
  5939  			req.SetContext(ctx)
  5940  			req.ApplyOptions(opts...)
  5941  			return req, nil
  5942  		},
  5943  	}
  5944  
  5945  	for p.Next() {
  5946  		if !fn(p.Page().(*ListInstanceStorageConfigsOutput), !p.HasNextPage()) {
  5947  			break
  5948  		}
  5949  	}
  5950  
  5951  	return p.Err()
  5952  }
  5953  
  5954  const opListInstances = "ListInstances"
  5955  
  5956  // ListInstancesRequest generates a "aws/request.Request" representing the
  5957  // client's request for the ListInstances operation. The "output" return
  5958  // value will be populated with the request's response once the request completes
  5959  // successfully.
  5960  //
  5961  // Use "Send" method on the returned Request to send the API call to the service.
  5962  // the "output" return value is not valid until after Send returns without error.
  5963  //
  5964  // See ListInstances for more information on using the ListInstances
  5965  // API call, and error handling.
  5966  //
  5967  // This method is useful when you want to inject custom logic or configuration
  5968  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5969  //
  5970  //
  5971  //    // Example sending a request using the ListInstancesRequest method.
  5972  //    req, resp := client.ListInstancesRequest(params)
  5973  //
  5974  //    err := req.Send()
  5975  //    if err == nil { // resp is now filled
  5976  //        fmt.Println(resp)
  5977  //    }
  5978  //
  5979  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstances
  5980  func (c *Connect) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) {
  5981  	op := &request.Operation{
  5982  		Name:       opListInstances,
  5983  		HTTPMethod: "GET",
  5984  		HTTPPath:   "/instance",
  5985  		Paginator: &request.Paginator{
  5986  			InputTokens:     []string{"NextToken"},
  5987  			OutputTokens:    []string{"NextToken"},
  5988  			LimitToken:      "MaxResults",
  5989  			TruncationToken: "",
  5990  		},
  5991  	}
  5992  
  5993  	if input == nil {
  5994  		input = &ListInstancesInput{}
  5995  	}
  5996  
  5997  	output = &ListInstancesOutput{}
  5998  	req = c.newRequest(op, input, output)
  5999  	return
  6000  }
  6001  
  6002  // ListInstances API operation for Amazon Connect Service.
  6003  //
  6004  // This API is in preview release for Amazon Connect and is subject to change.
  6005  //
  6006  // Return a list of instances which are in active state, creation-in-progress
  6007  // state, and failed state. Instances that aren't successfully created (they
  6008  // are in a failed state) are returned only for 24 hours after the CreateInstance
  6009  // API was invoked.
  6010  //
  6011  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6012  // with awserr.Error's Code and Message methods to get detailed information about
  6013  // the error.
  6014  //
  6015  // See the AWS API reference guide for Amazon Connect Service's
  6016  // API operation ListInstances for usage and error information.
  6017  //
  6018  // Returned Error Types:
  6019  //   * InvalidRequestException
  6020  //   The request is not valid.
  6021  //
  6022  //   * InternalServiceException
  6023  //   Request processing failed because of an error or failure with the service.
  6024  //
  6025  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListInstances
  6026  func (c *Connect) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) {
  6027  	req, out := c.ListInstancesRequest(input)
  6028  	return out, req.Send()
  6029  }
  6030  
  6031  // ListInstancesWithContext is the same as ListInstances with the addition of
  6032  // the ability to pass a context and additional request options.
  6033  //
  6034  // See ListInstances for details on how to use this API operation.
  6035  //
  6036  // The context must be non-nil and will be used for request cancellation. If
  6037  // the context is nil a panic will occur. In the future the SDK may create
  6038  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6039  // for more information on using Contexts.
  6040  func (c *Connect) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) {
  6041  	req, out := c.ListInstancesRequest(input)
  6042  	req.SetContext(ctx)
  6043  	req.ApplyOptions(opts...)
  6044  	return out, req.Send()
  6045  }
  6046  
  6047  // ListInstancesPages iterates over the pages of a ListInstances operation,
  6048  // calling the "fn" function with the response data for each page. To stop
  6049  // iterating, return false from the fn function.
  6050  //
  6051  // See ListInstances method for more information on how to use this operation.
  6052  //
  6053  // Note: This operation can generate multiple requests to a service.
  6054  //
  6055  //    // Example iterating over at most 3 pages of a ListInstances operation.
  6056  //    pageNum := 0
  6057  //    err := client.ListInstancesPages(params,
  6058  //        func(page *connect.ListInstancesOutput, lastPage bool) bool {
  6059  //            pageNum++
  6060  //            fmt.Println(page)
  6061  //            return pageNum <= 3
  6062  //        })
  6063  //
  6064  func (c *Connect) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error {
  6065  	return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  6066  }
  6067  
  6068  // ListInstancesPagesWithContext same as ListInstancesPages except
  6069  // it takes a Context and allows setting request options on the pages.
  6070  //
  6071  // The context must be non-nil and will be used for request cancellation. If
  6072  // the context is nil a panic will occur. In the future the SDK may create
  6073  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6074  // for more information on using Contexts.
  6075  func (c *Connect) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error {
  6076  	p := request.Pagination{
  6077  		NewRequest: func() (*request.Request, error) {
  6078  			var inCpy *ListInstancesInput
  6079  			if input != nil {
  6080  				tmp := *input
  6081  				inCpy = &tmp
  6082  			}
  6083  			req, _ := c.ListInstancesRequest(inCpy)
  6084  			req.SetContext(ctx)
  6085  			req.ApplyOptions(opts...)
  6086  			return req, nil
  6087  		},
  6088  	}
  6089  
  6090  	for p.Next() {
  6091  		if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) {
  6092  			break
  6093  		}
  6094  	}
  6095  
  6096  	return p.Err()
  6097  }
  6098  
  6099  const opListIntegrationAssociations = "ListIntegrationAssociations"
  6100  
  6101  // ListIntegrationAssociationsRequest generates a "aws/request.Request" representing the
  6102  // client's request for the ListIntegrationAssociations operation. The "output" return
  6103  // value will be populated with the request's response once the request completes
  6104  // successfully.
  6105  //
  6106  // Use "Send" method on the returned Request to send the API call to the service.
  6107  // the "output" return value is not valid until after Send returns without error.
  6108  //
  6109  // See ListIntegrationAssociations for more information on using the ListIntegrationAssociations
  6110  // API call, and error handling.
  6111  //
  6112  // This method is useful when you want to inject custom logic or configuration
  6113  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6114  //
  6115  //
  6116  //    // Example sending a request using the ListIntegrationAssociationsRequest method.
  6117  //    req, resp := client.ListIntegrationAssociationsRequest(params)
  6118  //
  6119  //    err := req.Send()
  6120  //    if err == nil { // resp is now filled
  6121  //        fmt.Println(resp)
  6122  //    }
  6123  //
  6124  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListIntegrationAssociations
  6125  func (c *Connect) ListIntegrationAssociationsRequest(input *ListIntegrationAssociationsInput) (req *request.Request, output *ListIntegrationAssociationsOutput) {
  6126  	op := &request.Operation{
  6127  		Name:       opListIntegrationAssociations,
  6128  		HTTPMethod: "GET",
  6129  		HTTPPath:   "/instance/{InstanceId}/integration-associations",
  6130  		Paginator: &request.Paginator{
  6131  			InputTokens:     []string{"NextToken"},
  6132  			OutputTokens:    []string{"NextToken"},
  6133  			LimitToken:      "MaxResults",
  6134  			TruncationToken: "",
  6135  		},
  6136  	}
  6137  
  6138  	if input == nil {
  6139  		input = &ListIntegrationAssociationsInput{}
  6140  	}
  6141  
  6142  	output = &ListIntegrationAssociationsOutput{}
  6143  	req = c.newRequest(op, input, output)
  6144  	return
  6145  }
  6146  
  6147  // ListIntegrationAssociations API operation for Amazon Connect Service.
  6148  //
  6149  // Provides summary information about the AWS resource associations for the
  6150  // specified Amazon Connect instance.
  6151  //
  6152  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6153  // with awserr.Error's Code and Message methods to get detailed information about
  6154  // the error.
  6155  //
  6156  // See the AWS API reference guide for Amazon Connect Service's
  6157  // API operation ListIntegrationAssociations for usage and error information.
  6158  //
  6159  // Returned Error Types:
  6160  //   * ResourceNotFoundException
  6161  //   The specified resource was not found.
  6162  //
  6163  //   * InternalServiceException
  6164  //   Request processing failed because of an error or failure with the service.
  6165  //
  6166  //   * InvalidRequestException
  6167  //   The request is not valid.
  6168  //
  6169  //   * ThrottlingException
  6170  //   The throttling limit has been exceeded.
  6171  //
  6172  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListIntegrationAssociations
  6173  func (c *Connect) ListIntegrationAssociations(input *ListIntegrationAssociationsInput) (*ListIntegrationAssociationsOutput, error) {
  6174  	req, out := c.ListIntegrationAssociationsRequest(input)
  6175  	return out, req.Send()
  6176  }
  6177  
  6178  // ListIntegrationAssociationsWithContext is the same as ListIntegrationAssociations with the addition of
  6179  // the ability to pass a context and additional request options.
  6180  //
  6181  // See ListIntegrationAssociations for details on how to use this API operation.
  6182  //
  6183  // The context must be non-nil and will be used for request cancellation. If
  6184  // the context is nil a panic will occur. In the future the SDK may create
  6185  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6186  // for more information on using Contexts.
  6187  func (c *Connect) ListIntegrationAssociationsWithContext(ctx aws.Context, input *ListIntegrationAssociationsInput, opts ...request.Option) (*ListIntegrationAssociationsOutput, error) {
  6188  	req, out := c.ListIntegrationAssociationsRequest(input)
  6189  	req.SetContext(ctx)
  6190  	req.ApplyOptions(opts...)
  6191  	return out, req.Send()
  6192  }
  6193  
  6194  // ListIntegrationAssociationsPages iterates over the pages of a ListIntegrationAssociations operation,
  6195  // calling the "fn" function with the response data for each page. To stop
  6196  // iterating, return false from the fn function.
  6197  //
  6198  // See ListIntegrationAssociations method for more information on how to use this operation.
  6199  //
  6200  // Note: This operation can generate multiple requests to a service.
  6201  //
  6202  //    // Example iterating over at most 3 pages of a ListIntegrationAssociations operation.
  6203  //    pageNum := 0
  6204  //    err := client.ListIntegrationAssociationsPages(params,
  6205  //        func(page *connect.ListIntegrationAssociationsOutput, lastPage bool) bool {
  6206  //            pageNum++
  6207  //            fmt.Println(page)
  6208  //            return pageNum <= 3
  6209  //        })
  6210  //
  6211  func (c *Connect) ListIntegrationAssociationsPages(input *ListIntegrationAssociationsInput, fn func(*ListIntegrationAssociationsOutput, bool) bool) error {
  6212  	return c.ListIntegrationAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
  6213  }
  6214  
  6215  // ListIntegrationAssociationsPagesWithContext same as ListIntegrationAssociationsPages except
  6216  // it takes a Context and allows setting request options on the pages.
  6217  //
  6218  // The context must be non-nil and will be used for request cancellation. If
  6219  // the context is nil a panic will occur. In the future the SDK may create
  6220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6221  // for more information on using Contexts.
  6222  func (c *Connect) ListIntegrationAssociationsPagesWithContext(ctx aws.Context, input *ListIntegrationAssociationsInput, fn func(*ListIntegrationAssociationsOutput, bool) bool, opts ...request.Option) error {
  6223  	p := request.Pagination{
  6224  		NewRequest: func() (*request.Request, error) {
  6225  			var inCpy *ListIntegrationAssociationsInput
  6226  			if input != nil {
  6227  				tmp := *input
  6228  				inCpy = &tmp
  6229  			}
  6230  			req, _ := c.ListIntegrationAssociationsRequest(inCpy)
  6231  			req.SetContext(ctx)
  6232  			req.ApplyOptions(opts...)
  6233  			return req, nil
  6234  		},
  6235  	}
  6236  
  6237  	for p.Next() {
  6238  		if !fn(p.Page().(*ListIntegrationAssociationsOutput), !p.HasNextPage()) {
  6239  			break
  6240  		}
  6241  	}
  6242  
  6243  	return p.Err()
  6244  }
  6245  
  6246  const opListLambdaFunctions = "ListLambdaFunctions"
  6247  
  6248  // ListLambdaFunctionsRequest generates a "aws/request.Request" representing the
  6249  // client's request for the ListLambdaFunctions operation. The "output" return
  6250  // value will be populated with the request's response once the request completes
  6251  // successfully.
  6252  //
  6253  // Use "Send" method on the returned Request to send the API call to the service.
  6254  // the "output" return value is not valid until after Send returns without error.
  6255  //
  6256  // See ListLambdaFunctions for more information on using the ListLambdaFunctions
  6257  // API call, and error handling.
  6258  //
  6259  // This method is useful when you want to inject custom logic or configuration
  6260  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6261  //
  6262  //
  6263  //    // Example sending a request using the ListLambdaFunctionsRequest method.
  6264  //    req, resp := client.ListLambdaFunctionsRequest(params)
  6265  //
  6266  //    err := req.Send()
  6267  //    if err == nil { // resp is now filled
  6268  //        fmt.Println(resp)
  6269  //    }
  6270  //
  6271  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLambdaFunctions
  6272  func (c *Connect) ListLambdaFunctionsRequest(input *ListLambdaFunctionsInput) (req *request.Request, output *ListLambdaFunctionsOutput) {
  6273  	op := &request.Operation{
  6274  		Name:       opListLambdaFunctions,
  6275  		HTTPMethod: "GET",
  6276  		HTTPPath:   "/instance/{InstanceId}/lambda-functions",
  6277  		Paginator: &request.Paginator{
  6278  			InputTokens:     []string{"NextToken"},
  6279  			OutputTokens:    []string{"NextToken"},
  6280  			LimitToken:      "MaxResults",
  6281  			TruncationToken: "",
  6282  		},
  6283  	}
  6284  
  6285  	if input == nil {
  6286  		input = &ListLambdaFunctionsInput{}
  6287  	}
  6288  
  6289  	output = &ListLambdaFunctionsOutput{}
  6290  	req = c.newRequest(op, input, output)
  6291  	return
  6292  }
  6293  
  6294  // ListLambdaFunctions API operation for Amazon Connect Service.
  6295  //
  6296  // This API is in preview release for Amazon Connect and is subject to change.
  6297  //
  6298  // Returns a paginated list of all Lambda functions that display in the dropdown
  6299  // options in the relevant contact flow blocks.
  6300  //
  6301  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6302  // with awserr.Error's Code and Message methods to get detailed information about
  6303  // the error.
  6304  //
  6305  // See the AWS API reference guide for Amazon Connect Service's
  6306  // API operation ListLambdaFunctions for usage and error information.
  6307  //
  6308  // Returned Error Types:
  6309  //   * ResourceNotFoundException
  6310  //   The specified resource was not found.
  6311  //
  6312  //   * InternalServiceException
  6313  //   Request processing failed because of an error or failure with the service.
  6314  //
  6315  //   * InvalidRequestException
  6316  //   The request is not valid.
  6317  //
  6318  //   * InvalidParameterException
  6319  //   One or more of the specified parameters are not valid.
  6320  //
  6321  //   * ThrottlingException
  6322  //   The throttling limit has been exceeded.
  6323  //
  6324  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLambdaFunctions
  6325  func (c *Connect) ListLambdaFunctions(input *ListLambdaFunctionsInput) (*ListLambdaFunctionsOutput, error) {
  6326  	req, out := c.ListLambdaFunctionsRequest(input)
  6327  	return out, req.Send()
  6328  }
  6329  
  6330  // ListLambdaFunctionsWithContext is the same as ListLambdaFunctions with the addition of
  6331  // the ability to pass a context and additional request options.
  6332  //
  6333  // See ListLambdaFunctions for details on how to use this API operation.
  6334  //
  6335  // The context must be non-nil and will be used for request cancellation. If
  6336  // the context is nil a panic will occur. In the future the SDK may create
  6337  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6338  // for more information on using Contexts.
  6339  func (c *Connect) ListLambdaFunctionsWithContext(ctx aws.Context, input *ListLambdaFunctionsInput, opts ...request.Option) (*ListLambdaFunctionsOutput, error) {
  6340  	req, out := c.ListLambdaFunctionsRequest(input)
  6341  	req.SetContext(ctx)
  6342  	req.ApplyOptions(opts...)
  6343  	return out, req.Send()
  6344  }
  6345  
  6346  // ListLambdaFunctionsPages iterates over the pages of a ListLambdaFunctions operation,
  6347  // calling the "fn" function with the response data for each page. To stop
  6348  // iterating, return false from the fn function.
  6349  //
  6350  // See ListLambdaFunctions method for more information on how to use this operation.
  6351  //
  6352  // Note: This operation can generate multiple requests to a service.
  6353  //
  6354  //    // Example iterating over at most 3 pages of a ListLambdaFunctions operation.
  6355  //    pageNum := 0
  6356  //    err := client.ListLambdaFunctionsPages(params,
  6357  //        func(page *connect.ListLambdaFunctionsOutput, lastPage bool) bool {
  6358  //            pageNum++
  6359  //            fmt.Println(page)
  6360  //            return pageNum <= 3
  6361  //        })
  6362  //
  6363  func (c *Connect) ListLambdaFunctionsPages(input *ListLambdaFunctionsInput, fn func(*ListLambdaFunctionsOutput, bool) bool) error {
  6364  	return c.ListLambdaFunctionsPagesWithContext(aws.BackgroundContext(), input, fn)
  6365  }
  6366  
  6367  // ListLambdaFunctionsPagesWithContext same as ListLambdaFunctionsPages except
  6368  // it takes a Context and allows setting request options on the pages.
  6369  //
  6370  // The context must be non-nil and will be used for request cancellation. If
  6371  // the context is nil a panic will occur. In the future the SDK may create
  6372  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6373  // for more information on using Contexts.
  6374  func (c *Connect) ListLambdaFunctionsPagesWithContext(ctx aws.Context, input *ListLambdaFunctionsInput, fn func(*ListLambdaFunctionsOutput, bool) bool, opts ...request.Option) error {
  6375  	p := request.Pagination{
  6376  		NewRequest: func() (*request.Request, error) {
  6377  			var inCpy *ListLambdaFunctionsInput
  6378  			if input != nil {
  6379  				tmp := *input
  6380  				inCpy = &tmp
  6381  			}
  6382  			req, _ := c.ListLambdaFunctionsRequest(inCpy)
  6383  			req.SetContext(ctx)
  6384  			req.ApplyOptions(opts...)
  6385  			return req, nil
  6386  		},
  6387  	}
  6388  
  6389  	for p.Next() {
  6390  		if !fn(p.Page().(*ListLambdaFunctionsOutput), !p.HasNextPage()) {
  6391  			break
  6392  		}
  6393  	}
  6394  
  6395  	return p.Err()
  6396  }
  6397  
  6398  const opListLexBots = "ListLexBots"
  6399  
  6400  // ListLexBotsRequest generates a "aws/request.Request" representing the
  6401  // client's request for the ListLexBots operation. The "output" return
  6402  // value will be populated with the request's response once the request completes
  6403  // successfully.
  6404  //
  6405  // Use "Send" method on the returned Request to send the API call to the service.
  6406  // the "output" return value is not valid until after Send returns without error.
  6407  //
  6408  // See ListLexBots for more information on using the ListLexBots
  6409  // API call, and error handling.
  6410  //
  6411  // This method is useful when you want to inject custom logic or configuration
  6412  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6413  //
  6414  //
  6415  //    // Example sending a request using the ListLexBotsRequest method.
  6416  //    req, resp := client.ListLexBotsRequest(params)
  6417  //
  6418  //    err := req.Send()
  6419  //    if err == nil { // resp is now filled
  6420  //        fmt.Println(resp)
  6421  //    }
  6422  //
  6423  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLexBots
  6424  func (c *Connect) ListLexBotsRequest(input *ListLexBotsInput) (req *request.Request, output *ListLexBotsOutput) {
  6425  	op := &request.Operation{
  6426  		Name:       opListLexBots,
  6427  		HTTPMethod: "GET",
  6428  		HTTPPath:   "/instance/{InstanceId}/lex-bots",
  6429  		Paginator: &request.Paginator{
  6430  			InputTokens:     []string{"NextToken"},
  6431  			OutputTokens:    []string{"NextToken"},
  6432  			LimitToken:      "MaxResults",
  6433  			TruncationToken: "",
  6434  		},
  6435  	}
  6436  
  6437  	if input == nil {
  6438  		input = &ListLexBotsInput{}
  6439  	}
  6440  
  6441  	output = &ListLexBotsOutput{}
  6442  	req = c.newRequest(op, input, output)
  6443  	return
  6444  }
  6445  
  6446  // ListLexBots API operation for Amazon Connect Service.
  6447  //
  6448  // This API is in preview release for Amazon Connect and is subject to change.
  6449  //
  6450  // Returns a paginated list of all the Amazon Lex bots currently associated
  6451  // with the instance.
  6452  //
  6453  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6454  // with awserr.Error's Code and Message methods to get detailed information about
  6455  // the error.
  6456  //
  6457  // See the AWS API reference guide for Amazon Connect Service's
  6458  // API operation ListLexBots for usage and error information.
  6459  //
  6460  // Returned Error Types:
  6461  //   * ResourceNotFoundException
  6462  //   The specified resource was not found.
  6463  //
  6464  //   * InternalServiceException
  6465  //   Request processing failed because of an error or failure with the service.
  6466  //
  6467  //   * InvalidRequestException
  6468  //   The request is not valid.
  6469  //
  6470  //   * InvalidParameterException
  6471  //   One or more of the specified parameters are not valid.
  6472  //
  6473  //   * ThrottlingException
  6474  //   The throttling limit has been exceeded.
  6475  //
  6476  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListLexBots
  6477  func (c *Connect) ListLexBots(input *ListLexBotsInput) (*ListLexBotsOutput, error) {
  6478  	req, out := c.ListLexBotsRequest(input)
  6479  	return out, req.Send()
  6480  }
  6481  
  6482  // ListLexBotsWithContext is the same as ListLexBots with the addition of
  6483  // the ability to pass a context and additional request options.
  6484  //
  6485  // See ListLexBots for details on how to use this API operation.
  6486  //
  6487  // The context must be non-nil and will be used for request cancellation. If
  6488  // the context is nil a panic will occur. In the future the SDK may create
  6489  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6490  // for more information on using Contexts.
  6491  func (c *Connect) ListLexBotsWithContext(ctx aws.Context, input *ListLexBotsInput, opts ...request.Option) (*ListLexBotsOutput, error) {
  6492  	req, out := c.ListLexBotsRequest(input)
  6493  	req.SetContext(ctx)
  6494  	req.ApplyOptions(opts...)
  6495  	return out, req.Send()
  6496  }
  6497  
  6498  // ListLexBotsPages iterates over the pages of a ListLexBots operation,
  6499  // calling the "fn" function with the response data for each page. To stop
  6500  // iterating, return false from the fn function.
  6501  //
  6502  // See ListLexBots method for more information on how to use this operation.
  6503  //
  6504  // Note: This operation can generate multiple requests to a service.
  6505  //
  6506  //    // Example iterating over at most 3 pages of a ListLexBots operation.
  6507  //    pageNum := 0
  6508  //    err := client.ListLexBotsPages(params,
  6509  //        func(page *connect.ListLexBotsOutput, lastPage bool) bool {
  6510  //            pageNum++
  6511  //            fmt.Println(page)
  6512  //            return pageNum <= 3
  6513  //        })
  6514  //
  6515  func (c *Connect) ListLexBotsPages(input *ListLexBotsInput, fn func(*ListLexBotsOutput, bool) bool) error {
  6516  	return c.ListLexBotsPagesWithContext(aws.BackgroundContext(), input, fn)
  6517  }
  6518  
  6519  // ListLexBotsPagesWithContext same as ListLexBotsPages except
  6520  // it takes a Context and allows setting request options on the pages.
  6521  //
  6522  // The context must be non-nil and will be used for request cancellation. If
  6523  // the context is nil a panic will occur. In the future the SDK may create
  6524  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6525  // for more information on using Contexts.
  6526  func (c *Connect) ListLexBotsPagesWithContext(ctx aws.Context, input *ListLexBotsInput, fn func(*ListLexBotsOutput, bool) bool, opts ...request.Option) error {
  6527  	p := request.Pagination{
  6528  		NewRequest: func() (*request.Request, error) {
  6529  			var inCpy *ListLexBotsInput
  6530  			if input != nil {
  6531  				tmp := *input
  6532  				inCpy = &tmp
  6533  			}
  6534  			req, _ := c.ListLexBotsRequest(inCpy)
  6535  			req.SetContext(ctx)
  6536  			req.ApplyOptions(opts...)
  6537  			return req, nil
  6538  		},
  6539  	}
  6540  
  6541  	for p.Next() {
  6542  		if !fn(p.Page().(*ListLexBotsOutput), !p.HasNextPage()) {
  6543  			break
  6544  		}
  6545  	}
  6546  
  6547  	return p.Err()
  6548  }
  6549  
  6550  const opListPhoneNumbers = "ListPhoneNumbers"
  6551  
  6552  // ListPhoneNumbersRequest generates a "aws/request.Request" representing the
  6553  // client's request for the ListPhoneNumbers operation. The "output" return
  6554  // value will be populated with the request's response once the request completes
  6555  // successfully.
  6556  //
  6557  // Use "Send" method on the returned Request to send the API call to the service.
  6558  // the "output" return value is not valid until after Send returns without error.
  6559  //
  6560  // See ListPhoneNumbers for more information on using the ListPhoneNumbers
  6561  // API call, and error handling.
  6562  //
  6563  // This method is useful when you want to inject custom logic or configuration
  6564  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6565  //
  6566  //
  6567  //    // Example sending a request using the ListPhoneNumbersRequest method.
  6568  //    req, resp := client.ListPhoneNumbersRequest(params)
  6569  //
  6570  //    err := req.Send()
  6571  //    if err == nil { // resp is now filled
  6572  //        fmt.Println(resp)
  6573  //    }
  6574  //
  6575  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers
  6576  func (c *Connect) ListPhoneNumbersRequest(input *ListPhoneNumbersInput) (req *request.Request, output *ListPhoneNumbersOutput) {
  6577  	op := &request.Operation{
  6578  		Name:       opListPhoneNumbers,
  6579  		HTTPMethod: "GET",
  6580  		HTTPPath:   "/phone-numbers-summary/{InstanceId}",
  6581  		Paginator: &request.Paginator{
  6582  			InputTokens:     []string{"NextToken"},
  6583  			OutputTokens:    []string{"NextToken"},
  6584  			LimitToken:      "MaxResults",
  6585  			TruncationToken: "",
  6586  		},
  6587  	}
  6588  
  6589  	if input == nil {
  6590  		input = &ListPhoneNumbersInput{}
  6591  	}
  6592  
  6593  	output = &ListPhoneNumbersOutput{}
  6594  	req = c.newRequest(op, input, output)
  6595  	return
  6596  }
  6597  
  6598  // ListPhoneNumbers API operation for Amazon Connect Service.
  6599  //
  6600  // Provides information about the phone numbers for the specified Amazon Connect
  6601  // instance.
  6602  //
  6603  // For more information about phone numbers, see Set Up Phone Numbers for Your
  6604  // Contact Center (https://docs.aws.amazon.com/connect/latest/adminguide/contact-center-phone-number.html)
  6605  // in the Amazon Connect Administrator Guide.
  6606  //
  6607  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6608  // with awserr.Error's Code and Message methods to get detailed information about
  6609  // the error.
  6610  //
  6611  // See the AWS API reference guide for Amazon Connect Service's
  6612  // API operation ListPhoneNumbers for usage and error information.
  6613  //
  6614  // Returned Error Types:
  6615  //   * InvalidRequestException
  6616  //   The request is not valid.
  6617  //
  6618  //   * InvalidParameterException
  6619  //   One or more of the specified parameters are not valid.
  6620  //
  6621  //   * ResourceNotFoundException
  6622  //   The specified resource was not found.
  6623  //
  6624  //   * ThrottlingException
  6625  //   The throttling limit has been exceeded.
  6626  //
  6627  //   * InternalServiceException
  6628  //   Request processing failed because of an error or failure with the service.
  6629  //
  6630  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPhoneNumbers
  6631  func (c *Connect) ListPhoneNumbers(input *ListPhoneNumbersInput) (*ListPhoneNumbersOutput, error) {
  6632  	req, out := c.ListPhoneNumbersRequest(input)
  6633  	return out, req.Send()
  6634  }
  6635  
  6636  // ListPhoneNumbersWithContext is the same as ListPhoneNumbers with the addition of
  6637  // the ability to pass a context and additional request options.
  6638  //
  6639  // See ListPhoneNumbers for details on how to use this API operation.
  6640  //
  6641  // The context must be non-nil and will be used for request cancellation. If
  6642  // the context is nil a panic will occur. In the future the SDK may create
  6643  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6644  // for more information on using Contexts.
  6645  func (c *Connect) ListPhoneNumbersWithContext(ctx aws.Context, input *ListPhoneNumbersInput, opts ...request.Option) (*ListPhoneNumbersOutput, error) {
  6646  	req, out := c.ListPhoneNumbersRequest(input)
  6647  	req.SetContext(ctx)
  6648  	req.ApplyOptions(opts...)
  6649  	return out, req.Send()
  6650  }
  6651  
  6652  // ListPhoneNumbersPages iterates over the pages of a ListPhoneNumbers operation,
  6653  // calling the "fn" function with the response data for each page. To stop
  6654  // iterating, return false from the fn function.
  6655  //
  6656  // See ListPhoneNumbers method for more information on how to use this operation.
  6657  //
  6658  // Note: This operation can generate multiple requests to a service.
  6659  //
  6660  //    // Example iterating over at most 3 pages of a ListPhoneNumbers operation.
  6661  //    pageNum := 0
  6662  //    err := client.ListPhoneNumbersPages(params,
  6663  //        func(page *connect.ListPhoneNumbersOutput, lastPage bool) bool {
  6664  //            pageNum++
  6665  //            fmt.Println(page)
  6666  //            return pageNum <= 3
  6667  //        })
  6668  //
  6669  func (c *Connect) ListPhoneNumbersPages(input *ListPhoneNumbersInput, fn func(*ListPhoneNumbersOutput, bool) bool) error {
  6670  	return c.ListPhoneNumbersPagesWithContext(aws.BackgroundContext(), input, fn)
  6671  }
  6672  
  6673  // ListPhoneNumbersPagesWithContext same as ListPhoneNumbersPages except
  6674  // it takes a Context and allows setting request options on the pages.
  6675  //
  6676  // The context must be non-nil and will be used for request cancellation. If
  6677  // the context is nil a panic will occur. In the future the SDK may create
  6678  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6679  // for more information on using Contexts.
  6680  func (c *Connect) ListPhoneNumbersPagesWithContext(ctx aws.Context, input *ListPhoneNumbersInput, fn func(*ListPhoneNumbersOutput, bool) bool, opts ...request.Option) error {
  6681  	p := request.Pagination{
  6682  		NewRequest: func() (*request.Request, error) {
  6683  			var inCpy *ListPhoneNumbersInput
  6684  			if input != nil {
  6685  				tmp := *input
  6686  				inCpy = &tmp
  6687  			}
  6688  			req, _ := c.ListPhoneNumbersRequest(inCpy)
  6689  			req.SetContext(ctx)
  6690  			req.ApplyOptions(opts...)
  6691  			return req, nil
  6692  		},
  6693  	}
  6694  
  6695  	for p.Next() {
  6696  		if !fn(p.Page().(*ListPhoneNumbersOutput), !p.HasNextPage()) {
  6697  			break
  6698  		}
  6699  	}
  6700  
  6701  	return p.Err()
  6702  }
  6703  
  6704  const opListPrompts = "ListPrompts"
  6705  
  6706  // ListPromptsRequest generates a "aws/request.Request" representing the
  6707  // client's request for the ListPrompts operation. The "output" return
  6708  // value will be populated with the request's response once the request completes
  6709  // successfully.
  6710  //
  6711  // Use "Send" method on the returned Request to send the API call to the service.
  6712  // the "output" return value is not valid until after Send returns without error.
  6713  //
  6714  // See ListPrompts for more information on using the ListPrompts
  6715  // API call, and error handling.
  6716  //
  6717  // This method is useful when you want to inject custom logic or configuration
  6718  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6719  //
  6720  //
  6721  //    // Example sending a request using the ListPromptsRequest method.
  6722  //    req, resp := client.ListPromptsRequest(params)
  6723  //
  6724  //    err := req.Send()
  6725  //    if err == nil { // resp is now filled
  6726  //        fmt.Println(resp)
  6727  //    }
  6728  //
  6729  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPrompts
  6730  func (c *Connect) ListPromptsRequest(input *ListPromptsInput) (req *request.Request, output *ListPromptsOutput) {
  6731  	op := &request.Operation{
  6732  		Name:       opListPrompts,
  6733  		HTTPMethod: "GET",
  6734  		HTTPPath:   "/prompts-summary/{InstanceId}",
  6735  		Paginator: &request.Paginator{
  6736  			InputTokens:     []string{"NextToken"},
  6737  			OutputTokens:    []string{"NextToken"},
  6738  			LimitToken:      "MaxResults",
  6739  			TruncationToken: "",
  6740  		},
  6741  	}
  6742  
  6743  	if input == nil {
  6744  		input = &ListPromptsInput{}
  6745  	}
  6746  
  6747  	output = &ListPromptsOutput{}
  6748  	req = c.newRequest(op, input, output)
  6749  	return
  6750  }
  6751  
  6752  // ListPrompts API operation for Amazon Connect Service.
  6753  //
  6754  // Provides information about the prompts for the specified Amazon Connect instance.
  6755  //
  6756  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6757  // with awserr.Error's Code and Message methods to get detailed information about
  6758  // the error.
  6759  //
  6760  // See the AWS API reference guide for Amazon Connect Service's
  6761  // API operation ListPrompts for usage and error information.
  6762  //
  6763  // Returned Error Types:
  6764  //   * InvalidRequestException
  6765  //   The request is not valid.
  6766  //
  6767  //   * InvalidParameterException
  6768  //   One or more of the specified parameters are not valid.
  6769  //
  6770  //   * ResourceNotFoundException
  6771  //   The specified resource was not found.
  6772  //
  6773  //   * ThrottlingException
  6774  //   The throttling limit has been exceeded.
  6775  //
  6776  //   * InternalServiceException
  6777  //   Request processing failed because of an error or failure with the service.
  6778  //
  6779  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListPrompts
  6780  func (c *Connect) ListPrompts(input *ListPromptsInput) (*ListPromptsOutput, error) {
  6781  	req, out := c.ListPromptsRequest(input)
  6782  	return out, req.Send()
  6783  }
  6784  
  6785  // ListPromptsWithContext is the same as ListPrompts with the addition of
  6786  // the ability to pass a context and additional request options.
  6787  //
  6788  // See ListPrompts for details on how to use this API operation.
  6789  //
  6790  // The context must be non-nil and will be used for request cancellation. If
  6791  // the context is nil a panic will occur. In the future the SDK may create
  6792  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6793  // for more information on using Contexts.
  6794  func (c *Connect) ListPromptsWithContext(ctx aws.Context, input *ListPromptsInput, opts ...request.Option) (*ListPromptsOutput, error) {
  6795  	req, out := c.ListPromptsRequest(input)
  6796  	req.SetContext(ctx)
  6797  	req.ApplyOptions(opts...)
  6798  	return out, req.Send()
  6799  }
  6800  
  6801  // ListPromptsPages iterates over the pages of a ListPrompts operation,
  6802  // calling the "fn" function with the response data for each page. To stop
  6803  // iterating, return false from the fn function.
  6804  //
  6805  // See ListPrompts method for more information on how to use this operation.
  6806  //
  6807  // Note: This operation can generate multiple requests to a service.
  6808  //
  6809  //    // Example iterating over at most 3 pages of a ListPrompts operation.
  6810  //    pageNum := 0
  6811  //    err := client.ListPromptsPages(params,
  6812  //        func(page *connect.ListPromptsOutput, lastPage bool) bool {
  6813  //            pageNum++
  6814  //            fmt.Println(page)
  6815  //            return pageNum <= 3
  6816  //        })
  6817  //
  6818  func (c *Connect) ListPromptsPages(input *ListPromptsInput, fn func(*ListPromptsOutput, bool) bool) error {
  6819  	return c.ListPromptsPagesWithContext(aws.BackgroundContext(), input, fn)
  6820  }
  6821  
  6822  // ListPromptsPagesWithContext same as ListPromptsPages except
  6823  // it takes a Context and allows setting request options on the pages.
  6824  //
  6825  // The context must be non-nil and will be used for request cancellation. If
  6826  // the context is nil a panic will occur. In the future the SDK may create
  6827  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6828  // for more information on using Contexts.
  6829  func (c *Connect) ListPromptsPagesWithContext(ctx aws.Context, input *ListPromptsInput, fn func(*ListPromptsOutput, bool) bool, opts ...request.Option) error {
  6830  	p := request.Pagination{
  6831  		NewRequest: func() (*request.Request, error) {
  6832  			var inCpy *ListPromptsInput
  6833  			if input != nil {
  6834  				tmp := *input
  6835  				inCpy = &tmp
  6836  			}
  6837  			req, _ := c.ListPromptsRequest(inCpy)
  6838  			req.SetContext(ctx)
  6839  			req.ApplyOptions(opts...)
  6840  			return req, nil
  6841  		},
  6842  	}
  6843  
  6844  	for p.Next() {
  6845  		if !fn(p.Page().(*ListPromptsOutput), !p.HasNextPage()) {
  6846  			break
  6847  		}
  6848  	}
  6849  
  6850  	return p.Err()
  6851  }
  6852  
  6853  const opListQueueQuickConnects = "ListQueueQuickConnects"
  6854  
  6855  // ListQueueQuickConnectsRequest generates a "aws/request.Request" representing the
  6856  // client's request for the ListQueueQuickConnects operation. The "output" return
  6857  // value will be populated with the request's response once the request completes
  6858  // successfully.
  6859  //
  6860  // Use "Send" method on the returned Request to send the API call to the service.
  6861  // the "output" return value is not valid until after Send returns without error.
  6862  //
  6863  // See ListQueueQuickConnects for more information on using the ListQueueQuickConnects
  6864  // API call, and error handling.
  6865  //
  6866  // This method is useful when you want to inject custom logic or configuration
  6867  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6868  //
  6869  //
  6870  //    // Example sending a request using the ListQueueQuickConnectsRequest method.
  6871  //    req, resp := client.ListQueueQuickConnectsRequest(params)
  6872  //
  6873  //    err := req.Send()
  6874  //    if err == nil { // resp is now filled
  6875  //        fmt.Println(resp)
  6876  //    }
  6877  //
  6878  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueueQuickConnects
  6879  func (c *Connect) ListQueueQuickConnectsRequest(input *ListQueueQuickConnectsInput) (req *request.Request, output *ListQueueQuickConnectsOutput) {
  6880  	op := &request.Operation{
  6881  		Name:       opListQueueQuickConnects,
  6882  		HTTPMethod: "GET",
  6883  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/quick-connects",
  6884  		Paginator: &request.Paginator{
  6885  			InputTokens:     []string{"NextToken"},
  6886  			OutputTokens:    []string{"NextToken"},
  6887  			LimitToken:      "MaxResults",
  6888  			TruncationToken: "",
  6889  		},
  6890  	}
  6891  
  6892  	if input == nil {
  6893  		input = &ListQueueQuickConnectsInput{}
  6894  	}
  6895  
  6896  	output = &ListQueueQuickConnectsOutput{}
  6897  	req = c.newRequest(op, input, output)
  6898  	return
  6899  }
  6900  
  6901  // ListQueueQuickConnects API operation for Amazon Connect Service.
  6902  //
  6903  // This API is in preview release for Amazon Connect and is subject to change.
  6904  //
  6905  // Lists the quick connects associated with a queue.
  6906  //
  6907  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6908  // with awserr.Error's Code and Message methods to get detailed information about
  6909  // the error.
  6910  //
  6911  // See the AWS API reference guide for Amazon Connect Service's
  6912  // API operation ListQueueQuickConnects for usage and error information.
  6913  //
  6914  // Returned Error Types:
  6915  //   * InvalidRequestException
  6916  //   The request is not valid.
  6917  //
  6918  //   * InvalidParameterException
  6919  //   One or more of the specified parameters are not valid.
  6920  //
  6921  //   * ResourceNotFoundException
  6922  //   The specified resource was not found.
  6923  //
  6924  //   * ThrottlingException
  6925  //   The throttling limit has been exceeded.
  6926  //
  6927  //   * InternalServiceException
  6928  //   Request processing failed because of an error or failure with the service.
  6929  //
  6930  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueueQuickConnects
  6931  func (c *Connect) ListQueueQuickConnects(input *ListQueueQuickConnectsInput) (*ListQueueQuickConnectsOutput, error) {
  6932  	req, out := c.ListQueueQuickConnectsRequest(input)
  6933  	return out, req.Send()
  6934  }
  6935  
  6936  // ListQueueQuickConnectsWithContext is the same as ListQueueQuickConnects with the addition of
  6937  // the ability to pass a context and additional request options.
  6938  //
  6939  // See ListQueueQuickConnects for details on how to use this API operation.
  6940  //
  6941  // The context must be non-nil and will be used for request cancellation. If
  6942  // the context is nil a panic will occur. In the future the SDK may create
  6943  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6944  // for more information on using Contexts.
  6945  func (c *Connect) ListQueueQuickConnectsWithContext(ctx aws.Context, input *ListQueueQuickConnectsInput, opts ...request.Option) (*ListQueueQuickConnectsOutput, error) {
  6946  	req, out := c.ListQueueQuickConnectsRequest(input)
  6947  	req.SetContext(ctx)
  6948  	req.ApplyOptions(opts...)
  6949  	return out, req.Send()
  6950  }
  6951  
  6952  // ListQueueQuickConnectsPages iterates over the pages of a ListQueueQuickConnects operation,
  6953  // calling the "fn" function with the response data for each page. To stop
  6954  // iterating, return false from the fn function.
  6955  //
  6956  // See ListQueueQuickConnects method for more information on how to use this operation.
  6957  //
  6958  // Note: This operation can generate multiple requests to a service.
  6959  //
  6960  //    // Example iterating over at most 3 pages of a ListQueueQuickConnects operation.
  6961  //    pageNum := 0
  6962  //    err := client.ListQueueQuickConnectsPages(params,
  6963  //        func(page *connect.ListQueueQuickConnectsOutput, lastPage bool) bool {
  6964  //            pageNum++
  6965  //            fmt.Println(page)
  6966  //            return pageNum <= 3
  6967  //        })
  6968  //
  6969  func (c *Connect) ListQueueQuickConnectsPages(input *ListQueueQuickConnectsInput, fn func(*ListQueueQuickConnectsOutput, bool) bool) error {
  6970  	return c.ListQueueQuickConnectsPagesWithContext(aws.BackgroundContext(), input, fn)
  6971  }
  6972  
  6973  // ListQueueQuickConnectsPagesWithContext same as ListQueueQuickConnectsPages except
  6974  // it takes a Context and allows setting request options on the pages.
  6975  //
  6976  // The context must be non-nil and will be used for request cancellation. If
  6977  // the context is nil a panic will occur. In the future the SDK may create
  6978  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6979  // for more information on using Contexts.
  6980  func (c *Connect) ListQueueQuickConnectsPagesWithContext(ctx aws.Context, input *ListQueueQuickConnectsInput, fn func(*ListQueueQuickConnectsOutput, bool) bool, opts ...request.Option) error {
  6981  	p := request.Pagination{
  6982  		NewRequest: func() (*request.Request, error) {
  6983  			var inCpy *ListQueueQuickConnectsInput
  6984  			if input != nil {
  6985  				tmp := *input
  6986  				inCpy = &tmp
  6987  			}
  6988  			req, _ := c.ListQueueQuickConnectsRequest(inCpy)
  6989  			req.SetContext(ctx)
  6990  			req.ApplyOptions(opts...)
  6991  			return req, nil
  6992  		},
  6993  	}
  6994  
  6995  	for p.Next() {
  6996  		if !fn(p.Page().(*ListQueueQuickConnectsOutput), !p.HasNextPage()) {
  6997  			break
  6998  		}
  6999  	}
  7000  
  7001  	return p.Err()
  7002  }
  7003  
  7004  const opListQueues = "ListQueues"
  7005  
  7006  // ListQueuesRequest generates a "aws/request.Request" representing the
  7007  // client's request for the ListQueues operation. The "output" return
  7008  // value will be populated with the request's response once the request completes
  7009  // successfully.
  7010  //
  7011  // Use "Send" method on the returned Request to send the API call to the service.
  7012  // the "output" return value is not valid until after Send returns without error.
  7013  //
  7014  // See ListQueues for more information on using the ListQueues
  7015  // API call, and error handling.
  7016  //
  7017  // This method is useful when you want to inject custom logic or configuration
  7018  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7019  //
  7020  //
  7021  //    // Example sending a request using the ListQueuesRequest method.
  7022  //    req, resp := client.ListQueuesRequest(params)
  7023  //
  7024  //    err := req.Send()
  7025  //    if err == nil { // resp is now filled
  7026  //        fmt.Println(resp)
  7027  //    }
  7028  //
  7029  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues
  7030  func (c *Connect) ListQueuesRequest(input *ListQueuesInput) (req *request.Request, output *ListQueuesOutput) {
  7031  	op := &request.Operation{
  7032  		Name:       opListQueues,
  7033  		HTTPMethod: "GET",
  7034  		HTTPPath:   "/queues-summary/{InstanceId}",
  7035  		Paginator: &request.Paginator{
  7036  			InputTokens:     []string{"NextToken"},
  7037  			OutputTokens:    []string{"NextToken"},
  7038  			LimitToken:      "MaxResults",
  7039  			TruncationToken: "",
  7040  		},
  7041  	}
  7042  
  7043  	if input == nil {
  7044  		input = &ListQueuesInput{}
  7045  	}
  7046  
  7047  	output = &ListQueuesOutput{}
  7048  	req = c.newRequest(op, input, output)
  7049  	return
  7050  }
  7051  
  7052  // ListQueues API operation for Amazon Connect Service.
  7053  //
  7054  // Provides information about the queues for the specified Amazon Connect instance.
  7055  //
  7056  // If you do not specify a QueueTypes parameter, both standard and agent queues
  7057  // are returned. This might cause an unexpected truncation of results if you
  7058  // have more than 1000 agents and you limit the number of results of the API
  7059  // call in code.
  7060  //
  7061  // For more information about queues, see Queues: Standard and Agent (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-queues-standard-and-agent.html)
  7062  // in the Amazon Connect Administrator Guide.
  7063  //
  7064  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7065  // with awserr.Error's Code and Message methods to get detailed information about
  7066  // the error.
  7067  //
  7068  // See the AWS API reference guide for Amazon Connect Service's
  7069  // API operation ListQueues for usage and error information.
  7070  //
  7071  // Returned Error Types:
  7072  //   * InvalidRequestException
  7073  //   The request is not valid.
  7074  //
  7075  //   * InvalidParameterException
  7076  //   One or more of the specified parameters are not valid.
  7077  //
  7078  //   * ResourceNotFoundException
  7079  //   The specified resource was not found.
  7080  //
  7081  //   * ThrottlingException
  7082  //   The throttling limit has been exceeded.
  7083  //
  7084  //   * InternalServiceException
  7085  //   Request processing failed because of an error or failure with the service.
  7086  //
  7087  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQueues
  7088  func (c *Connect) ListQueues(input *ListQueuesInput) (*ListQueuesOutput, error) {
  7089  	req, out := c.ListQueuesRequest(input)
  7090  	return out, req.Send()
  7091  }
  7092  
  7093  // ListQueuesWithContext is the same as ListQueues with the addition of
  7094  // the ability to pass a context and additional request options.
  7095  //
  7096  // See ListQueues for details on how to use this API operation.
  7097  //
  7098  // The context must be non-nil and will be used for request cancellation. If
  7099  // the context is nil a panic will occur. In the future the SDK may create
  7100  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7101  // for more information on using Contexts.
  7102  func (c *Connect) ListQueuesWithContext(ctx aws.Context, input *ListQueuesInput, opts ...request.Option) (*ListQueuesOutput, error) {
  7103  	req, out := c.ListQueuesRequest(input)
  7104  	req.SetContext(ctx)
  7105  	req.ApplyOptions(opts...)
  7106  	return out, req.Send()
  7107  }
  7108  
  7109  // ListQueuesPages iterates over the pages of a ListQueues operation,
  7110  // calling the "fn" function with the response data for each page. To stop
  7111  // iterating, return false from the fn function.
  7112  //
  7113  // See ListQueues method for more information on how to use this operation.
  7114  //
  7115  // Note: This operation can generate multiple requests to a service.
  7116  //
  7117  //    // Example iterating over at most 3 pages of a ListQueues operation.
  7118  //    pageNum := 0
  7119  //    err := client.ListQueuesPages(params,
  7120  //        func(page *connect.ListQueuesOutput, lastPage bool) bool {
  7121  //            pageNum++
  7122  //            fmt.Println(page)
  7123  //            return pageNum <= 3
  7124  //        })
  7125  //
  7126  func (c *Connect) ListQueuesPages(input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool) error {
  7127  	return c.ListQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
  7128  }
  7129  
  7130  // ListQueuesPagesWithContext same as ListQueuesPages except
  7131  // it takes a Context and allows setting request options on the pages.
  7132  //
  7133  // The context must be non-nil and will be used for request cancellation. If
  7134  // the context is nil a panic will occur. In the future the SDK may create
  7135  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7136  // for more information on using Contexts.
  7137  func (c *Connect) ListQueuesPagesWithContext(ctx aws.Context, input *ListQueuesInput, fn func(*ListQueuesOutput, bool) bool, opts ...request.Option) error {
  7138  	p := request.Pagination{
  7139  		NewRequest: func() (*request.Request, error) {
  7140  			var inCpy *ListQueuesInput
  7141  			if input != nil {
  7142  				tmp := *input
  7143  				inCpy = &tmp
  7144  			}
  7145  			req, _ := c.ListQueuesRequest(inCpy)
  7146  			req.SetContext(ctx)
  7147  			req.ApplyOptions(opts...)
  7148  			return req, nil
  7149  		},
  7150  	}
  7151  
  7152  	for p.Next() {
  7153  		if !fn(p.Page().(*ListQueuesOutput), !p.HasNextPage()) {
  7154  			break
  7155  		}
  7156  	}
  7157  
  7158  	return p.Err()
  7159  }
  7160  
  7161  const opListQuickConnects = "ListQuickConnects"
  7162  
  7163  // ListQuickConnectsRequest generates a "aws/request.Request" representing the
  7164  // client's request for the ListQuickConnects operation. The "output" return
  7165  // value will be populated with the request's response once the request completes
  7166  // successfully.
  7167  //
  7168  // Use "Send" method on the returned Request to send the API call to the service.
  7169  // the "output" return value is not valid until after Send returns without error.
  7170  //
  7171  // See ListQuickConnects for more information on using the ListQuickConnects
  7172  // API call, and error handling.
  7173  //
  7174  // This method is useful when you want to inject custom logic or configuration
  7175  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7176  //
  7177  //
  7178  //    // Example sending a request using the ListQuickConnectsRequest method.
  7179  //    req, resp := client.ListQuickConnectsRequest(params)
  7180  //
  7181  //    err := req.Send()
  7182  //    if err == nil { // resp is now filled
  7183  //        fmt.Println(resp)
  7184  //    }
  7185  //
  7186  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQuickConnects
  7187  func (c *Connect) ListQuickConnectsRequest(input *ListQuickConnectsInput) (req *request.Request, output *ListQuickConnectsOutput) {
  7188  	op := &request.Operation{
  7189  		Name:       opListQuickConnects,
  7190  		HTTPMethod: "GET",
  7191  		HTTPPath:   "/quick-connects/{InstanceId}",
  7192  		Paginator: &request.Paginator{
  7193  			InputTokens:     []string{"NextToken"},
  7194  			OutputTokens:    []string{"NextToken"},
  7195  			LimitToken:      "MaxResults",
  7196  			TruncationToken: "",
  7197  		},
  7198  	}
  7199  
  7200  	if input == nil {
  7201  		input = &ListQuickConnectsInput{}
  7202  	}
  7203  
  7204  	output = &ListQuickConnectsOutput{}
  7205  	req = c.newRequest(op, input, output)
  7206  	return
  7207  }
  7208  
  7209  // ListQuickConnects API operation for Amazon Connect Service.
  7210  //
  7211  // Provides information about the quick connects for the specified Amazon Connect
  7212  // instance.
  7213  //
  7214  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7215  // with awserr.Error's Code and Message methods to get detailed information about
  7216  // the error.
  7217  //
  7218  // See the AWS API reference guide for Amazon Connect Service's
  7219  // API operation ListQuickConnects for usage and error information.
  7220  //
  7221  // Returned Error Types:
  7222  //   * InvalidRequestException
  7223  //   The request is not valid.
  7224  //
  7225  //   * InvalidParameterException
  7226  //   One or more of the specified parameters are not valid.
  7227  //
  7228  //   * ResourceNotFoundException
  7229  //   The specified resource was not found.
  7230  //
  7231  //   * ThrottlingException
  7232  //   The throttling limit has been exceeded.
  7233  //
  7234  //   * InternalServiceException
  7235  //   Request processing failed because of an error or failure with the service.
  7236  //
  7237  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListQuickConnects
  7238  func (c *Connect) ListQuickConnects(input *ListQuickConnectsInput) (*ListQuickConnectsOutput, error) {
  7239  	req, out := c.ListQuickConnectsRequest(input)
  7240  	return out, req.Send()
  7241  }
  7242  
  7243  // ListQuickConnectsWithContext is the same as ListQuickConnects with the addition of
  7244  // the ability to pass a context and additional request options.
  7245  //
  7246  // See ListQuickConnects for details on how to use this API operation.
  7247  //
  7248  // The context must be non-nil and will be used for request cancellation. If
  7249  // the context is nil a panic will occur. In the future the SDK may create
  7250  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7251  // for more information on using Contexts.
  7252  func (c *Connect) ListQuickConnectsWithContext(ctx aws.Context, input *ListQuickConnectsInput, opts ...request.Option) (*ListQuickConnectsOutput, error) {
  7253  	req, out := c.ListQuickConnectsRequest(input)
  7254  	req.SetContext(ctx)
  7255  	req.ApplyOptions(opts...)
  7256  	return out, req.Send()
  7257  }
  7258  
  7259  // ListQuickConnectsPages iterates over the pages of a ListQuickConnects operation,
  7260  // calling the "fn" function with the response data for each page. To stop
  7261  // iterating, return false from the fn function.
  7262  //
  7263  // See ListQuickConnects method for more information on how to use this operation.
  7264  //
  7265  // Note: This operation can generate multiple requests to a service.
  7266  //
  7267  //    // Example iterating over at most 3 pages of a ListQuickConnects operation.
  7268  //    pageNum := 0
  7269  //    err := client.ListQuickConnectsPages(params,
  7270  //        func(page *connect.ListQuickConnectsOutput, lastPage bool) bool {
  7271  //            pageNum++
  7272  //            fmt.Println(page)
  7273  //            return pageNum <= 3
  7274  //        })
  7275  //
  7276  func (c *Connect) ListQuickConnectsPages(input *ListQuickConnectsInput, fn func(*ListQuickConnectsOutput, bool) bool) error {
  7277  	return c.ListQuickConnectsPagesWithContext(aws.BackgroundContext(), input, fn)
  7278  }
  7279  
  7280  // ListQuickConnectsPagesWithContext same as ListQuickConnectsPages except
  7281  // it takes a Context and allows setting request options on the pages.
  7282  //
  7283  // The context must be non-nil and will be used for request cancellation. If
  7284  // the context is nil a panic will occur. In the future the SDK may create
  7285  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7286  // for more information on using Contexts.
  7287  func (c *Connect) ListQuickConnectsPagesWithContext(ctx aws.Context, input *ListQuickConnectsInput, fn func(*ListQuickConnectsOutput, bool) bool, opts ...request.Option) error {
  7288  	p := request.Pagination{
  7289  		NewRequest: func() (*request.Request, error) {
  7290  			var inCpy *ListQuickConnectsInput
  7291  			if input != nil {
  7292  				tmp := *input
  7293  				inCpy = &tmp
  7294  			}
  7295  			req, _ := c.ListQuickConnectsRequest(inCpy)
  7296  			req.SetContext(ctx)
  7297  			req.ApplyOptions(opts...)
  7298  			return req, nil
  7299  		},
  7300  	}
  7301  
  7302  	for p.Next() {
  7303  		if !fn(p.Page().(*ListQuickConnectsOutput), !p.HasNextPage()) {
  7304  			break
  7305  		}
  7306  	}
  7307  
  7308  	return p.Err()
  7309  }
  7310  
  7311  const opListRoutingProfileQueues = "ListRoutingProfileQueues"
  7312  
  7313  // ListRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
  7314  // client's request for the ListRoutingProfileQueues operation. The "output" return
  7315  // value will be populated with the request's response once the request completes
  7316  // successfully.
  7317  //
  7318  // Use "Send" method on the returned Request to send the API call to the service.
  7319  // the "output" return value is not valid until after Send returns without error.
  7320  //
  7321  // See ListRoutingProfileQueues for more information on using the ListRoutingProfileQueues
  7322  // API call, and error handling.
  7323  //
  7324  // This method is useful when you want to inject custom logic or configuration
  7325  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7326  //
  7327  //
  7328  //    // Example sending a request using the ListRoutingProfileQueuesRequest method.
  7329  //    req, resp := client.ListRoutingProfileQueuesRequest(params)
  7330  //
  7331  //    err := req.Send()
  7332  //    if err == nil { // resp is now filled
  7333  //        fmt.Println(resp)
  7334  //    }
  7335  //
  7336  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfileQueues
  7337  func (c *Connect) ListRoutingProfileQueuesRequest(input *ListRoutingProfileQueuesInput) (req *request.Request, output *ListRoutingProfileQueuesOutput) {
  7338  	op := &request.Operation{
  7339  		Name:       opListRoutingProfileQueues,
  7340  		HTTPMethod: "GET",
  7341  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues",
  7342  		Paginator: &request.Paginator{
  7343  			InputTokens:     []string{"NextToken"},
  7344  			OutputTokens:    []string{"NextToken"},
  7345  			LimitToken:      "MaxResults",
  7346  			TruncationToken: "",
  7347  		},
  7348  	}
  7349  
  7350  	if input == nil {
  7351  		input = &ListRoutingProfileQueuesInput{}
  7352  	}
  7353  
  7354  	output = &ListRoutingProfileQueuesOutput{}
  7355  	req = c.newRequest(op, input, output)
  7356  	return
  7357  }
  7358  
  7359  // ListRoutingProfileQueues API operation for Amazon Connect Service.
  7360  //
  7361  // Lists the queues associated with a routing profile.
  7362  //
  7363  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7364  // with awserr.Error's Code and Message methods to get detailed information about
  7365  // the error.
  7366  //
  7367  // See the AWS API reference guide for Amazon Connect Service's
  7368  // API operation ListRoutingProfileQueues for usage and error information.
  7369  //
  7370  // Returned Error Types:
  7371  //   * InvalidRequestException
  7372  //   The request is not valid.
  7373  //
  7374  //   * InvalidParameterException
  7375  //   One or more of the specified parameters are not valid.
  7376  //
  7377  //   * ResourceNotFoundException
  7378  //   The specified resource was not found.
  7379  //
  7380  //   * ThrottlingException
  7381  //   The throttling limit has been exceeded.
  7382  //
  7383  //   * InternalServiceException
  7384  //   Request processing failed because of an error or failure with the service.
  7385  //
  7386  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfileQueues
  7387  func (c *Connect) ListRoutingProfileQueues(input *ListRoutingProfileQueuesInput) (*ListRoutingProfileQueuesOutput, error) {
  7388  	req, out := c.ListRoutingProfileQueuesRequest(input)
  7389  	return out, req.Send()
  7390  }
  7391  
  7392  // ListRoutingProfileQueuesWithContext is the same as ListRoutingProfileQueues with the addition of
  7393  // the ability to pass a context and additional request options.
  7394  //
  7395  // See ListRoutingProfileQueues for details on how to use this API operation.
  7396  //
  7397  // The context must be non-nil and will be used for request cancellation. If
  7398  // the context is nil a panic will occur. In the future the SDK may create
  7399  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7400  // for more information on using Contexts.
  7401  func (c *Connect) ListRoutingProfileQueuesWithContext(ctx aws.Context, input *ListRoutingProfileQueuesInput, opts ...request.Option) (*ListRoutingProfileQueuesOutput, error) {
  7402  	req, out := c.ListRoutingProfileQueuesRequest(input)
  7403  	req.SetContext(ctx)
  7404  	req.ApplyOptions(opts...)
  7405  	return out, req.Send()
  7406  }
  7407  
  7408  // ListRoutingProfileQueuesPages iterates over the pages of a ListRoutingProfileQueues operation,
  7409  // calling the "fn" function with the response data for each page. To stop
  7410  // iterating, return false from the fn function.
  7411  //
  7412  // See ListRoutingProfileQueues method for more information on how to use this operation.
  7413  //
  7414  // Note: This operation can generate multiple requests to a service.
  7415  //
  7416  //    // Example iterating over at most 3 pages of a ListRoutingProfileQueues operation.
  7417  //    pageNum := 0
  7418  //    err := client.ListRoutingProfileQueuesPages(params,
  7419  //        func(page *connect.ListRoutingProfileQueuesOutput, lastPage bool) bool {
  7420  //            pageNum++
  7421  //            fmt.Println(page)
  7422  //            return pageNum <= 3
  7423  //        })
  7424  //
  7425  func (c *Connect) ListRoutingProfileQueuesPages(input *ListRoutingProfileQueuesInput, fn func(*ListRoutingProfileQueuesOutput, bool) bool) error {
  7426  	return c.ListRoutingProfileQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
  7427  }
  7428  
  7429  // ListRoutingProfileQueuesPagesWithContext same as ListRoutingProfileQueuesPages except
  7430  // it takes a Context and allows setting request options on the pages.
  7431  //
  7432  // The context must be non-nil and will be used for request cancellation. If
  7433  // the context is nil a panic will occur. In the future the SDK may create
  7434  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7435  // for more information on using Contexts.
  7436  func (c *Connect) ListRoutingProfileQueuesPagesWithContext(ctx aws.Context, input *ListRoutingProfileQueuesInput, fn func(*ListRoutingProfileQueuesOutput, bool) bool, opts ...request.Option) error {
  7437  	p := request.Pagination{
  7438  		NewRequest: func() (*request.Request, error) {
  7439  			var inCpy *ListRoutingProfileQueuesInput
  7440  			if input != nil {
  7441  				tmp := *input
  7442  				inCpy = &tmp
  7443  			}
  7444  			req, _ := c.ListRoutingProfileQueuesRequest(inCpy)
  7445  			req.SetContext(ctx)
  7446  			req.ApplyOptions(opts...)
  7447  			return req, nil
  7448  		},
  7449  	}
  7450  
  7451  	for p.Next() {
  7452  		if !fn(p.Page().(*ListRoutingProfileQueuesOutput), !p.HasNextPage()) {
  7453  			break
  7454  		}
  7455  	}
  7456  
  7457  	return p.Err()
  7458  }
  7459  
  7460  const opListRoutingProfiles = "ListRoutingProfiles"
  7461  
  7462  // ListRoutingProfilesRequest generates a "aws/request.Request" representing the
  7463  // client's request for the ListRoutingProfiles operation. The "output" return
  7464  // value will be populated with the request's response once the request completes
  7465  // successfully.
  7466  //
  7467  // Use "Send" method on the returned Request to send the API call to the service.
  7468  // the "output" return value is not valid until after Send returns without error.
  7469  //
  7470  // See ListRoutingProfiles for more information on using the ListRoutingProfiles
  7471  // API call, and error handling.
  7472  //
  7473  // This method is useful when you want to inject custom logic or configuration
  7474  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7475  //
  7476  //
  7477  //    // Example sending a request using the ListRoutingProfilesRequest method.
  7478  //    req, resp := client.ListRoutingProfilesRequest(params)
  7479  //
  7480  //    err := req.Send()
  7481  //    if err == nil { // resp is now filled
  7482  //        fmt.Println(resp)
  7483  //    }
  7484  //
  7485  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles
  7486  func (c *Connect) ListRoutingProfilesRequest(input *ListRoutingProfilesInput) (req *request.Request, output *ListRoutingProfilesOutput) {
  7487  	op := &request.Operation{
  7488  		Name:       opListRoutingProfiles,
  7489  		HTTPMethod: "GET",
  7490  		HTTPPath:   "/routing-profiles-summary/{InstanceId}",
  7491  		Paginator: &request.Paginator{
  7492  			InputTokens:     []string{"NextToken"},
  7493  			OutputTokens:    []string{"NextToken"},
  7494  			LimitToken:      "MaxResults",
  7495  			TruncationToken: "",
  7496  		},
  7497  	}
  7498  
  7499  	if input == nil {
  7500  		input = &ListRoutingProfilesInput{}
  7501  	}
  7502  
  7503  	output = &ListRoutingProfilesOutput{}
  7504  	req = c.newRequest(op, input, output)
  7505  	return
  7506  }
  7507  
  7508  // ListRoutingProfiles API operation for Amazon Connect Service.
  7509  //
  7510  // Provides summary information about the routing profiles for the specified
  7511  // Amazon Connect instance.
  7512  //
  7513  // For more information about routing profiles, see Routing Profiles (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing.html)
  7514  // and Create a Routing Profile (https://docs.aws.amazon.com/connect/latest/adminguide/routing-profiles.html)
  7515  // in the Amazon Connect Administrator Guide.
  7516  //
  7517  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7518  // with awserr.Error's Code and Message methods to get detailed information about
  7519  // the error.
  7520  //
  7521  // See the AWS API reference guide for Amazon Connect Service's
  7522  // API operation ListRoutingProfiles for usage and error information.
  7523  //
  7524  // Returned Error Types:
  7525  //   * InvalidRequestException
  7526  //   The request is not valid.
  7527  //
  7528  //   * InvalidParameterException
  7529  //   One or more of the specified parameters are not valid.
  7530  //
  7531  //   * ResourceNotFoundException
  7532  //   The specified resource was not found.
  7533  //
  7534  //   * ThrottlingException
  7535  //   The throttling limit has been exceeded.
  7536  //
  7537  //   * InternalServiceException
  7538  //   Request processing failed because of an error or failure with the service.
  7539  //
  7540  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListRoutingProfiles
  7541  func (c *Connect) ListRoutingProfiles(input *ListRoutingProfilesInput) (*ListRoutingProfilesOutput, error) {
  7542  	req, out := c.ListRoutingProfilesRequest(input)
  7543  	return out, req.Send()
  7544  }
  7545  
  7546  // ListRoutingProfilesWithContext is the same as ListRoutingProfiles with the addition of
  7547  // the ability to pass a context and additional request options.
  7548  //
  7549  // See ListRoutingProfiles for details on how to use this API operation.
  7550  //
  7551  // The context must be non-nil and will be used for request cancellation. If
  7552  // the context is nil a panic will occur. In the future the SDK may create
  7553  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7554  // for more information on using Contexts.
  7555  func (c *Connect) ListRoutingProfilesWithContext(ctx aws.Context, input *ListRoutingProfilesInput, opts ...request.Option) (*ListRoutingProfilesOutput, error) {
  7556  	req, out := c.ListRoutingProfilesRequest(input)
  7557  	req.SetContext(ctx)
  7558  	req.ApplyOptions(opts...)
  7559  	return out, req.Send()
  7560  }
  7561  
  7562  // ListRoutingProfilesPages iterates over the pages of a ListRoutingProfiles operation,
  7563  // calling the "fn" function with the response data for each page. To stop
  7564  // iterating, return false from the fn function.
  7565  //
  7566  // See ListRoutingProfiles method for more information on how to use this operation.
  7567  //
  7568  // Note: This operation can generate multiple requests to a service.
  7569  //
  7570  //    // Example iterating over at most 3 pages of a ListRoutingProfiles operation.
  7571  //    pageNum := 0
  7572  //    err := client.ListRoutingProfilesPages(params,
  7573  //        func(page *connect.ListRoutingProfilesOutput, lastPage bool) bool {
  7574  //            pageNum++
  7575  //            fmt.Println(page)
  7576  //            return pageNum <= 3
  7577  //        })
  7578  //
  7579  func (c *Connect) ListRoutingProfilesPages(input *ListRoutingProfilesInput, fn func(*ListRoutingProfilesOutput, bool) bool) error {
  7580  	return c.ListRoutingProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
  7581  }
  7582  
  7583  // ListRoutingProfilesPagesWithContext same as ListRoutingProfilesPages except
  7584  // it takes a Context and allows setting request options on the pages.
  7585  //
  7586  // The context must be non-nil and will be used for request cancellation. If
  7587  // the context is nil a panic will occur. In the future the SDK may create
  7588  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7589  // for more information on using Contexts.
  7590  func (c *Connect) ListRoutingProfilesPagesWithContext(ctx aws.Context, input *ListRoutingProfilesInput, fn func(*ListRoutingProfilesOutput, bool) bool, opts ...request.Option) error {
  7591  	p := request.Pagination{
  7592  		NewRequest: func() (*request.Request, error) {
  7593  			var inCpy *ListRoutingProfilesInput
  7594  			if input != nil {
  7595  				tmp := *input
  7596  				inCpy = &tmp
  7597  			}
  7598  			req, _ := c.ListRoutingProfilesRequest(inCpy)
  7599  			req.SetContext(ctx)
  7600  			req.ApplyOptions(opts...)
  7601  			return req, nil
  7602  		},
  7603  	}
  7604  
  7605  	for p.Next() {
  7606  		if !fn(p.Page().(*ListRoutingProfilesOutput), !p.HasNextPage()) {
  7607  			break
  7608  		}
  7609  	}
  7610  
  7611  	return p.Err()
  7612  }
  7613  
  7614  const opListSecurityKeys = "ListSecurityKeys"
  7615  
  7616  // ListSecurityKeysRequest generates a "aws/request.Request" representing the
  7617  // client's request for the ListSecurityKeys operation. The "output" return
  7618  // value will be populated with the request's response once the request completes
  7619  // successfully.
  7620  //
  7621  // Use "Send" method on the returned Request to send the API call to the service.
  7622  // the "output" return value is not valid until after Send returns without error.
  7623  //
  7624  // See ListSecurityKeys for more information on using the ListSecurityKeys
  7625  // API call, and error handling.
  7626  //
  7627  // This method is useful when you want to inject custom logic or configuration
  7628  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7629  //
  7630  //
  7631  //    // Example sending a request using the ListSecurityKeysRequest method.
  7632  //    req, resp := client.ListSecurityKeysRequest(params)
  7633  //
  7634  //    err := req.Send()
  7635  //    if err == nil { // resp is now filled
  7636  //        fmt.Println(resp)
  7637  //    }
  7638  //
  7639  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityKeys
  7640  func (c *Connect) ListSecurityKeysRequest(input *ListSecurityKeysInput) (req *request.Request, output *ListSecurityKeysOutput) {
  7641  	op := &request.Operation{
  7642  		Name:       opListSecurityKeys,
  7643  		HTTPMethod: "GET",
  7644  		HTTPPath:   "/instance/{InstanceId}/security-keys",
  7645  		Paginator: &request.Paginator{
  7646  			InputTokens:     []string{"NextToken"},
  7647  			OutputTokens:    []string{"NextToken"},
  7648  			LimitToken:      "MaxResults",
  7649  			TruncationToken: "",
  7650  		},
  7651  	}
  7652  
  7653  	if input == nil {
  7654  		input = &ListSecurityKeysInput{}
  7655  	}
  7656  
  7657  	output = &ListSecurityKeysOutput{}
  7658  	req = c.newRequest(op, input, output)
  7659  	return
  7660  }
  7661  
  7662  // ListSecurityKeys API operation for Amazon Connect Service.
  7663  //
  7664  // This API is in preview release for Amazon Connect and is subject to change.
  7665  //
  7666  // Returns a paginated list of all security keys associated with the instance.
  7667  //
  7668  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7669  // with awserr.Error's Code and Message methods to get detailed information about
  7670  // the error.
  7671  //
  7672  // See the AWS API reference guide for Amazon Connect Service's
  7673  // API operation ListSecurityKeys for usage and error information.
  7674  //
  7675  // Returned Error Types:
  7676  //   * ResourceNotFoundException
  7677  //   The specified resource was not found.
  7678  //
  7679  //   * InternalServiceException
  7680  //   Request processing failed because of an error or failure with the service.
  7681  //
  7682  //   * InvalidRequestException
  7683  //   The request is not valid.
  7684  //
  7685  //   * InvalidParameterException
  7686  //   One or more of the specified parameters are not valid.
  7687  //
  7688  //   * ThrottlingException
  7689  //   The throttling limit has been exceeded.
  7690  //
  7691  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityKeys
  7692  func (c *Connect) ListSecurityKeys(input *ListSecurityKeysInput) (*ListSecurityKeysOutput, error) {
  7693  	req, out := c.ListSecurityKeysRequest(input)
  7694  	return out, req.Send()
  7695  }
  7696  
  7697  // ListSecurityKeysWithContext is the same as ListSecurityKeys with the addition of
  7698  // the ability to pass a context and additional request options.
  7699  //
  7700  // See ListSecurityKeys for details on how to use this API operation.
  7701  //
  7702  // The context must be non-nil and will be used for request cancellation. If
  7703  // the context is nil a panic will occur. In the future the SDK may create
  7704  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7705  // for more information on using Contexts.
  7706  func (c *Connect) ListSecurityKeysWithContext(ctx aws.Context, input *ListSecurityKeysInput, opts ...request.Option) (*ListSecurityKeysOutput, error) {
  7707  	req, out := c.ListSecurityKeysRequest(input)
  7708  	req.SetContext(ctx)
  7709  	req.ApplyOptions(opts...)
  7710  	return out, req.Send()
  7711  }
  7712  
  7713  // ListSecurityKeysPages iterates over the pages of a ListSecurityKeys operation,
  7714  // calling the "fn" function with the response data for each page. To stop
  7715  // iterating, return false from the fn function.
  7716  //
  7717  // See ListSecurityKeys method for more information on how to use this operation.
  7718  //
  7719  // Note: This operation can generate multiple requests to a service.
  7720  //
  7721  //    // Example iterating over at most 3 pages of a ListSecurityKeys operation.
  7722  //    pageNum := 0
  7723  //    err := client.ListSecurityKeysPages(params,
  7724  //        func(page *connect.ListSecurityKeysOutput, lastPage bool) bool {
  7725  //            pageNum++
  7726  //            fmt.Println(page)
  7727  //            return pageNum <= 3
  7728  //        })
  7729  //
  7730  func (c *Connect) ListSecurityKeysPages(input *ListSecurityKeysInput, fn func(*ListSecurityKeysOutput, bool) bool) error {
  7731  	return c.ListSecurityKeysPagesWithContext(aws.BackgroundContext(), input, fn)
  7732  }
  7733  
  7734  // ListSecurityKeysPagesWithContext same as ListSecurityKeysPages except
  7735  // it takes a Context and allows setting request options on the pages.
  7736  //
  7737  // The context must be non-nil and will be used for request cancellation. If
  7738  // the context is nil a panic will occur. In the future the SDK may create
  7739  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7740  // for more information on using Contexts.
  7741  func (c *Connect) ListSecurityKeysPagesWithContext(ctx aws.Context, input *ListSecurityKeysInput, fn func(*ListSecurityKeysOutput, bool) bool, opts ...request.Option) error {
  7742  	p := request.Pagination{
  7743  		NewRequest: func() (*request.Request, error) {
  7744  			var inCpy *ListSecurityKeysInput
  7745  			if input != nil {
  7746  				tmp := *input
  7747  				inCpy = &tmp
  7748  			}
  7749  			req, _ := c.ListSecurityKeysRequest(inCpy)
  7750  			req.SetContext(ctx)
  7751  			req.ApplyOptions(opts...)
  7752  			return req, nil
  7753  		},
  7754  	}
  7755  
  7756  	for p.Next() {
  7757  		if !fn(p.Page().(*ListSecurityKeysOutput), !p.HasNextPage()) {
  7758  			break
  7759  		}
  7760  	}
  7761  
  7762  	return p.Err()
  7763  }
  7764  
  7765  const opListSecurityProfiles = "ListSecurityProfiles"
  7766  
  7767  // ListSecurityProfilesRequest generates a "aws/request.Request" representing the
  7768  // client's request for the ListSecurityProfiles operation. The "output" return
  7769  // value will be populated with the request's response once the request completes
  7770  // successfully.
  7771  //
  7772  // Use "Send" method on the returned Request to send the API call to the service.
  7773  // the "output" return value is not valid until after Send returns without error.
  7774  //
  7775  // See ListSecurityProfiles for more information on using the ListSecurityProfiles
  7776  // API call, and error handling.
  7777  //
  7778  // This method is useful when you want to inject custom logic or configuration
  7779  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7780  //
  7781  //
  7782  //    // Example sending a request using the ListSecurityProfilesRequest method.
  7783  //    req, resp := client.ListSecurityProfilesRequest(params)
  7784  //
  7785  //    err := req.Send()
  7786  //    if err == nil { // resp is now filled
  7787  //        fmt.Println(resp)
  7788  //    }
  7789  //
  7790  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles
  7791  func (c *Connect) ListSecurityProfilesRequest(input *ListSecurityProfilesInput) (req *request.Request, output *ListSecurityProfilesOutput) {
  7792  	op := &request.Operation{
  7793  		Name:       opListSecurityProfiles,
  7794  		HTTPMethod: "GET",
  7795  		HTTPPath:   "/security-profiles-summary/{InstanceId}",
  7796  		Paginator: &request.Paginator{
  7797  			InputTokens:     []string{"NextToken"},
  7798  			OutputTokens:    []string{"NextToken"},
  7799  			LimitToken:      "MaxResults",
  7800  			TruncationToken: "",
  7801  		},
  7802  	}
  7803  
  7804  	if input == nil {
  7805  		input = &ListSecurityProfilesInput{}
  7806  	}
  7807  
  7808  	output = &ListSecurityProfilesOutput{}
  7809  	req = c.newRequest(op, input, output)
  7810  	return
  7811  }
  7812  
  7813  // ListSecurityProfiles API operation for Amazon Connect Service.
  7814  //
  7815  // Provides summary information about the security profiles for the specified
  7816  // Amazon Connect instance.
  7817  //
  7818  // For more information about security profiles, see Security Profiles (https://docs.aws.amazon.com/connect/latest/adminguide/connect-security-profiles.html)
  7819  // in the Amazon Connect Administrator Guide.
  7820  //
  7821  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7822  // with awserr.Error's Code and Message methods to get detailed information about
  7823  // the error.
  7824  //
  7825  // See the AWS API reference guide for Amazon Connect Service's
  7826  // API operation ListSecurityProfiles for usage and error information.
  7827  //
  7828  // Returned Error Types:
  7829  //   * InvalidRequestException
  7830  //   The request is not valid.
  7831  //
  7832  //   * InvalidParameterException
  7833  //   One or more of the specified parameters are not valid.
  7834  //
  7835  //   * ResourceNotFoundException
  7836  //   The specified resource was not found.
  7837  //
  7838  //   * ThrottlingException
  7839  //   The throttling limit has been exceeded.
  7840  //
  7841  //   * InternalServiceException
  7842  //   Request processing failed because of an error or failure with the service.
  7843  //
  7844  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListSecurityProfiles
  7845  func (c *Connect) ListSecurityProfiles(input *ListSecurityProfilesInput) (*ListSecurityProfilesOutput, error) {
  7846  	req, out := c.ListSecurityProfilesRequest(input)
  7847  	return out, req.Send()
  7848  }
  7849  
  7850  // ListSecurityProfilesWithContext is the same as ListSecurityProfiles with the addition of
  7851  // the ability to pass a context and additional request options.
  7852  //
  7853  // See ListSecurityProfiles for details on how to use this API operation.
  7854  //
  7855  // The context must be non-nil and will be used for request cancellation. If
  7856  // the context is nil a panic will occur. In the future the SDK may create
  7857  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7858  // for more information on using Contexts.
  7859  func (c *Connect) ListSecurityProfilesWithContext(ctx aws.Context, input *ListSecurityProfilesInput, opts ...request.Option) (*ListSecurityProfilesOutput, error) {
  7860  	req, out := c.ListSecurityProfilesRequest(input)
  7861  	req.SetContext(ctx)
  7862  	req.ApplyOptions(opts...)
  7863  	return out, req.Send()
  7864  }
  7865  
  7866  // ListSecurityProfilesPages iterates over the pages of a ListSecurityProfiles operation,
  7867  // calling the "fn" function with the response data for each page. To stop
  7868  // iterating, return false from the fn function.
  7869  //
  7870  // See ListSecurityProfiles method for more information on how to use this operation.
  7871  //
  7872  // Note: This operation can generate multiple requests to a service.
  7873  //
  7874  //    // Example iterating over at most 3 pages of a ListSecurityProfiles operation.
  7875  //    pageNum := 0
  7876  //    err := client.ListSecurityProfilesPages(params,
  7877  //        func(page *connect.ListSecurityProfilesOutput, lastPage bool) bool {
  7878  //            pageNum++
  7879  //            fmt.Println(page)
  7880  //            return pageNum <= 3
  7881  //        })
  7882  //
  7883  func (c *Connect) ListSecurityProfilesPages(input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool) error {
  7884  	return c.ListSecurityProfilesPagesWithContext(aws.BackgroundContext(), input, fn)
  7885  }
  7886  
  7887  // ListSecurityProfilesPagesWithContext same as ListSecurityProfilesPages except
  7888  // it takes a Context and allows setting request options on the pages.
  7889  //
  7890  // The context must be non-nil and will be used for request cancellation. If
  7891  // the context is nil a panic will occur. In the future the SDK may create
  7892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7893  // for more information on using Contexts.
  7894  func (c *Connect) ListSecurityProfilesPagesWithContext(ctx aws.Context, input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool, opts ...request.Option) error {
  7895  	p := request.Pagination{
  7896  		NewRequest: func() (*request.Request, error) {
  7897  			var inCpy *ListSecurityProfilesInput
  7898  			if input != nil {
  7899  				tmp := *input
  7900  				inCpy = &tmp
  7901  			}
  7902  			req, _ := c.ListSecurityProfilesRequest(inCpy)
  7903  			req.SetContext(ctx)
  7904  			req.ApplyOptions(opts...)
  7905  			return req, nil
  7906  		},
  7907  	}
  7908  
  7909  	for p.Next() {
  7910  		if !fn(p.Page().(*ListSecurityProfilesOutput), !p.HasNextPage()) {
  7911  			break
  7912  		}
  7913  	}
  7914  
  7915  	return p.Err()
  7916  }
  7917  
  7918  const opListTagsForResource = "ListTagsForResource"
  7919  
  7920  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  7921  // client's request for the ListTagsForResource operation. The "output" return
  7922  // value will be populated with the request's response once the request completes
  7923  // successfully.
  7924  //
  7925  // Use "Send" method on the returned Request to send the API call to the service.
  7926  // the "output" return value is not valid until after Send returns without error.
  7927  //
  7928  // See ListTagsForResource for more information on using the ListTagsForResource
  7929  // API call, and error handling.
  7930  //
  7931  // This method is useful when you want to inject custom logic or configuration
  7932  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7933  //
  7934  //
  7935  //    // Example sending a request using the ListTagsForResourceRequest method.
  7936  //    req, resp := client.ListTagsForResourceRequest(params)
  7937  //
  7938  //    err := req.Send()
  7939  //    if err == nil { // resp is now filled
  7940  //        fmt.Println(resp)
  7941  //    }
  7942  //
  7943  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource
  7944  func (c *Connect) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  7945  	op := &request.Operation{
  7946  		Name:       opListTagsForResource,
  7947  		HTTPMethod: "GET",
  7948  		HTTPPath:   "/tags/{resourceArn}",
  7949  	}
  7950  
  7951  	if input == nil {
  7952  		input = &ListTagsForResourceInput{}
  7953  	}
  7954  
  7955  	output = &ListTagsForResourceOutput{}
  7956  	req = c.newRequest(op, input, output)
  7957  	return
  7958  }
  7959  
  7960  // ListTagsForResource API operation for Amazon Connect Service.
  7961  //
  7962  // Lists the tags for the specified resource.
  7963  //
  7964  // For sample policies that use tags, see Amazon Connect Identity-Based Policy
  7965  // Examples (https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html)
  7966  // in the Amazon Connect Administrator Guide.
  7967  //
  7968  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7969  // with awserr.Error's Code and Message methods to get detailed information about
  7970  // the error.
  7971  //
  7972  // See the AWS API reference guide for Amazon Connect Service's
  7973  // API operation ListTagsForResource for usage and error information.
  7974  //
  7975  // Returned Error Types:
  7976  //   * InvalidRequestException
  7977  //   The request is not valid.
  7978  //
  7979  //   * InvalidParameterException
  7980  //   One or more of the specified parameters are not valid.
  7981  //
  7982  //   * InternalServiceException
  7983  //   Request processing failed because of an error or failure with the service.
  7984  //
  7985  //   * ResourceNotFoundException
  7986  //   The specified resource was not found.
  7987  //
  7988  //   * ThrottlingException
  7989  //   The throttling limit has been exceeded.
  7990  //
  7991  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListTagsForResource
  7992  func (c *Connect) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  7993  	req, out := c.ListTagsForResourceRequest(input)
  7994  	return out, req.Send()
  7995  }
  7996  
  7997  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  7998  // the ability to pass a context and additional request options.
  7999  //
  8000  // See ListTagsForResource for details on how to use this API operation.
  8001  //
  8002  // The context must be non-nil and will be used for request cancellation. If
  8003  // the context is nil a panic will occur. In the future the SDK may create
  8004  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8005  // for more information on using Contexts.
  8006  func (c *Connect) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  8007  	req, out := c.ListTagsForResourceRequest(input)
  8008  	req.SetContext(ctx)
  8009  	req.ApplyOptions(opts...)
  8010  	return out, req.Send()
  8011  }
  8012  
  8013  const opListUseCases = "ListUseCases"
  8014  
  8015  // ListUseCasesRequest generates a "aws/request.Request" representing the
  8016  // client's request for the ListUseCases operation. The "output" return
  8017  // value will be populated with the request's response once the request completes
  8018  // successfully.
  8019  //
  8020  // Use "Send" method on the returned Request to send the API call to the service.
  8021  // the "output" return value is not valid until after Send returns without error.
  8022  //
  8023  // See ListUseCases for more information on using the ListUseCases
  8024  // API call, and error handling.
  8025  //
  8026  // This method is useful when you want to inject custom logic or configuration
  8027  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8028  //
  8029  //
  8030  //    // Example sending a request using the ListUseCasesRequest method.
  8031  //    req, resp := client.ListUseCasesRequest(params)
  8032  //
  8033  //    err := req.Send()
  8034  //    if err == nil { // resp is now filled
  8035  //        fmt.Println(resp)
  8036  //    }
  8037  //
  8038  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUseCases
  8039  func (c *Connect) ListUseCasesRequest(input *ListUseCasesInput) (req *request.Request, output *ListUseCasesOutput) {
  8040  	op := &request.Operation{
  8041  		Name:       opListUseCases,
  8042  		HTTPMethod: "GET",
  8043  		HTTPPath:   "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}/use-cases",
  8044  		Paginator: &request.Paginator{
  8045  			InputTokens:     []string{"NextToken"},
  8046  			OutputTokens:    []string{"NextToken"},
  8047  			LimitToken:      "MaxResults",
  8048  			TruncationToken: "",
  8049  		},
  8050  	}
  8051  
  8052  	if input == nil {
  8053  		input = &ListUseCasesInput{}
  8054  	}
  8055  
  8056  	output = &ListUseCasesOutput{}
  8057  	req = c.newRequest(op, input, output)
  8058  	return
  8059  }
  8060  
  8061  // ListUseCases API operation for Amazon Connect Service.
  8062  //
  8063  // Lists the use cases for the integration association.
  8064  //
  8065  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8066  // with awserr.Error's Code and Message methods to get detailed information about
  8067  // the error.
  8068  //
  8069  // See the AWS API reference guide for Amazon Connect Service's
  8070  // API operation ListUseCases for usage and error information.
  8071  //
  8072  // Returned Error Types:
  8073  //   * ResourceNotFoundException
  8074  //   The specified resource was not found.
  8075  //
  8076  //   * InternalServiceException
  8077  //   Request processing failed because of an error or failure with the service.
  8078  //
  8079  //   * InvalidRequestException
  8080  //   The request is not valid.
  8081  //
  8082  //   * ThrottlingException
  8083  //   The throttling limit has been exceeded.
  8084  //
  8085  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUseCases
  8086  func (c *Connect) ListUseCases(input *ListUseCasesInput) (*ListUseCasesOutput, error) {
  8087  	req, out := c.ListUseCasesRequest(input)
  8088  	return out, req.Send()
  8089  }
  8090  
  8091  // ListUseCasesWithContext is the same as ListUseCases with the addition of
  8092  // the ability to pass a context and additional request options.
  8093  //
  8094  // See ListUseCases for details on how to use this API operation.
  8095  //
  8096  // The context must be non-nil and will be used for request cancellation. If
  8097  // the context is nil a panic will occur. In the future the SDK may create
  8098  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8099  // for more information on using Contexts.
  8100  func (c *Connect) ListUseCasesWithContext(ctx aws.Context, input *ListUseCasesInput, opts ...request.Option) (*ListUseCasesOutput, error) {
  8101  	req, out := c.ListUseCasesRequest(input)
  8102  	req.SetContext(ctx)
  8103  	req.ApplyOptions(opts...)
  8104  	return out, req.Send()
  8105  }
  8106  
  8107  // ListUseCasesPages iterates over the pages of a ListUseCases operation,
  8108  // calling the "fn" function with the response data for each page. To stop
  8109  // iterating, return false from the fn function.
  8110  //
  8111  // See ListUseCases method for more information on how to use this operation.
  8112  //
  8113  // Note: This operation can generate multiple requests to a service.
  8114  //
  8115  //    // Example iterating over at most 3 pages of a ListUseCases operation.
  8116  //    pageNum := 0
  8117  //    err := client.ListUseCasesPages(params,
  8118  //        func(page *connect.ListUseCasesOutput, lastPage bool) bool {
  8119  //            pageNum++
  8120  //            fmt.Println(page)
  8121  //            return pageNum <= 3
  8122  //        })
  8123  //
  8124  func (c *Connect) ListUseCasesPages(input *ListUseCasesInput, fn func(*ListUseCasesOutput, bool) bool) error {
  8125  	return c.ListUseCasesPagesWithContext(aws.BackgroundContext(), input, fn)
  8126  }
  8127  
  8128  // ListUseCasesPagesWithContext same as ListUseCasesPages except
  8129  // it takes a Context and allows setting request options on the pages.
  8130  //
  8131  // The context must be non-nil and will be used for request cancellation. If
  8132  // the context is nil a panic will occur. In the future the SDK may create
  8133  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8134  // for more information on using Contexts.
  8135  func (c *Connect) ListUseCasesPagesWithContext(ctx aws.Context, input *ListUseCasesInput, fn func(*ListUseCasesOutput, bool) bool, opts ...request.Option) error {
  8136  	p := request.Pagination{
  8137  		NewRequest: func() (*request.Request, error) {
  8138  			var inCpy *ListUseCasesInput
  8139  			if input != nil {
  8140  				tmp := *input
  8141  				inCpy = &tmp
  8142  			}
  8143  			req, _ := c.ListUseCasesRequest(inCpy)
  8144  			req.SetContext(ctx)
  8145  			req.ApplyOptions(opts...)
  8146  			return req, nil
  8147  		},
  8148  	}
  8149  
  8150  	for p.Next() {
  8151  		if !fn(p.Page().(*ListUseCasesOutput), !p.HasNextPage()) {
  8152  			break
  8153  		}
  8154  	}
  8155  
  8156  	return p.Err()
  8157  }
  8158  
  8159  const opListUserHierarchyGroups = "ListUserHierarchyGroups"
  8160  
  8161  // ListUserHierarchyGroupsRequest generates a "aws/request.Request" representing the
  8162  // client's request for the ListUserHierarchyGroups operation. The "output" return
  8163  // value will be populated with the request's response once the request completes
  8164  // successfully.
  8165  //
  8166  // Use "Send" method on the returned Request to send the API call to the service.
  8167  // the "output" return value is not valid until after Send returns without error.
  8168  //
  8169  // See ListUserHierarchyGroups for more information on using the ListUserHierarchyGroups
  8170  // API call, and error handling.
  8171  //
  8172  // This method is useful when you want to inject custom logic or configuration
  8173  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8174  //
  8175  //
  8176  //    // Example sending a request using the ListUserHierarchyGroupsRequest method.
  8177  //    req, resp := client.ListUserHierarchyGroupsRequest(params)
  8178  //
  8179  //    err := req.Send()
  8180  //    if err == nil { // resp is now filled
  8181  //        fmt.Println(resp)
  8182  //    }
  8183  //
  8184  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups
  8185  func (c *Connect) ListUserHierarchyGroupsRequest(input *ListUserHierarchyGroupsInput) (req *request.Request, output *ListUserHierarchyGroupsOutput) {
  8186  	op := &request.Operation{
  8187  		Name:       opListUserHierarchyGroups,
  8188  		HTTPMethod: "GET",
  8189  		HTTPPath:   "/user-hierarchy-groups-summary/{InstanceId}",
  8190  		Paginator: &request.Paginator{
  8191  			InputTokens:     []string{"NextToken"},
  8192  			OutputTokens:    []string{"NextToken"},
  8193  			LimitToken:      "MaxResults",
  8194  			TruncationToken: "",
  8195  		},
  8196  	}
  8197  
  8198  	if input == nil {
  8199  		input = &ListUserHierarchyGroupsInput{}
  8200  	}
  8201  
  8202  	output = &ListUserHierarchyGroupsOutput{}
  8203  	req = c.newRequest(op, input, output)
  8204  	return
  8205  }
  8206  
  8207  // ListUserHierarchyGroups API operation for Amazon Connect Service.
  8208  //
  8209  // Provides summary information about the hierarchy groups for the specified
  8210  // Amazon Connect instance.
  8211  //
  8212  // For more information about agent hierarchies, see Set Up Agent Hierarchies
  8213  // (https://docs.aws.amazon.com/connect/latest/adminguide/agent-hierarchy.html)
  8214  // in the Amazon Connect Administrator Guide.
  8215  //
  8216  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8217  // with awserr.Error's Code and Message methods to get detailed information about
  8218  // the error.
  8219  //
  8220  // See the AWS API reference guide for Amazon Connect Service's
  8221  // API operation ListUserHierarchyGroups for usage and error information.
  8222  //
  8223  // Returned Error Types:
  8224  //   * InvalidRequestException
  8225  //   The request is not valid.
  8226  //
  8227  //   * InvalidParameterException
  8228  //   One or more of the specified parameters are not valid.
  8229  //
  8230  //   * ResourceNotFoundException
  8231  //   The specified resource was not found.
  8232  //
  8233  //   * ThrottlingException
  8234  //   The throttling limit has been exceeded.
  8235  //
  8236  //   * InternalServiceException
  8237  //   Request processing failed because of an error or failure with the service.
  8238  //
  8239  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUserHierarchyGroups
  8240  func (c *Connect) ListUserHierarchyGroups(input *ListUserHierarchyGroupsInput) (*ListUserHierarchyGroupsOutput, error) {
  8241  	req, out := c.ListUserHierarchyGroupsRequest(input)
  8242  	return out, req.Send()
  8243  }
  8244  
  8245  // ListUserHierarchyGroupsWithContext is the same as ListUserHierarchyGroups with the addition of
  8246  // the ability to pass a context and additional request options.
  8247  //
  8248  // See ListUserHierarchyGroups for details on how to use this API operation.
  8249  //
  8250  // The context must be non-nil and will be used for request cancellation. If
  8251  // the context is nil a panic will occur. In the future the SDK may create
  8252  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8253  // for more information on using Contexts.
  8254  func (c *Connect) ListUserHierarchyGroupsWithContext(ctx aws.Context, input *ListUserHierarchyGroupsInput, opts ...request.Option) (*ListUserHierarchyGroupsOutput, error) {
  8255  	req, out := c.ListUserHierarchyGroupsRequest(input)
  8256  	req.SetContext(ctx)
  8257  	req.ApplyOptions(opts...)
  8258  	return out, req.Send()
  8259  }
  8260  
  8261  // ListUserHierarchyGroupsPages iterates over the pages of a ListUserHierarchyGroups operation,
  8262  // calling the "fn" function with the response data for each page. To stop
  8263  // iterating, return false from the fn function.
  8264  //
  8265  // See ListUserHierarchyGroups method for more information on how to use this operation.
  8266  //
  8267  // Note: This operation can generate multiple requests to a service.
  8268  //
  8269  //    // Example iterating over at most 3 pages of a ListUserHierarchyGroups operation.
  8270  //    pageNum := 0
  8271  //    err := client.ListUserHierarchyGroupsPages(params,
  8272  //        func(page *connect.ListUserHierarchyGroupsOutput, lastPage bool) bool {
  8273  //            pageNum++
  8274  //            fmt.Println(page)
  8275  //            return pageNum <= 3
  8276  //        })
  8277  //
  8278  func (c *Connect) ListUserHierarchyGroupsPages(input *ListUserHierarchyGroupsInput, fn func(*ListUserHierarchyGroupsOutput, bool) bool) error {
  8279  	return c.ListUserHierarchyGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  8280  }
  8281  
  8282  // ListUserHierarchyGroupsPagesWithContext same as ListUserHierarchyGroupsPages except
  8283  // it takes a Context and allows setting request options on the pages.
  8284  //
  8285  // The context must be non-nil and will be used for request cancellation. If
  8286  // the context is nil a panic will occur. In the future the SDK may create
  8287  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8288  // for more information on using Contexts.
  8289  func (c *Connect) ListUserHierarchyGroupsPagesWithContext(ctx aws.Context, input *ListUserHierarchyGroupsInput, fn func(*ListUserHierarchyGroupsOutput, bool) bool, opts ...request.Option) error {
  8290  	p := request.Pagination{
  8291  		NewRequest: func() (*request.Request, error) {
  8292  			var inCpy *ListUserHierarchyGroupsInput
  8293  			if input != nil {
  8294  				tmp := *input
  8295  				inCpy = &tmp
  8296  			}
  8297  			req, _ := c.ListUserHierarchyGroupsRequest(inCpy)
  8298  			req.SetContext(ctx)
  8299  			req.ApplyOptions(opts...)
  8300  			return req, nil
  8301  		},
  8302  	}
  8303  
  8304  	for p.Next() {
  8305  		if !fn(p.Page().(*ListUserHierarchyGroupsOutput), !p.HasNextPage()) {
  8306  			break
  8307  		}
  8308  	}
  8309  
  8310  	return p.Err()
  8311  }
  8312  
  8313  const opListUsers = "ListUsers"
  8314  
  8315  // ListUsersRequest generates a "aws/request.Request" representing the
  8316  // client's request for the ListUsers operation. The "output" return
  8317  // value will be populated with the request's response once the request completes
  8318  // successfully.
  8319  //
  8320  // Use "Send" method on the returned Request to send the API call to the service.
  8321  // the "output" return value is not valid until after Send returns without error.
  8322  //
  8323  // See ListUsers for more information on using the ListUsers
  8324  // API call, and error handling.
  8325  //
  8326  // This method is useful when you want to inject custom logic or configuration
  8327  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8328  //
  8329  //
  8330  //    // Example sending a request using the ListUsersRequest method.
  8331  //    req, resp := client.ListUsersRequest(params)
  8332  //
  8333  //    err := req.Send()
  8334  //    if err == nil { // resp is now filled
  8335  //        fmt.Println(resp)
  8336  //    }
  8337  //
  8338  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers
  8339  func (c *Connect) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) {
  8340  	op := &request.Operation{
  8341  		Name:       opListUsers,
  8342  		HTTPMethod: "GET",
  8343  		HTTPPath:   "/users-summary/{InstanceId}",
  8344  		Paginator: &request.Paginator{
  8345  			InputTokens:     []string{"NextToken"},
  8346  			OutputTokens:    []string{"NextToken"},
  8347  			LimitToken:      "MaxResults",
  8348  			TruncationToken: "",
  8349  		},
  8350  	}
  8351  
  8352  	if input == nil {
  8353  		input = &ListUsersInput{}
  8354  	}
  8355  
  8356  	output = &ListUsersOutput{}
  8357  	req = c.newRequest(op, input, output)
  8358  	return
  8359  }
  8360  
  8361  // ListUsers API operation for Amazon Connect Service.
  8362  //
  8363  // Provides summary information about the users for the specified Amazon Connect
  8364  // instance.
  8365  //
  8366  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8367  // with awserr.Error's Code and Message methods to get detailed information about
  8368  // the error.
  8369  //
  8370  // See the AWS API reference guide for Amazon Connect Service's
  8371  // API operation ListUsers for usage and error information.
  8372  //
  8373  // Returned Error Types:
  8374  //   * InvalidRequestException
  8375  //   The request is not valid.
  8376  //
  8377  //   * InvalidParameterException
  8378  //   One or more of the specified parameters are not valid.
  8379  //
  8380  //   * ResourceNotFoundException
  8381  //   The specified resource was not found.
  8382  //
  8383  //   * ThrottlingException
  8384  //   The throttling limit has been exceeded.
  8385  //
  8386  //   * InternalServiceException
  8387  //   Request processing failed because of an error or failure with the service.
  8388  //
  8389  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListUsers
  8390  func (c *Connect) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) {
  8391  	req, out := c.ListUsersRequest(input)
  8392  	return out, req.Send()
  8393  }
  8394  
  8395  // ListUsersWithContext is the same as ListUsers with the addition of
  8396  // the ability to pass a context and additional request options.
  8397  //
  8398  // See ListUsers for details on how to use this API operation.
  8399  //
  8400  // The context must be non-nil and will be used for request cancellation. If
  8401  // the context is nil a panic will occur. In the future the SDK may create
  8402  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8403  // for more information on using Contexts.
  8404  func (c *Connect) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) {
  8405  	req, out := c.ListUsersRequest(input)
  8406  	req.SetContext(ctx)
  8407  	req.ApplyOptions(opts...)
  8408  	return out, req.Send()
  8409  }
  8410  
  8411  // ListUsersPages iterates over the pages of a ListUsers operation,
  8412  // calling the "fn" function with the response data for each page. To stop
  8413  // iterating, return false from the fn function.
  8414  //
  8415  // See ListUsers method for more information on how to use this operation.
  8416  //
  8417  // Note: This operation can generate multiple requests to a service.
  8418  //
  8419  //    // Example iterating over at most 3 pages of a ListUsers operation.
  8420  //    pageNum := 0
  8421  //    err := client.ListUsersPages(params,
  8422  //        func(page *connect.ListUsersOutput, lastPage bool) bool {
  8423  //            pageNum++
  8424  //            fmt.Println(page)
  8425  //            return pageNum <= 3
  8426  //        })
  8427  //
  8428  func (c *Connect) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error {
  8429  	return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn)
  8430  }
  8431  
  8432  // ListUsersPagesWithContext same as ListUsersPages except
  8433  // it takes a Context and allows setting request options on the pages.
  8434  //
  8435  // The context must be non-nil and will be used for request cancellation. If
  8436  // the context is nil a panic will occur. In the future the SDK may create
  8437  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8438  // for more information on using Contexts.
  8439  func (c *Connect) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error {
  8440  	p := request.Pagination{
  8441  		NewRequest: func() (*request.Request, error) {
  8442  			var inCpy *ListUsersInput
  8443  			if input != nil {
  8444  				tmp := *input
  8445  				inCpy = &tmp
  8446  			}
  8447  			req, _ := c.ListUsersRequest(inCpy)
  8448  			req.SetContext(ctx)
  8449  			req.ApplyOptions(opts...)
  8450  			return req, nil
  8451  		},
  8452  	}
  8453  
  8454  	for p.Next() {
  8455  		if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) {
  8456  			break
  8457  		}
  8458  	}
  8459  
  8460  	return p.Err()
  8461  }
  8462  
  8463  const opResumeContactRecording = "ResumeContactRecording"
  8464  
  8465  // ResumeContactRecordingRequest generates a "aws/request.Request" representing the
  8466  // client's request for the ResumeContactRecording operation. The "output" return
  8467  // value will be populated with the request's response once the request completes
  8468  // successfully.
  8469  //
  8470  // Use "Send" method on the returned Request to send the API call to the service.
  8471  // the "output" return value is not valid until after Send returns without error.
  8472  //
  8473  // See ResumeContactRecording for more information on using the ResumeContactRecording
  8474  // API call, and error handling.
  8475  //
  8476  // This method is useful when you want to inject custom logic or configuration
  8477  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8478  //
  8479  //
  8480  //    // Example sending a request using the ResumeContactRecordingRequest method.
  8481  //    req, resp := client.ResumeContactRecordingRequest(params)
  8482  //
  8483  //    err := req.Send()
  8484  //    if err == nil { // resp is now filled
  8485  //        fmt.Println(resp)
  8486  //    }
  8487  //
  8488  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ResumeContactRecording
  8489  func (c *Connect) ResumeContactRecordingRequest(input *ResumeContactRecordingInput) (req *request.Request, output *ResumeContactRecordingOutput) {
  8490  	op := &request.Operation{
  8491  		Name:       opResumeContactRecording,
  8492  		HTTPMethod: "POST",
  8493  		HTTPPath:   "/contact/resume-recording",
  8494  	}
  8495  
  8496  	if input == nil {
  8497  		input = &ResumeContactRecordingInput{}
  8498  	}
  8499  
  8500  	output = &ResumeContactRecordingOutput{}
  8501  	req = c.newRequest(op, input, output)
  8502  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8503  	return
  8504  }
  8505  
  8506  // ResumeContactRecording API operation for Amazon Connect Service.
  8507  //
  8508  // When a contact is being recorded, and the recording has been suspended using
  8509  // SuspendContactRecording, this API resumes recording the call.
  8510  //
  8511  // Only voice recordings are supported at this time.
  8512  //
  8513  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8514  // with awserr.Error's Code and Message methods to get detailed information about
  8515  // the error.
  8516  //
  8517  // See the AWS API reference guide for Amazon Connect Service's
  8518  // API operation ResumeContactRecording for usage and error information.
  8519  //
  8520  // Returned Error Types:
  8521  //   * InvalidRequestException
  8522  //   The request is not valid.
  8523  //
  8524  //   * ResourceNotFoundException
  8525  //   The specified resource was not found.
  8526  //
  8527  //   * InternalServiceException
  8528  //   Request processing failed because of an error or failure with the service.
  8529  //
  8530  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ResumeContactRecording
  8531  func (c *Connect) ResumeContactRecording(input *ResumeContactRecordingInput) (*ResumeContactRecordingOutput, error) {
  8532  	req, out := c.ResumeContactRecordingRequest(input)
  8533  	return out, req.Send()
  8534  }
  8535  
  8536  // ResumeContactRecordingWithContext is the same as ResumeContactRecording with the addition of
  8537  // the ability to pass a context and additional request options.
  8538  //
  8539  // See ResumeContactRecording for details on how to use this API operation.
  8540  //
  8541  // The context must be non-nil and will be used for request cancellation. If
  8542  // the context is nil a panic will occur. In the future the SDK may create
  8543  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8544  // for more information on using Contexts.
  8545  func (c *Connect) ResumeContactRecordingWithContext(ctx aws.Context, input *ResumeContactRecordingInput, opts ...request.Option) (*ResumeContactRecordingOutput, error) {
  8546  	req, out := c.ResumeContactRecordingRequest(input)
  8547  	req.SetContext(ctx)
  8548  	req.ApplyOptions(opts...)
  8549  	return out, req.Send()
  8550  }
  8551  
  8552  const opStartChatContact = "StartChatContact"
  8553  
  8554  // StartChatContactRequest generates a "aws/request.Request" representing the
  8555  // client's request for the StartChatContact operation. The "output" return
  8556  // value will be populated with the request's response once the request completes
  8557  // successfully.
  8558  //
  8559  // Use "Send" method on the returned Request to send the API call to the service.
  8560  // the "output" return value is not valid until after Send returns without error.
  8561  //
  8562  // See StartChatContact for more information on using the StartChatContact
  8563  // API call, and error handling.
  8564  //
  8565  // This method is useful when you want to inject custom logic or configuration
  8566  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8567  //
  8568  //
  8569  //    // Example sending a request using the StartChatContactRequest method.
  8570  //    req, resp := client.StartChatContactRequest(params)
  8571  //
  8572  //    err := req.Send()
  8573  //    if err == nil { // resp is now filled
  8574  //        fmt.Println(resp)
  8575  //    }
  8576  //
  8577  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact
  8578  func (c *Connect) StartChatContactRequest(input *StartChatContactInput) (req *request.Request, output *StartChatContactOutput) {
  8579  	op := &request.Operation{
  8580  		Name:       opStartChatContact,
  8581  		HTTPMethod: "PUT",
  8582  		HTTPPath:   "/contact/chat",
  8583  	}
  8584  
  8585  	if input == nil {
  8586  		input = &StartChatContactInput{}
  8587  	}
  8588  
  8589  	output = &StartChatContactOutput{}
  8590  	req = c.newRequest(op, input, output)
  8591  	return
  8592  }
  8593  
  8594  // StartChatContact API operation for Amazon Connect Service.
  8595  //
  8596  // Initiates a contact flow to start a new chat for the customer. Response of
  8597  // this API provides a token required to obtain credentials from the CreateParticipantConnection
  8598  // (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)
  8599  // API in the Amazon Connect Participant Service.
  8600  //
  8601  // When a new chat contact is successfully created, clients must subscribe to
  8602  // the participant’s connection for the created chat within 5 minutes. This
  8603  // is achieved by invoking CreateParticipantConnection (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html)
  8604  // with WEBSOCKET and CONNECTION_CREDENTIALS.
  8605  //
  8606  // A 429 error occurs in two situations:
  8607  //
  8608  //    * API rate limit is exceeded. API TPS throttling returns a TooManyRequests
  8609  //    exception.
  8610  //
  8611  //    * The quota for concurrent active chats (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html)
  8612  //    is exceeded. Active chat throttling returns a LimitExceededException.
  8613  //
  8614  // For more information about chat, see Chat (https://docs.aws.amazon.com/connect/latest/adminguide/chat.html)
  8615  // in the Amazon Connect Administrator Guide.
  8616  //
  8617  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8618  // with awserr.Error's Code and Message methods to get detailed information about
  8619  // the error.
  8620  //
  8621  // See the AWS API reference guide for Amazon Connect Service's
  8622  // API operation StartChatContact for usage and error information.
  8623  //
  8624  // Returned Error Types:
  8625  //   * InvalidRequestException
  8626  //   The request is not valid.
  8627  //
  8628  //   * InvalidParameterException
  8629  //   One or more of the specified parameters are not valid.
  8630  //
  8631  //   * ResourceNotFoundException
  8632  //   The specified resource was not found.
  8633  //
  8634  //   * InternalServiceException
  8635  //   Request processing failed because of an error or failure with the service.
  8636  //
  8637  //   * LimitExceededException
  8638  //   The allowed limit for the resource has been exceeded.
  8639  //
  8640  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartChatContact
  8641  func (c *Connect) StartChatContact(input *StartChatContactInput) (*StartChatContactOutput, error) {
  8642  	req, out := c.StartChatContactRequest(input)
  8643  	return out, req.Send()
  8644  }
  8645  
  8646  // StartChatContactWithContext is the same as StartChatContact with the addition of
  8647  // the ability to pass a context and additional request options.
  8648  //
  8649  // See StartChatContact for details on how to use this API operation.
  8650  //
  8651  // The context must be non-nil and will be used for request cancellation. If
  8652  // the context is nil a panic will occur. In the future the SDK may create
  8653  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8654  // for more information on using Contexts.
  8655  func (c *Connect) StartChatContactWithContext(ctx aws.Context, input *StartChatContactInput, opts ...request.Option) (*StartChatContactOutput, error) {
  8656  	req, out := c.StartChatContactRequest(input)
  8657  	req.SetContext(ctx)
  8658  	req.ApplyOptions(opts...)
  8659  	return out, req.Send()
  8660  }
  8661  
  8662  const opStartContactRecording = "StartContactRecording"
  8663  
  8664  // StartContactRecordingRequest generates a "aws/request.Request" representing the
  8665  // client's request for the StartContactRecording operation. The "output" return
  8666  // value will be populated with the request's response once the request completes
  8667  // successfully.
  8668  //
  8669  // Use "Send" method on the returned Request to send the API call to the service.
  8670  // the "output" return value is not valid until after Send returns without error.
  8671  //
  8672  // See StartContactRecording for more information on using the StartContactRecording
  8673  // API call, and error handling.
  8674  //
  8675  // This method is useful when you want to inject custom logic or configuration
  8676  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8677  //
  8678  //
  8679  //    // Example sending a request using the StartContactRecordingRequest method.
  8680  //    req, resp := client.StartContactRecordingRequest(params)
  8681  //
  8682  //    err := req.Send()
  8683  //    if err == nil { // resp is now filled
  8684  //        fmt.Println(resp)
  8685  //    }
  8686  //
  8687  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactRecording
  8688  func (c *Connect) StartContactRecordingRequest(input *StartContactRecordingInput) (req *request.Request, output *StartContactRecordingOutput) {
  8689  	op := &request.Operation{
  8690  		Name:       opStartContactRecording,
  8691  		HTTPMethod: "POST",
  8692  		HTTPPath:   "/contact/start-recording",
  8693  	}
  8694  
  8695  	if input == nil {
  8696  		input = &StartContactRecordingInput{}
  8697  	}
  8698  
  8699  	output = &StartContactRecordingOutput{}
  8700  	req = c.newRequest(op, input, output)
  8701  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  8702  	return
  8703  }
  8704  
  8705  // StartContactRecording API operation for Amazon Connect Service.
  8706  //
  8707  // Starts recording the contact when the agent joins the call. StartContactRecording
  8708  // is a one-time action. For example, if you use StopContactRecording to stop
  8709  // recording an ongoing call, you can't use StartContactRecording to restart
  8710  // it. For scenarios where the recording has started and you want to suspend
  8711  // and resume it, such as when collecting sensitive information (for example,
  8712  // a credit card number), use SuspendContactRecording and ResumeContactRecording.
  8713  //
  8714  // You can use this API to override the recording behavior configured in the
  8715  // Set recording behavior (https://docs.aws.amazon.com/connect/latest/adminguide/set-recording-behavior.html)
  8716  // block.
  8717  //
  8718  // Only voice recordings are supported at this time.
  8719  //
  8720  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8721  // with awserr.Error's Code and Message methods to get detailed information about
  8722  // the error.
  8723  //
  8724  // See the AWS API reference guide for Amazon Connect Service's
  8725  // API operation StartContactRecording for usage and error information.
  8726  //
  8727  // Returned Error Types:
  8728  //   * InvalidRequestException
  8729  //   The request is not valid.
  8730  //
  8731  //   * InvalidParameterException
  8732  //   One or more of the specified parameters are not valid.
  8733  //
  8734  //   * ResourceNotFoundException
  8735  //   The specified resource was not found.
  8736  //
  8737  //   * InternalServiceException
  8738  //   Request processing failed because of an error or failure with the service.
  8739  //
  8740  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartContactRecording
  8741  func (c *Connect) StartContactRecording(input *StartContactRecordingInput) (*StartContactRecordingOutput, error) {
  8742  	req, out := c.StartContactRecordingRequest(input)
  8743  	return out, req.Send()
  8744  }
  8745  
  8746  // StartContactRecordingWithContext is the same as StartContactRecording with the addition of
  8747  // the ability to pass a context and additional request options.
  8748  //
  8749  // See StartContactRecording for details on how to use this API operation.
  8750  //
  8751  // The context must be non-nil and will be used for request cancellation. If
  8752  // the context is nil a panic will occur. In the future the SDK may create
  8753  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8754  // for more information on using Contexts.
  8755  func (c *Connect) StartContactRecordingWithContext(ctx aws.Context, input *StartContactRecordingInput, opts ...request.Option) (*StartContactRecordingOutput, error) {
  8756  	req, out := c.StartContactRecordingRequest(input)
  8757  	req.SetContext(ctx)
  8758  	req.ApplyOptions(opts...)
  8759  	return out, req.Send()
  8760  }
  8761  
  8762  const opStartOutboundVoiceContact = "StartOutboundVoiceContact"
  8763  
  8764  // StartOutboundVoiceContactRequest generates a "aws/request.Request" representing the
  8765  // client's request for the StartOutboundVoiceContact operation. The "output" return
  8766  // value will be populated with the request's response once the request completes
  8767  // successfully.
  8768  //
  8769  // Use "Send" method on the returned Request to send the API call to the service.
  8770  // the "output" return value is not valid until after Send returns without error.
  8771  //
  8772  // See StartOutboundVoiceContact for more information on using the StartOutboundVoiceContact
  8773  // API call, and error handling.
  8774  //
  8775  // This method is useful when you want to inject custom logic or configuration
  8776  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8777  //
  8778  //
  8779  //    // Example sending a request using the StartOutboundVoiceContactRequest method.
  8780  //    req, resp := client.StartOutboundVoiceContactRequest(params)
  8781  //
  8782  //    err := req.Send()
  8783  //    if err == nil { // resp is now filled
  8784  //        fmt.Println(resp)
  8785  //    }
  8786  //
  8787  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact
  8788  func (c *Connect) StartOutboundVoiceContactRequest(input *StartOutboundVoiceContactInput) (req *request.Request, output *StartOutboundVoiceContactOutput) {
  8789  	op := &request.Operation{
  8790  		Name:       opStartOutboundVoiceContact,
  8791  		HTTPMethod: "PUT",
  8792  		HTTPPath:   "/contact/outbound-voice",
  8793  	}
  8794  
  8795  	if input == nil {
  8796  		input = &StartOutboundVoiceContactInput{}
  8797  	}
  8798  
  8799  	output = &StartOutboundVoiceContactOutput{}
  8800  	req = c.newRequest(op, input, output)
  8801  	return
  8802  }
  8803  
  8804  // StartOutboundVoiceContact API operation for Amazon Connect Service.
  8805  //
  8806  // Places an outbound call to a contact, and then initiates the contact flow.
  8807  // It performs the actions in the contact flow that's specified (in ContactFlowId).
  8808  //
  8809  // Agents do not initiate the outbound API, which means that they do not dial
  8810  // the contact. If the contact flow places an outbound call to a contact, and
  8811  // then puts the contact in queue, the call is then routed to the agent, like
  8812  // any other inbound case.
  8813  //
  8814  // There is a 60-second dialing timeout for this operation. If the call is not
  8815  // connected after 60 seconds, it fails.
  8816  //
  8817  // UK numbers with a 447 prefix are not allowed by default. Before you can dial
  8818  // these UK mobile numbers, you must submit a service quota increase request.
  8819  // For more information, see Amazon Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html)
  8820  // in the Amazon Connect Administrator Guide.
  8821  //
  8822  // Campaign calls are not allowed by default. Before you can make a call with
  8823  // TrafficType = CAMPAIGN, you must submit a service quota increase request.
  8824  // For more information, see Amazon Connect Service Quotas (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html)
  8825  // in the Amazon Connect Administrator Guide.
  8826  //
  8827  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8828  // with awserr.Error's Code and Message methods to get detailed information about
  8829  // the error.
  8830  //
  8831  // See the AWS API reference guide for Amazon Connect Service's
  8832  // API operation StartOutboundVoiceContact for usage and error information.
  8833  //
  8834  // Returned Error Types:
  8835  //   * InvalidRequestException
  8836  //   The request is not valid.
  8837  //
  8838  //   * InvalidParameterException
  8839  //   One or more of the specified parameters are not valid.
  8840  //
  8841  //   * ResourceNotFoundException
  8842  //   The specified resource was not found.
  8843  //
  8844  //   * InternalServiceException
  8845  //   Request processing failed because of an error or failure with the service.
  8846  //
  8847  //   * LimitExceededException
  8848  //   The allowed limit for the resource has been exceeded.
  8849  //
  8850  //   * DestinationNotAllowedException
  8851  //   Outbound calls to the destination number are not allowed.
  8852  //
  8853  //   * OutboundContactNotPermittedException
  8854  //   The contact is not permitted.
  8855  //
  8856  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartOutboundVoiceContact
  8857  func (c *Connect) StartOutboundVoiceContact(input *StartOutboundVoiceContactInput) (*StartOutboundVoiceContactOutput, error) {
  8858  	req, out := c.StartOutboundVoiceContactRequest(input)
  8859  	return out, req.Send()
  8860  }
  8861  
  8862  // StartOutboundVoiceContactWithContext is the same as StartOutboundVoiceContact with the addition of
  8863  // the ability to pass a context and additional request options.
  8864  //
  8865  // See StartOutboundVoiceContact for details on how to use this API operation.
  8866  //
  8867  // The context must be non-nil and will be used for request cancellation. If
  8868  // the context is nil a panic will occur. In the future the SDK may create
  8869  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8870  // for more information on using Contexts.
  8871  func (c *Connect) StartOutboundVoiceContactWithContext(ctx aws.Context, input *StartOutboundVoiceContactInput, opts ...request.Option) (*StartOutboundVoiceContactOutput, error) {
  8872  	req, out := c.StartOutboundVoiceContactRequest(input)
  8873  	req.SetContext(ctx)
  8874  	req.ApplyOptions(opts...)
  8875  	return out, req.Send()
  8876  }
  8877  
  8878  const opStartTaskContact = "StartTaskContact"
  8879  
  8880  // StartTaskContactRequest generates a "aws/request.Request" representing the
  8881  // client's request for the StartTaskContact operation. The "output" return
  8882  // value will be populated with the request's response once the request completes
  8883  // successfully.
  8884  //
  8885  // Use "Send" method on the returned Request to send the API call to the service.
  8886  // the "output" return value is not valid until after Send returns without error.
  8887  //
  8888  // See StartTaskContact for more information on using the StartTaskContact
  8889  // API call, and error handling.
  8890  //
  8891  // This method is useful when you want to inject custom logic or configuration
  8892  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8893  //
  8894  //
  8895  //    // Example sending a request using the StartTaskContactRequest method.
  8896  //    req, resp := client.StartTaskContactRequest(params)
  8897  //
  8898  //    err := req.Send()
  8899  //    if err == nil { // resp is now filled
  8900  //        fmt.Println(resp)
  8901  //    }
  8902  //
  8903  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartTaskContact
  8904  func (c *Connect) StartTaskContactRequest(input *StartTaskContactInput) (req *request.Request, output *StartTaskContactOutput) {
  8905  	op := &request.Operation{
  8906  		Name:       opStartTaskContact,
  8907  		HTTPMethod: "PUT",
  8908  		HTTPPath:   "/contact/task",
  8909  	}
  8910  
  8911  	if input == nil {
  8912  		input = &StartTaskContactInput{}
  8913  	}
  8914  
  8915  	output = &StartTaskContactOutput{}
  8916  	req = c.newRequest(op, input, output)
  8917  	return
  8918  }
  8919  
  8920  // StartTaskContact API operation for Amazon Connect Service.
  8921  //
  8922  // Initiates a contact flow to start a new task.
  8923  //
  8924  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8925  // with awserr.Error's Code and Message methods to get detailed information about
  8926  // the error.
  8927  //
  8928  // See the AWS API reference guide for Amazon Connect Service's
  8929  // API operation StartTaskContact for usage and error information.
  8930  //
  8931  // Returned Error Types:
  8932  //   * InvalidRequestException
  8933  //   The request is not valid.
  8934  //
  8935  //   * InvalidParameterException
  8936  //   One or more of the specified parameters are not valid.
  8937  //
  8938  //   * ResourceNotFoundException
  8939  //   The specified resource was not found.
  8940  //
  8941  //   * ThrottlingException
  8942  //   The throttling limit has been exceeded.
  8943  //
  8944  //   * ServiceQuotaExceededException
  8945  //   The service quota has been exceeded.
  8946  //
  8947  //   * InternalServiceException
  8948  //   Request processing failed because of an error or failure with the service.
  8949  //
  8950  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StartTaskContact
  8951  func (c *Connect) StartTaskContact(input *StartTaskContactInput) (*StartTaskContactOutput, error) {
  8952  	req, out := c.StartTaskContactRequest(input)
  8953  	return out, req.Send()
  8954  }
  8955  
  8956  // StartTaskContactWithContext is the same as StartTaskContact with the addition of
  8957  // the ability to pass a context and additional request options.
  8958  //
  8959  // See StartTaskContact for details on how to use this API operation.
  8960  //
  8961  // The context must be non-nil and will be used for request cancellation. If
  8962  // the context is nil a panic will occur. In the future the SDK may create
  8963  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8964  // for more information on using Contexts.
  8965  func (c *Connect) StartTaskContactWithContext(ctx aws.Context, input *StartTaskContactInput, opts ...request.Option) (*StartTaskContactOutput, error) {
  8966  	req, out := c.StartTaskContactRequest(input)
  8967  	req.SetContext(ctx)
  8968  	req.ApplyOptions(opts...)
  8969  	return out, req.Send()
  8970  }
  8971  
  8972  const opStopContact = "StopContact"
  8973  
  8974  // StopContactRequest generates a "aws/request.Request" representing the
  8975  // client's request for the StopContact operation. The "output" return
  8976  // value will be populated with the request's response once the request completes
  8977  // successfully.
  8978  //
  8979  // Use "Send" method on the returned Request to send the API call to the service.
  8980  // the "output" return value is not valid until after Send returns without error.
  8981  //
  8982  // See StopContact for more information on using the StopContact
  8983  // API call, and error handling.
  8984  //
  8985  // This method is useful when you want to inject custom logic or configuration
  8986  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8987  //
  8988  //
  8989  //    // Example sending a request using the StopContactRequest method.
  8990  //    req, resp := client.StopContactRequest(params)
  8991  //
  8992  //    err := req.Send()
  8993  //    if err == nil { // resp is now filled
  8994  //        fmt.Println(resp)
  8995  //    }
  8996  //
  8997  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact
  8998  func (c *Connect) StopContactRequest(input *StopContactInput) (req *request.Request, output *StopContactOutput) {
  8999  	op := &request.Operation{
  9000  		Name:       opStopContact,
  9001  		HTTPMethod: "POST",
  9002  		HTTPPath:   "/contact/stop",
  9003  	}
  9004  
  9005  	if input == nil {
  9006  		input = &StopContactInput{}
  9007  	}
  9008  
  9009  	output = &StopContactOutput{}
  9010  	req = c.newRequest(op, input, output)
  9011  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9012  	return
  9013  }
  9014  
  9015  // StopContact API operation for Amazon Connect Service.
  9016  //
  9017  // Ends the specified contact.
  9018  //
  9019  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9020  // with awserr.Error's Code and Message methods to get detailed information about
  9021  // the error.
  9022  //
  9023  // See the AWS API reference guide for Amazon Connect Service's
  9024  // API operation StopContact for usage and error information.
  9025  //
  9026  // Returned Error Types:
  9027  //   * InvalidRequestException
  9028  //   The request is not valid.
  9029  //
  9030  //   * ContactNotFoundException
  9031  //   The contact with the specified ID is not active or does not exist.
  9032  //
  9033  //   * InvalidParameterException
  9034  //   One or more of the specified parameters are not valid.
  9035  //
  9036  //   * ResourceNotFoundException
  9037  //   The specified resource was not found.
  9038  //
  9039  //   * InternalServiceException
  9040  //   Request processing failed because of an error or failure with the service.
  9041  //
  9042  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContact
  9043  func (c *Connect) StopContact(input *StopContactInput) (*StopContactOutput, error) {
  9044  	req, out := c.StopContactRequest(input)
  9045  	return out, req.Send()
  9046  }
  9047  
  9048  // StopContactWithContext is the same as StopContact with the addition of
  9049  // the ability to pass a context and additional request options.
  9050  //
  9051  // See StopContact for details on how to use this API operation.
  9052  //
  9053  // The context must be non-nil and will be used for request cancellation. If
  9054  // the context is nil a panic will occur. In the future the SDK may create
  9055  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9056  // for more information on using Contexts.
  9057  func (c *Connect) StopContactWithContext(ctx aws.Context, input *StopContactInput, opts ...request.Option) (*StopContactOutput, error) {
  9058  	req, out := c.StopContactRequest(input)
  9059  	req.SetContext(ctx)
  9060  	req.ApplyOptions(opts...)
  9061  	return out, req.Send()
  9062  }
  9063  
  9064  const opStopContactRecording = "StopContactRecording"
  9065  
  9066  // StopContactRecordingRequest generates a "aws/request.Request" representing the
  9067  // client's request for the StopContactRecording operation. The "output" return
  9068  // value will be populated with the request's response once the request completes
  9069  // successfully.
  9070  //
  9071  // Use "Send" method on the returned Request to send the API call to the service.
  9072  // the "output" return value is not valid until after Send returns without error.
  9073  //
  9074  // See StopContactRecording for more information on using the StopContactRecording
  9075  // API call, and error handling.
  9076  //
  9077  // This method is useful when you want to inject custom logic or configuration
  9078  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9079  //
  9080  //
  9081  //    // Example sending a request using the StopContactRecordingRequest method.
  9082  //    req, resp := client.StopContactRecordingRequest(params)
  9083  //
  9084  //    err := req.Send()
  9085  //    if err == nil { // resp is now filled
  9086  //        fmt.Println(resp)
  9087  //    }
  9088  //
  9089  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContactRecording
  9090  func (c *Connect) StopContactRecordingRequest(input *StopContactRecordingInput) (req *request.Request, output *StopContactRecordingOutput) {
  9091  	op := &request.Operation{
  9092  		Name:       opStopContactRecording,
  9093  		HTTPMethod: "POST",
  9094  		HTTPPath:   "/contact/stop-recording",
  9095  	}
  9096  
  9097  	if input == nil {
  9098  		input = &StopContactRecordingInput{}
  9099  	}
  9100  
  9101  	output = &StopContactRecordingOutput{}
  9102  	req = c.newRequest(op, input, output)
  9103  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9104  	return
  9105  }
  9106  
  9107  // StopContactRecording API operation for Amazon Connect Service.
  9108  //
  9109  // Stops recording a call when a contact is being recorded. StopContactRecording
  9110  // is a one-time action. If you use StopContactRecording to stop recording an
  9111  // ongoing call, you can't use StartContactRecording to restart it. For scenarios
  9112  // where the recording has started and you want to suspend it for sensitive
  9113  // information (for example, to collect a credit card number), and then restart
  9114  // it, use SuspendContactRecording and ResumeContactRecording.
  9115  //
  9116  // Only voice recordings are supported at this time.
  9117  //
  9118  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9119  // with awserr.Error's Code and Message methods to get detailed information about
  9120  // the error.
  9121  //
  9122  // See the AWS API reference guide for Amazon Connect Service's
  9123  // API operation StopContactRecording for usage and error information.
  9124  //
  9125  // Returned Error Types:
  9126  //   * InvalidRequestException
  9127  //   The request is not valid.
  9128  //
  9129  //   * ResourceNotFoundException
  9130  //   The specified resource was not found.
  9131  //
  9132  //   * InternalServiceException
  9133  //   Request processing failed because of an error or failure with the service.
  9134  //
  9135  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/StopContactRecording
  9136  func (c *Connect) StopContactRecording(input *StopContactRecordingInput) (*StopContactRecordingOutput, error) {
  9137  	req, out := c.StopContactRecordingRequest(input)
  9138  	return out, req.Send()
  9139  }
  9140  
  9141  // StopContactRecordingWithContext is the same as StopContactRecording with the addition of
  9142  // the ability to pass a context and additional request options.
  9143  //
  9144  // See StopContactRecording for details on how to use this API operation.
  9145  //
  9146  // The context must be non-nil and will be used for request cancellation. If
  9147  // the context is nil a panic will occur. In the future the SDK may create
  9148  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9149  // for more information on using Contexts.
  9150  func (c *Connect) StopContactRecordingWithContext(ctx aws.Context, input *StopContactRecordingInput, opts ...request.Option) (*StopContactRecordingOutput, error) {
  9151  	req, out := c.StopContactRecordingRequest(input)
  9152  	req.SetContext(ctx)
  9153  	req.ApplyOptions(opts...)
  9154  	return out, req.Send()
  9155  }
  9156  
  9157  const opSuspendContactRecording = "SuspendContactRecording"
  9158  
  9159  // SuspendContactRecordingRequest generates a "aws/request.Request" representing the
  9160  // client's request for the SuspendContactRecording operation. The "output" return
  9161  // value will be populated with the request's response once the request completes
  9162  // successfully.
  9163  //
  9164  // Use "Send" method on the returned Request to send the API call to the service.
  9165  // the "output" return value is not valid until after Send returns without error.
  9166  //
  9167  // See SuspendContactRecording for more information on using the SuspendContactRecording
  9168  // API call, and error handling.
  9169  //
  9170  // This method is useful when you want to inject custom logic or configuration
  9171  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9172  //
  9173  //
  9174  //    // Example sending a request using the SuspendContactRecordingRequest method.
  9175  //    req, resp := client.SuspendContactRecordingRequest(params)
  9176  //
  9177  //    err := req.Send()
  9178  //    if err == nil { // resp is now filled
  9179  //        fmt.Println(resp)
  9180  //    }
  9181  //
  9182  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SuspendContactRecording
  9183  func (c *Connect) SuspendContactRecordingRequest(input *SuspendContactRecordingInput) (req *request.Request, output *SuspendContactRecordingOutput) {
  9184  	op := &request.Operation{
  9185  		Name:       opSuspendContactRecording,
  9186  		HTTPMethod: "POST",
  9187  		HTTPPath:   "/contact/suspend-recording",
  9188  	}
  9189  
  9190  	if input == nil {
  9191  		input = &SuspendContactRecordingInput{}
  9192  	}
  9193  
  9194  	output = &SuspendContactRecordingOutput{}
  9195  	req = c.newRequest(op, input, output)
  9196  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9197  	return
  9198  }
  9199  
  9200  // SuspendContactRecording API operation for Amazon Connect Service.
  9201  //
  9202  // When a contact is being recorded, this API suspends recording the call. For
  9203  // example, you might suspend the call recording while collecting sensitive
  9204  // information, such as a credit card number. Then use ResumeContactRecording
  9205  // to restart recording.
  9206  //
  9207  // The period of time that the recording is suspended is filled with silence
  9208  // in the final recording.
  9209  //
  9210  // Only voice recordings are supported at this time.
  9211  //
  9212  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9213  // with awserr.Error's Code and Message methods to get detailed information about
  9214  // the error.
  9215  //
  9216  // See the AWS API reference guide for Amazon Connect Service's
  9217  // API operation SuspendContactRecording for usage and error information.
  9218  //
  9219  // Returned Error Types:
  9220  //   * InvalidRequestException
  9221  //   The request is not valid.
  9222  //
  9223  //   * ResourceNotFoundException
  9224  //   The specified resource was not found.
  9225  //
  9226  //   * InternalServiceException
  9227  //   Request processing failed because of an error or failure with the service.
  9228  //
  9229  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SuspendContactRecording
  9230  func (c *Connect) SuspendContactRecording(input *SuspendContactRecordingInput) (*SuspendContactRecordingOutput, error) {
  9231  	req, out := c.SuspendContactRecordingRequest(input)
  9232  	return out, req.Send()
  9233  }
  9234  
  9235  // SuspendContactRecordingWithContext is the same as SuspendContactRecording with the addition of
  9236  // the ability to pass a context and additional request options.
  9237  //
  9238  // See SuspendContactRecording for details on how to use this API operation.
  9239  //
  9240  // The context must be non-nil and will be used for request cancellation. If
  9241  // the context is nil a panic will occur. In the future the SDK may create
  9242  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9243  // for more information on using Contexts.
  9244  func (c *Connect) SuspendContactRecordingWithContext(ctx aws.Context, input *SuspendContactRecordingInput, opts ...request.Option) (*SuspendContactRecordingOutput, error) {
  9245  	req, out := c.SuspendContactRecordingRequest(input)
  9246  	req.SetContext(ctx)
  9247  	req.ApplyOptions(opts...)
  9248  	return out, req.Send()
  9249  }
  9250  
  9251  const opTagResource = "TagResource"
  9252  
  9253  // TagResourceRequest generates a "aws/request.Request" representing the
  9254  // client's request for the TagResource operation. The "output" return
  9255  // value will be populated with the request's response once the request completes
  9256  // successfully.
  9257  //
  9258  // Use "Send" method on the returned Request to send the API call to the service.
  9259  // the "output" return value is not valid until after Send returns without error.
  9260  //
  9261  // See TagResource for more information on using the TagResource
  9262  // API call, and error handling.
  9263  //
  9264  // This method is useful when you want to inject custom logic or configuration
  9265  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9266  //
  9267  //
  9268  //    // Example sending a request using the TagResourceRequest method.
  9269  //    req, resp := client.TagResourceRequest(params)
  9270  //
  9271  //    err := req.Send()
  9272  //    if err == nil { // resp is now filled
  9273  //        fmt.Println(resp)
  9274  //    }
  9275  //
  9276  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource
  9277  func (c *Connect) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  9278  	op := &request.Operation{
  9279  		Name:       opTagResource,
  9280  		HTTPMethod: "POST",
  9281  		HTTPPath:   "/tags/{resourceArn}",
  9282  	}
  9283  
  9284  	if input == nil {
  9285  		input = &TagResourceInput{}
  9286  	}
  9287  
  9288  	output = &TagResourceOutput{}
  9289  	req = c.newRequest(op, input, output)
  9290  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9291  	return
  9292  }
  9293  
  9294  // TagResource API operation for Amazon Connect Service.
  9295  //
  9296  // Adds the specified tags to the specified resource.
  9297  //
  9298  // The supported resource types are users, routing profiles, queues, quick connects,
  9299  // contact flows, agent status, and hours of operation.
  9300  //
  9301  // For sample policies that use tags, see Amazon Connect Identity-Based Policy
  9302  // Examples (https://docs.aws.amazon.com/connect/latest/adminguide/security_iam_id-based-policy-examples.html)
  9303  // in the Amazon Connect Administrator Guide.
  9304  //
  9305  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9306  // with awserr.Error's Code and Message methods to get detailed information about
  9307  // the error.
  9308  //
  9309  // See the AWS API reference guide for Amazon Connect Service's
  9310  // API operation TagResource for usage and error information.
  9311  //
  9312  // Returned Error Types:
  9313  //   * InvalidRequestException
  9314  //   The request is not valid.
  9315  //
  9316  //   * InvalidParameterException
  9317  //   One or more of the specified parameters are not valid.
  9318  //
  9319  //   * InternalServiceException
  9320  //   Request processing failed because of an error or failure with the service.
  9321  //
  9322  //   * ResourceNotFoundException
  9323  //   The specified resource was not found.
  9324  //
  9325  //   * ThrottlingException
  9326  //   The throttling limit has been exceeded.
  9327  //
  9328  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/TagResource
  9329  func (c *Connect) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  9330  	req, out := c.TagResourceRequest(input)
  9331  	return out, req.Send()
  9332  }
  9333  
  9334  // TagResourceWithContext is the same as TagResource with the addition of
  9335  // the ability to pass a context and additional request options.
  9336  //
  9337  // See TagResource for details on how to use this API operation.
  9338  //
  9339  // The context must be non-nil and will be used for request cancellation. If
  9340  // the context is nil a panic will occur. In the future the SDK may create
  9341  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9342  // for more information on using Contexts.
  9343  func (c *Connect) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  9344  	req, out := c.TagResourceRequest(input)
  9345  	req.SetContext(ctx)
  9346  	req.ApplyOptions(opts...)
  9347  	return out, req.Send()
  9348  }
  9349  
  9350  const opUntagResource = "UntagResource"
  9351  
  9352  // UntagResourceRequest generates a "aws/request.Request" representing the
  9353  // client's request for the UntagResource operation. The "output" return
  9354  // value will be populated with the request's response once the request completes
  9355  // successfully.
  9356  //
  9357  // Use "Send" method on the returned Request to send the API call to the service.
  9358  // the "output" return value is not valid until after Send returns without error.
  9359  //
  9360  // See UntagResource for more information on using the UntagResource
  9361  // API call, and error handling.
  9362  //
  9363  // This method is useful when you want to inject custom logic or configuration
  9364  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9365  //
  9366  //
  9367  //    // Example sending a request using the UntagResourceRequest method.
  9368  //    req, resp := client.UntagResourceRequest(params)
  9369  //
  9370  //    err := req.Send()
  9371  //    if err == nil { // resp is now filled
  9372  //        fmt.Println(resp)
  9373  //    }
  9374  //
  9375  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource
  9376  func (c *Connect) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  9377  	op := &request.Operation{
  9378  		Name:       opUntagResource,
  9379  		HTTPMethod: "DELETE",
  9380  		HTTPPath:   "/tags/{resourceArn}",
  9381  	}
  9382  
  9383  	if input == nil {
  9384  		input = &UntagResourceInput{}
  9385  	}
  9386  
  9387  	output = &UntagResourceOutput{}
  9388  	req = c.newRequest(op, input, output)
  9389  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9390  	return
  9391  }
  9392  
  9393  // UntagResource API operation for Amazon Connect Service.
  9394  //
  9395  // Removes the specified tags from the specified resource.
  9396  //
  9397  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9398  // with awserr.Error's Code and Message methods to get detailed information about
  9399  // the error.
  9400  //
  9401  // See the AWS API reference guide for Amazon Connect Service's
  9402  // API operation UntagResource for usage and error information.
  9403  //
  9404  // Returned Error Types:
  9405  //   * InvalidRequestException
  9406  //   The request is not valid.
  9407  //
  9408  //   * InvalidParameterException
  9409  //   One or more of the specified parameters are not valid.
  9410  //
  9411  //   * InternalServiceException
  9412  //   Request processing failed because of an error or failure with the service.
  9413  //
  9414  //   * ResourceNotFoundException
  9415  //   The specified resource was not found.
  9416  //
  9417  //   * ThrottlingException
  9418  //   The throttling limit has been exceeded.
  9419  //
  9420  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UntagResource
  9421  func (c *Connect) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  9422  	req, out := c.UntagResourceRequest(input)
  9423  	return out, req.Send()
  9424  }
  9425  
  9426  // UntagResourceWithContext is the same as UntagResource with the addition of
  9427  // the ability to pass a context and additional request options.
  9428  //
  9429  // See UntagResource for details on how to use this API operation.
  9430  //
  9431  // The context must be non-nil and will be used for request cancellation. If
  9432  // the context is nil a panic will occur. In the future the SDK may create
  9433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9434  // for more information on using Contexts.
  9435  func (c *Connect) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  9436  	req, out := c.UntagResourceRequest(input)
  9437  	req.SetContext(ctx)
  9438  	req.ApplyOptions(opts...)
  9439  	return out, req.Send()
  9440  }
  9441  
  9442  const opUpdateAgentStatus = "UpdateAgentStatus"
  9443  
  9444  // UpdateAgentStatusRequest generates a "aws/request.Request" representing the
  9445  // client's request for the UpdateAgentStatus operation. The "output" return
  9446  // value will be populated with the request's response once the request completes
  9447  // successfully.
  9448  //
  9449  // Use "Send" method on the returned Request to send the API call to the service.
  9450  // the "output" return value is not valid until after Send returns without error.
  9451  //
  9452  // See UpdateAgentStatus for more information on using the UpdateAgentStatus
  9453  // API call, and error handling.
  9454  //
  9455  // This method is useful when you want to inject custom logic or configuration
  9456  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9457  //
  9458  //
  9459  //    // Example sending a request using the UpdateAgentStatusRequest method.
  9460  //    req, resp := client.UpdateAgentStatusRequest(params)
  9461  //
  9462  //    err := req.Send()
  9463  //    if err == nil { // resp is now filled
  9464  //        fmt.Println(resp)
  9465  //    }
  9466  //
  9467  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateAgentStatus
  9468  func (c *Connect) UpdateAgentStatusRequest(input *UpdateAgentStatusInput) (req *request.Request, output *UpdateAgentStatusOutput) {
  9469  	op := &request.Operation{
  9470  		Name:       opUpdateAgentStatus,
  9471  		HTTPMethod: "POST",
  9472  		HTTPPath:   "/agent-status/{InstanceId}/{AgentStatusId}",
  9473  	}
  9474  
  9475  	if input == nil {
  9476  		input = &UpdateAgentStatusInput{}
  9477  	}
  9478  
  9479  	output = &UpdateAgentStatusOutput{}
  9480  	req = c.newRequest(op, input, output)
  9481  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9482  	return
  9483  }
  9484  
  9485  // UpdateAgentStatus API operation for Amazon Connect Service.
  9486  //
  9487  // This API is in preview release for Amazon Connect and is subject to change.
  9488  //
  9489  // Updates agent status.
  9490  //
  9491  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9492  // with awserr.Error's Code and Message methods to get detailed information about
  9493  // the error.
  9494  //
  9495  // See the AWS API reference guide for Amazon Connect Service's
  9496  // API operation UpdateAgentStatus for usage and error information.
  9497  //
  9498  // Returned Error Types:
  9499  //   * InvalidRequestException
  9500  //   The request is not valid.
  9501  //
  9502  //   * InvalidParameterException
  9503  //   One or more of the specified parameters are not valid.
  9504  //
  9505  //   * DuplicateResourceException
  9506  //   A resource with the specified name already exists.
  9507  //
  9508  //   * ResourceNotFoundException
  9509  //   The specified resource was not found.
  9510  //
  9511  //   * LimitExceededException
  9512  //   The allowed limit for the resource has been exceeded.
  9513  //
  9514  //   * ThrottlingException
  9515  //   The throttling limit has been exceeded.
  9516  //
  9517  //   * InternalServiceException
  9518  //   Request processing failed because of an error or failure with the service.
  9519  //
  9520  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateAgentStatus
  9521  func (c *Connect) UpdateAgentStatus(input *UpdateAgentStatusInput) (*UpdateAgentStatusOutput, error) {
  9522  	req, out := c.UpdateAgentStatusRequest(input)
  9523  	return out, req.Send()
  9524  }
  9525  
  9526  // UpdateAgentStatusWithContext is the same as UpdateAgentStatus with the addition of
  9527  // the ability to pass a context and additional request options.
  9528  //
  9529  // See UpdateAgentStatus for details on how to use this API operation.
  9530  //
  9531  // The context must be non-nil and will be used for request cancellation. If
  9532  // the context is nil a panic will occur. In the future the SDK may create
  9533  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9534  // for more information on using Contexts.
  9535  func (c *Connect) UpdateAgentStatusWithContext(ctx aws.Context, input *UpdateAgentStatusInput, opts ...request.Option) (*UpdateAgentStatusOutput, error) {
  9536  	req, out := c.UpdateAgentStatusRequest(input)
  9537  	req.SetContext(ctx)
  9538  	req.ApplyOptions(opts...)
  9539  	return out, req.Send()
  9540  }
  9541  
  9542  const opUpdateContactAttributes = "UpdateContactAttributes"
  9543  
  9544  // UpdateContactAttributesRequest generates a "aws/request.Request" representing the
  9545  // client's request for the UpdateContactAttributes operation. The "output" return
  9546  // value will be populated with the request's response once the request completes
  9547  // successfully.
  9548  //
  9549  // Use "Send" method on the returned Request to send the API call to the service.
  9550  // the "output" return value is not valid until after Send returns without error.
  9551  //
  9552  // See UpdateContactAttributes for more information on using the UpdateContactAttributes
  9553  // API call, and error handling.
  9554  //
  9555  // This method is useful when you want to inject custom logic or configuration
  9556  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9557  //
  9558  //
  9559  //    // Example sending a request using the UpdateContactAttributesRequest method.
  9560  //    req, resp := client.UpdateContactAttributesRequest(params)
  9561  //
  9562  //    err := req.Send()
  9563  //    if err == nil { // resp is now filled
  9564  //        fmt.Println(resp)
  9565  //    }
  9566  //
  9567  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes
  9568  func (c *Connect) UpdateContactAttributesRequest(input *UpdateContactAttributesInput) (req *request.Request, output *UpdateContactAttributesOutput) {
  9569  	op := &request.Operation{
  9570  		Name:       opUpdateContactAttributes,
  9571  		HTTPMethod: "POST",
  9572  		HTTPPath:   "/contact/attributes",
  9573  	}
  9574  
  9575  	if input == nil {
  9576  		input = &UpdateContactAttributesInput{}
  9577  	}
  9578  
  9579  	output = &UpdateContactAttributesOutput{}
  9580  	req = c.newRequest(op, input, output)
  9581  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9582  	return
  9583  }
  9584  
  9585  // UpdateContactAttributes API operation for Amazon Connect Service.
  9586  //
  9587  // Creates or updates user-defined contact attributes associated with the specified
  9588  // contact.
  9589  //
  9590  // You can create or update user-defined attributes for both ongoing and completed
  9591  // contacts. For example, while the call is active, you can update the customer's
  9592  // name or the reason the customer called. You can add notes about steps that
  9593  // the agent took during the call that display to the next agent that takes
  9594  // the call. You can also update attributes for a contact using data from your
  9595  // CRM application and save the data with the contact in Amazon Connect. You
  9596  // could also flag calls for additional analysis, such as legal review or to
  9597  // identify abusive callers.
  9598  //
  9599  // Contact attributes are available in Amazon Connect for 24 months, and are
  9600  // then deleted. For information about CTR retention and the maximum size of
  9601  // the CTR attributes section, see Feature specifications (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#feature-limits)
  9602  // in the Amazon Connect Administrator Guide.
  9603  //
  9604  // Important: You cannot use the operation to update attributes for contacts
  9605  // that occurred prior to the release of the API, which was September 12, 2018.
  9606  // You can update attributes only for contacts that started after the release
  9607  // of the API. If you attempt to update attributes for a contact that occurred
  9608  // prior to the release of the API, a 400 error is returned. This applies also
  9609  // to queued callbacks that were initiated prior to the release of the API but
  9610  // are still active in your instance.
  9611  //
  9612  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9613  // with awserr.Error's Code and Message methods to get detailed information about
  9614  // the error.
  9615  //
  9616  // See the AWS API reference guide for Amazon Connect Service's
  9617  // API operation UpdateContactAttributes for usage and error information.
  9618  //
  9619  // Returned Error Types:
  9620  //   * InvalidRequestException
  9621  //   The request is not valid.
  9622  //
  9623  //   * InvalidParameterException
  9624  //   One or more of the specified parameters are not valid.
  9625  //
  9626  //   * ResourceNotFoundException
  9627  //   The specified resource was not found.
  9628  //
  9629  //   * InternalServiceException
  9630  //   Request processing failed because of an error or failure with the service.
  9631  //
  9632  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactAttributes
  9633  func (c *Connect) UpdateContactAttributes(input *UpdateContactAttributesInput) (*UpdateContactAttributesOutput, error) {
  9634  	req, out := c.UpdateContactAttributesRequest(input)
  9635  	return out, req.Send()
  9636  }
  9637  
  9638  // UpdateContactAttributesWithContext is the same as UpdateContactAttributes with the addition of
  9639  // the ability to pass a context and additional request options.
  9640  //
  9641  // See UpdateContactAttributes for details on how to use this API operation.
  9642  //
  9643  // The context must be non-nil and will be used for request cancellation. If
  9644  // the context is nil a panic will occur. In the future the SDK may create
  9645  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9646  // for more information on using Contexts.
  9647  func (c *Connect) UpdateContactAttributesWithContext(ctx aws.Context, input *UpdateContactAttributesInput, opts ...request.Option) (*UpdateContactAttributesOutput, error) {
  9648  	req, out := c.UpdateContactAttributesRequest(input)
  9649  	req.SetContext(ctx)
  9650  	req.ApplyOptions(opts...)
  9651  	return out, req.Send()
  9652  }
  9653  
  9654  const opUpdateContactFlowContent = "UpdateContactFlowContent"
  9655  
  9656  // UpdateContactFlowContentRequest generates a "aws/request.Request" representing the
  9657  // client's request for the UpdateContactFlowContent operation. The "output" return
  9658  // value will be populated with the request's response once the request completes
  9659  // successfully.
  9660  //
  9661  // Use "Send" method on the returned Request to send the API call to the service.
  9662  // the "output" return value is not valid until after Send returns without error.
  9663  //
  9664  // See UpdateContactFlowContent for more information on using the UpdateContactFlowContent
  9665  // API call, and error handling.
  9666  //
  9667  // This method is useful when you want to inject custom logic or configuration
  9668  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9669  //
  9670  //
  9671  //    // Example sending a request using the UpdateContactFlowContentRequest method.
  9672  //    req, resp := client.UpdateContactFlowContentRequest(params)
  9673  //
  9674  //    err := req.Send()
  9675  //    if err == nil { // resp is now filled
  9676  //        fmt.Println(resp)
  9677  //    }
  9678  //
  9679  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowContent
  9680  func (c *Connect) UpdateContactFlowContentRequest(input *UpdateContactFlowContentInput) (req *request.Request, output *UpdateContactFlowContentOutput) {
  9681  	op := &request.Operation{
  9682  		Name:       opUpdateContactFlowContent,
  9683  		HTTPMethod: "POST",
  9684  		HTTPPath:   "/contact-flows/{InstanceId}/{ContactFlowId}/content",
  9685  	}
  9686  
  9687  	if input == nil {
  9688  		input = &UpdateContactFlowContentInput{}
  9689  	}
  9690  
  9691  	output = &UpdateContactFlowContentOutput{}
  9692  	req = c.newRequest(op, input, output)
  9693  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9694  	return
  9695  }
  9696  
  9697  // UpdateContactFlowContent API operation for Amazon Connect Service.
  9698  //
  9699  // Updates the specified contact flow.
  9700  //
  9701  // You can also create and update contact flows using the Amazon Connect Flow
  9702  // language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
  9703  //
  9704  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9705  // with awserr.Error's Code and Message methods to get detailed information about
  9706  // the error.
  9707  //
  9708  // See the AWS API reference guide for Amazon Connect Service's
  9709  // API operation UpdateContactFlowContent for usage and error information.
  9710  //
  9711  // Returned Error Types:
  9712  //   * InvalidRequestException
  9713  //   The request is not valid.
  9714  //
  9715  //   * InvalidContactFlowException
  9716  //   The contact flow is not valid.
  9717  //
  9718  //   * InvalidParameterException
  9719  //   One or more of the specified parameters are not valid.
  9720  //
  9721  //   * ResourceNotFoundException
  9722  //   The specified resource was not found.
  9723  //
  9724  //   * ThrottlingException
  9725  //   The throttling limit has been exceeded.
  9726  //
  9727  //   * InternalServiceException
  9728  //   Request processing failed because of an error or failure with the service.
  9729  //
  9730  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowContent
  9731  func (c *Connect) UpdateContactFlowContent(input *UpdateContactFlowContentInput) (*UpdateContactFlowContentOutput, error) {
  9732  	req, out := c.UpdateContactFlowContentRequest(input)
  9733  	return out, req.Send()
  9734  }
  9735  
  9736  // UpdateContactFlowContentWithContext is the same as UpdateContactFlowContent with the addition of
  9737  // the ability to pass a context and additional request options.
  9738  //
  9739  // See UpdateContactFlowContent for details on how to use this API operation.
  9740  //
  9741  // The context must be non-nil and will be used for request cancellation. If
  9742  // the context is nil a panic will occur. In the future the SDK may create
  9743  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9744  // for more information on using Contexts.
  9745  func (c *Connect) UpdateContactFlowContentWithContext(ctx aws.Context, input *UpdateContactFlowContentInput, opts ...request.Option) (*UpdateContactFlowContentOutput, error) {
  9746  	req, out := c.UpdateContactFlowContentRequest(input)
  9747  	req.SetContext(ctx)
  9748  	req.ApplyOptions(opts...)
  9749  	return out, req.Send()
  9750  }
  9751  
  9752  const opUpdateContactFlowName = "UpdateContactFlowName"
  9753  
  9754  // UpdateContactFlowNameRequest generates a "aws/request.Request" representing the
  9755  // client's request for the UpdateContactFlowName operation. The "output" return
  9756  // value will be populated with the request's response once the request completes
  9757  // successfully.
  9758  //
  9759  // Use "Send" method on the returned Request to send the API call to the service.
  9760  // the "output" return value is not valid until after Send returns without error.
  9761  //
  9762  // See UpdateContactFlowName for more information on using the UpdateContactFlowName
  9763  // API call, and error handling.
  9764  //
  9765  // This method is useful when you want to inject custom logic or configuration
  9766  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9767  //
  9768  //
  9769  //    // Example sending a request using the UpdateContactFlowNameRequest method.
  9770  //    req, resp := client.UpdateContactFlowNameRequest(params)
  9771  //
  9772  //    err := req.Send()
  9773  //    if err == nil { // resp is now filled
  9774  //        fmt.Println(resp)
  9775  //    }
  9776  //
  9777  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowName
  9778  func (c *Connect) UpdateContactFlowNameRequest(input *UpdateContactFlowNameInput) (req *request.Request, output *UpdateContactFlowNameOutput) {
  9779  	op := &request.Operation{
  9780  		Name:       opUpdateContactFlowName,
  9781  		HTTPMethod: "POST",
  9782  		HTTPPath:   "/contact-flows/{InstanceId}/{ContactFlowId}/name",
  9783  	}
  9784  
  9785  	if input == nil {
  9786  		input = &UpdateContactFlowNameInput{}
  9787  	}
  9788  
  9789  	output = &UpdateContactFlowNameOutput{}
  9790  	req = c.newRequest(op, input, output)
  9791  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9792  	return
  9793  }
  9794  
  9795  // UpdateContactFlowName API operation for Amazon Connect Service.
  9796  //
  9797  // The name of the contact flow.
  9798  //
  9799  // You can also create and update contact flows using the Amazon Connect Flow
  9800  // language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
  9801  //
  9802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9803  // with awserr.Error's Code and Message methods to get detailed information about
  9804  // the error.
  9805  //
  9806  // See the AWS API reference guide for Amazon Connect Service's
  9807  // API operation UpdateContactFlowName for usage and error information.
  9808  //
  9809  // Returned Error Types:
  9810  //   * InvalidRequestException
  9811  //   The request is not valid.
  9812  //
  9813  //   * InvalidParameterException
  9814  //   One or more of the specified parameters are not valid.
  9815  //
  9816  //   * DuplicateResourceException
  9817  //   A resource with the specified name already exists.
  9818  //
  9819  //   * ResourceNotFoundException
  9820  //   The specified resource was not found.
  9821  //
  9822  //   * ThrottlingException
  9823  //   The throttling limit has been exceeded.
  9824  //
  9825  //   * InternalServiceException
  9826  //   Request processing failed because of an error or failure with the service.
  9827  //
  9828  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateContactFlowName
  9829  func (c *Connect) UpdateContactFlowName(input *UpdateContactFlowNameInput) (*UpdateContactFlowNameOutput, error) {
  9830  	req, out := c.UpdateContactFlowNameRequest(input)
  9831  	return out, req.Send()
  9832  }
  9833  
  9834  // UpdateContactFlowNameWithContext is the same as UpdateContactFlowName with the addition of
  9835  // the ability to pass a context and additional request options.
  9836  //
  9837  // See UpdateContactFlowName for details on how to use this API operation.
  9838  //
  9839  // The context must be non-nil and will be used for request cancellation. If
  9840  // the context is nil a panic will occur. In the future the SDK may create
  9841  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9842  // for more information on using Contexts.
  9843  func (c *Connect) UpdateContactFlowNameWithContext(ctx aws.Context, input *UpdateContactFlowNameInput, opts ...request.Option) (*UpdateContactFlowNameOutput, error) {
  9844  	req, out := c.UpdateContactFlowNameRequest(input)
  9845  	req.SetContext(ctx)
  9846  	req.ApplyOptions(opts...)
  9847  	return out, req.Send()
  9848  }
  9849  
  9850  const opUpdateHoursOfOperation = "UpdateHoursOfOperation"
  9851  
  9852  // UpdateHoursOfOperationRequest generates a "aws/request.Request" representing the
  9853  // client's request for the UpdateHoursOfOperation operation. The "output" return
  9854  // value will be populated with the request's response once the request completes
  9855  // successfully.
  9856  //
  9857  // Use "Send" method on the returned Request to send the API call to the service.
  9858  // the "output" return value is not valid until after Send returns without error.
  9859  //
  9860  // See UpdateHoursOfOperation for more information on using the UpdateHoursOfOperation
  9861  // API call, and error handling.
  9862  //
  9863  // This method is useful when you want to inject custom logic or configuration
  9864  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9865  //
  9866  //
  9867  //    // Example sending a request using the UpdateHoursOfOperationRequest method.
  9868  //    req, resp := client.UpdateHoursOfOperationRequest(params)
  9869  //
  9870  //    err := req.Send()
  9871  //    if err == nil { // resp is now filled
  9872  //        fmt.Println(resp)
  9873  //    }
  9874  //
  9875  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateHoursOfOperation
  9876  func (c *Connect) UpdateHoursOfOperationRequest(input *UpdateHoursOfOperationInput) (req *request.Request, output *UpdateHoursOfOperationOutput) {
  9877  	op := &request.Operation{
  9878  		Name:       opUpdateHoursOfOperation,
  9879  		HTTPMethod: "POST",
  9880  		HTTPPath:   "/hours-of-operations/{InstanceId}/{HoursOfOperationId}",
  9881  	}
  9882  
  9883  	if input == nil {
  9884  		input = &UpdateHoursOfOperationInput{}
  9885  	}
  9886  
  9887  	output = &UpdateHoursOfOperationOutput{}
  9888  	req = c.newRequest(op, input, output)
  9889  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9890  	return
  9891  }
  9892  
  9893  // UpdateHoursOfOperation API operation for Amazon Connect Service.
  9894  //
  9895  // This API is in preview release for Amazon Connect and is subject to change.
  9896  //
  9897  // Updates the hours of operation.
  9898  //
  9899  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9900  // with awserr.Error's Code and Message methods to get detailed information about
  9901  // the error.
  9902  //
  9903  // See the AWS API reference guide for Amazon Connect Service's
  9904  // API operation UpdateHoursOfOperation for usage and error information.
  9905  //
  9906  // Returned Error Types:
  9907  //   * DuplicateResourceException
  9908  //   A resource with the specified name already exists.
  9909  //
  9910  //   * InvalidRequestException
  9911  //   The request is not valid.
  9912  //
  9913  //   * InvalidParameterException
  9914  //   One or more of the specified parameters are not valid.
  9915  //
  9916  //   * ResourceNotFoundException
  9917  //   The specified resource was not found.
  9918  //
  9919  //   * ThrottlingException
  9920  //   The throttling limit has been exceeded.
  9921  //
  9922  //   * InternalServiceException
  9923  //   Request processing failed because of an error or failure with the service.
  9924  //
  9925  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateHoursOfOperation
  9926  func (c *Connect) UpdateHoursOfOperation(input *UpdateHoursOfOperationInput) (*UpdateHoursOfOperationOutput, error) {
  9927  	req, out := c.UpdateHoursOfOperationRequest(input)
  9928  	return out, req.Send()
  9929  }
  9930  
  9931  // UpdateHoursOfOperationWithContext is the same as UpdateHoursOfOperation with the addition of
  9932  // the ability to pass a context and additional request options.
  9933  //
  9934  // See UpdateHoursOfOperation for details on how to use this API operation.
  9935  //
  9936  // The context must be non-nil and will be used for request cancellation. If
  9937  // the context is nil a panic will occur. In the future the SDK may create
  9938  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9939  // for more information on using Contexts.
  9940  func (c *Connect) UpdateHoursOfOperationWithContext(ctx aws.Context, input *UpdateHoursOfOperationInput, opts ...request.Option) (*UpdateHoursOfOperationOutput, error) {
  9941  	req, out := c.UpdateHoursOfOperationRequest(input)
  9942  	req.SetContext(ctx)
  9943  	req.ApplyOptions(opts...)
  9944  	return out, req.Send()
  9945  }
  9946  
  9947  const opUpdateInstanceAttribute = "UpdateInstanceAttribute"
  9948  
  9949  // UpdateInstanceAttributeRequest generates a "aws/request.Request" representing the
  9950  // client's request for the UpdateInstanceAttribute operation. The "output" return
  9951  // value will be populated with the request's response once the request completes
  9952  // successfully.
  9953  //
  9954  // Use "Send" method on the returned Request to send the API call to the service.
  9955  // the "output" return value is not valid until after Send returns without error.
  9956  //
  9957  // See UpdateInstanceAttribute for more information on using the UpdateInstanceAttribute
  9958  // API call, and error handling.
  9959  //
  9960  // This method is useful when you want to inject custom logic or configuration
  9961  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9962  //
  9963  //
  9964  //    // Example sending a request using the UpdateInstanceAttributeRequest method.
  9965  //    req, resp := client.UpdateInstanceAttributeRequest(params)
  9966  //
  9967  //    err := req.Send()
  9968  //    if err == nil { // resp is now filled
  9969  //        fmt.Println(resp)
  9970  //    }
  9971  //
  9972  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceAttribute
  9973  func (c *Connect) UpdateInstanceAttributeRequest(input *UpdateInstanceAttributeInput) (req *request.Request, output *UpdateInstanceAttributeOutput) {
  9974  	op := &request.Operation{
  9975  		Name:       opUpdateInstanceAttribute,
  9976  		HTTPMethod: "POST",
  9977  		HTTPPath:   "/instance/{InstanceId}/attribute/{AttributeType}",
  9978  	}
  9979  
  9980  	if input == nil {
  9981  		input = &UpdateInstanceAttributeInput{}
  9982  	}
  9983  
  9984  	output = &UpdateInstanceAttributeOutput{}
  9985  	req = c.newRequest(op, input, output)
  9986  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  9987  	return
  9988  }
  9989  
  9990  // UpdateInstanceAttribute API operation for Amazon Connect Service.
  9991  //
  9992  // This API is in preview release for Amazon Connect and is subject to change.
  9993  //
  9994  // Updates the value for the specified attribute type.
  9995  //
  9996  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9997  // with awserr.Error's Code and Message methods to get detailed information about
  9998  // the error.
  9999  //
 10000  // See the AWS API reference guide for Amazon Connect Service's
 10001  // API operation UpdateInstanceAttribute for usage and error information.
 10002  //
 10003  // Returned Error Types:
 10004  //   * ResourceNotFoundException
 10005  //   The specified resource was not found.
 10006  //
 10007  //   * InternalServiceException
 10008  //   Request processing failed because of an error or failure with the service.
 10009  //
 10010  //   * InvalidRequestException
 10011  //   The request is not valid.
 10012  //
 10013  //   * InvalidParameterException
 10014  //   One or more of the specified parameters are not valid.
 10015  //
 10016  //   * ThrottlingException
 10017  //   The throttling limit has been exceeded.
 10018  //
 10019  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceAttribute
 10020  func (c *Connect) UpdateInstanceAttribute(input *UpdateInstanceAttributeInput) (*UpdateInstanceAttributeOutput, error) {
 10021  	req, out := c.UpdateInstanceAttributeRequest(input)
 10022  	return out, req.Send()
 10023  }
 10024  
 10025  // UpdateInstanceAttributeWithContext is the same as UpdateInstanceAttribute with the addition of
 10026  // the ability to pass a context and additional request options.
 10027  //
 10028  // See UpdateInstanceAttribute for details on how to use this API operation.
 10029  //
 10030  // The context must be non-nil and will be used for request cancellation. If
 10031  // the context is nil a panic will occur. In the future the SDK may create
 10032  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10033  // for more information on using Contexts.
 10034  func (c *Connect) UpdateInstanceAttributeWithContext(ctx aws.Context, input *UpdateInstanceAttributeInput, opts ...request.Option) (*UpdateInstanceAttributeOutput, error) {
 10035  	req, out := c.UpdateInstanceAttributeRequest(input)
 10036  	req.SetContext(ctx)
 10037  	req.ApplyOptions(opts...)
 10038  	return out, req.Send()
 10039  }
 10040  
 10041  const opUpdateInstanceStorageConfig = "UpdateInstanceStorageConfig"
 10042  
 10043  // UpdateInstanceStorageConfigRequest generates a "aws/request.Request" representing the
 10044  // client's request for the UpdateInstanceStorageConfig operation. The "output" return
 10045  // value will be populated with the request's response once the request completes
 10046  // successfully.
 10047  //
 10048  // Use "Send" method on the returned Request to send the API call to the service.
 10049  // the "output" return value is not valid until after Send returns without error.
 10050  //
 10051  // See UpdateInstanceStorageConfig for more information on using the UpdateInstanceStorageConfig
 10052  // API call, and error handling.
 10053  //
 10054  // This method is useful when you want to inject custom logic or configuration
 10055  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10056  //
 10057  //
 10058  //    // Example sending a request using the UpdateInstanceStorageConfigRequest method.
 10059  //    req, resp := client.UpdateInstanceStorageConfigRequest(params)
 10060  //
 10061  //    err := req.Send()
 10062  //    if err == nil { // resp is now filled
 10063  //        fmt.Println(resp)
 10064  //    }
 10065  //
 10066  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig
 10067  func (c *Connect) UpdateInstanceStorageConfigRequest(input *UpdateInstanceStorageConfigInput) (req *request.Request, output *UpdateInstanceStorageConfigOutput) {
 10068  	op := &request.Operation{
 10069  		Name:       opUpdateInstanceStorageConfig,
 10070  		HTTPMethod: "POST",
 10071  		HTTPPath:   "/instance/{InstanceId}/storage-config/{AssociationId}",
 10072  	}
 10073  
 10074  	if input == nil {
 10075  		input = &UpdateInstanceStorageConfigInput{}
 10076  	}
 10077  
 10078  	output = &UpdateInstanceStorageConfigOutput{}
 10079  	req = c.newRequest(op, input, output)
 10080  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10081  	return
 10082  }
 10083  
 10084  // UpdateInstanceStorageConfig API operation for Amazon Connect Service.
 10085  //
 10086  // This API is in preview release for Amazon Connect and is subject to change.
 10087  //
 10088  // Updates an existing configuration for a resource type. This API is idempotent.
 10089  //
 10090  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10091  // with awserr.Error's Code and Message methods to get detailed information about
 10092  // the error.
 10093  //
 10094  // See the AWS API reference guide for Amazon Connect Service's
 10095  // API operation UpdateInstanceStorageConfig for usage and error information.
 10096  //
 10097  // Returned Error Types:
 10098  //   * ResourceNotFoundException
 10099  //   The specified resource was not found.
 10100  //
 10101  //   * InternalServiceException
 10102  //   Request processing failed because of an error or failure with the service.
 10103  //
 10104  //   * InvalidRequestException
 10105  //   The request is not valid.
 10106  //
 10107  //   * InvalidParameterException
 10108  //   One or more of the specified parameters are not valid.
 10109  //
 10110  //   * ThrottlingException
 10111  //   The throttling limit has been exceeded.
 10112  //
 10113  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig
 10114  func (c *Connect) UpdateInstanceStorageConfig(input *UpdateInstanceStorageConfigInput) (*UpdateInstanceStorageConfigOutput, error) {
 10115  	req, out := c.UpdateInstanceStorageConfigRequest(input)
 10116  	return out, req.Send()
 10117  }
 10118  
 10119  // UpdateInstanceStorageConfigWithContext is the same as UpdateInstanceStorageConfig with the addition of
 10120  // the ability to pass a context and additional request options.
 10121  //
 10122  // See UpdateInstanceStorageConfig for details on how to use this API operation.
 10123  //
 10124  // The context must be non-nil and will be used for request cancellation. If
 10125  // the context is nil a panic will occur. In the future the SDK may create
 10126  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10127  // for more information on using Contexts.
 10128  func (c *Connect) UpdateInstanceStorageConfigWithContext(ctx aws.Context, input *UpdateInstanceStorageConfigInput, opts ...request.Option) (*UpdateInstanceStorageConfigOutput, error) {
 10129  	req, out := c.UpdateInstanceStorageConfigRequest(input)
 10130  	req.SetContext(ctx)
 10131  	req.ApplyOptions(opts...)
 10132  	return out, req.Send()
 10133  }
 10134  
 10135  const opUpdateQueueHoursOfOperation = "UpdateQueueHoursOfOperation"
 10136  
 10137  // UpdateQueueHoursOfOperationRequest generates a "aws/request.Request" representing the
 10138  // client's request for the UpdateQueueHoursOfOperation operation. The "output" return
 10139  // value will be populated with the request's response once the request completes
 10140  // successfully.
 10141  //
 10142  // Use "Send" method on the returned Request to send the API call to the service.
 10143  // the "output" return value is not valid until after Send returns without error.
 10144  //
 10145  // See UpdateQueueHoursOfOperation for more information on using the UpdateQueueHoursOfOperation
 10146  // API call, and error handling.
 10147  //
 10148  // This method is useful when you want to inject custom logic or configuration
 10149  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10150  //
 10151  //
 10152  //    // Example sending a request using the UpdateQueueHoursOfOperationRequest method.
 10153  //    req, resp := client.UpdateQueueHoursOfOperationRequest(params)
 10154  //
 10155  //    err := req.Send()
 10156  //    if err == nil { // resp is now filled
 10157  //        fmt.Println(resp)
 10158  //    }
 10159  //
 10160  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueHoursOfOperation
 10161  func (c *Connect) UpdateQueueHoursOfOperationRequest(input *UpdateQueueHoursOfOperationInput) (req *request.Request, output *UpdateQueueHoursOfOperationOutput) {
 10162  	op := &request.Operation{
 10163  		Name:       opUpdateQueueHoursOfOperation,
 10164  		HTTPMethod: "POST",
 10165  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/hours-of-operation",
 10166  	}
 10167  
 10168  	if input == nil {
 10169  		input = &UpdateQueueHoursOfOperationInput{}
 10170  	}
 10171  
 10172  	output = &UpdateQueueHoursOfOperationOutput{}
 10173  	req = c.newRequest(op, input, output)
 10174  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10175  	return
 10176  }
 10177  
 10178  // UpdateQueueHoursOfOperation API operation for Amazon Connect Service.
 10179  //
 10180  // This API is in preview release for Amazon Connect and is subject to change.
 10181  //
 10182  // Updates the hours of operation for the specified queue.
 10183  //
 10184  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10185  // with awserr.Error's Code and Message methods to get detailed information about
 10186  // the error.
 10187  //
 10188  // See the AWS API reference guide for Amazon Connect Service's
 10189  // API operation UpdateQueueHoursOfOperation for usage and error information.
 10190  //
 10191  // Returned Error Types:
 10192  //   * InvalidRequestException
 10193  //   The request is not valid.
 10194  //
 10195  //   * InvalidParameterException
 10196  //   One or more of the specified parameters are not valid.
 10197  //
 10198  //   * ResourceNotFoundException
 10199  //   The specified resource was not found.
 10200  //
 10201  //   * ThrottlingException
 10202  //   The throttling limit has been exceeded.
 10203  //
 10204  //   * InternalServiceException
 10205  //   Request processing failed because of an error or failure with the service.
 10206  //
 10207  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueHoursOfOperation
 10208  func (c *Connect) UpdateQueueHoursOfOperation(input *UpdateQueueHoursOfOperationInput) (*UpdateQueueHoursOfOperationOutput, error) {
 10209  	req, out := c.UpdateQueueHoursOfOperationRequest(input)
 10210  	return out, req.Send()
 10211  }
 10212  
 10213  // UpdateQueueHoursOfOperationWithContext is the same as UpdateQueueHoursOfOperation with the addition of
 10214  // the ability to pass a context and additional request options.
 10215  //
 10216  // See UpdateQueueHoursOfOperation for details on how to use this API operation.
 10217  //
 10218  // The context must be non-nil and will be used for request cancellation. If
 10219  // the context is nil a panic will occur. In the future the SDK may create
 10220  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10221  // for more information on using Contexts.
 10222  func (c *Connect) UpdateQueueHoursOfOperationWithContext(ctx aws.Context, input *UpdateQueueHoursOfOperationInput, opts ...request.Option) (*UpdateQueueHoursOfOperationOutput, error) {
 10223  	req, out := c.UpdateQueueHoursOfOperationRequest(input)
 10224  	req.SetContext(ctx)
 10225  	req.ApplyOptions(opts...)
 10226  	return out, req.Send()
 10227  }
 10228  
 10229  const opUpdateQueueMaxContacts = "UpdateQueueMaxContacts"
 10230  
 10231  // UpdateQueueMaxContactsRequest generates a "aws/request.Request" representing the
 10232  // client's request for the UpdateQueueMaxContacts operation. The "output" return
 10233  // value will be populated with the request's response once the request completes
 10234  // successfully.
 10235  //
 10236  // Use "Send" method on the returned Request to send the API call to the service.
 10237  // the "output" return value is not valid until after Send returns without error.
 10238  //
 10239  // See UpdateQueueMaxContacts for more information on using the UpdateQueueMaxContacts
 10240  // API call, and error handling.
 10241  //
 10242  // This method is useful when you want to inject custom logic or configuration
 10243  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10244  //
 10245  //
 10246  //    // Example sending a request using the UpdateQueueMaxContactsRequest method.
 10247  //    req, resp := client.UpdateQueueMaxContactsRequest(params)
 10248  //
 10249  //    err := req.Send()
 10250  //    if err == nil { // resp is now filled
 10251  //        fmt.Println(resp)
 10252  //    }
 10253  //
 10254  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueMaxContacts
 10255  func (c *Connect) UpdateQueueMaxContactsRequest(input *UpdateQueueMaxContactsInput) (req *request.Request, output *UpdateQueueMaxContactsOutput) {
 10256  	op := &request.Operation{
 10257  		Name:       opUpdateQueueMaxContacts,
 10258  		HTTPMethod: "POST",
 10259  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/max-contacts",
 10260  	}
 10261  
 10262  	if input == nil {
 10263  		input = &UpdateQueueMaxContactsInput{}
 10264  	}
 10265  
 10266  	output = &UpdateQueueMaxContactsOutput{}
 10267  	req = c.newRequest(op, input, output)
 10268  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10269  	return
 10270  }
 10271  
 10272  // UpdateQueueMaxContacts API operation for Amazon Connect Service.
 10273  //
 10274  // This API is in preview release for Amazon Connect and is subject to change.
 10275  //
 10276  // Updates the maximum number of contacts allowed in a queue before it is considered
 10277  // full.
 10278  //
 10279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10280  // with awserr.Error's Code and Message methods to get detailed information about
 10281  // the error.
 10282  //
 10283  // See the AWS API reference guide for Amazon Connect Service's
 10284  // API operation UpdateQueueMaxContacts for usage and error information.
 10285  //
 10286  // Returned Error Types:
 10287  //   * InvalidRequestException
 10288  //   The request is not valid.
 10289  //
 10290  //   * InvalidParameterException
 10291  //   One or more of the specified parameters are not valid.
 10292  //
 10293  //   * ResourceNotFoundException
 10294  //   The specified resource was not found.
 10295  //
 10296  //   * ThrottlingException
 10297  //   The throttling limit has been exceeded.
 10298  //
 10299  //   * InternalServiceException
 10300  //   Request processing failed because of an error or failure with the service.
 10301  //
 10302  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueMaxContacts
 10303  func (c *Connect) UpdateQueueMaxContacts(input *UpdateQueueMaxContactsInput) (*UpdateQueueMaxContactsOutput, error) {
 10304  	req, out := c.UpdateQueueMaxContactsRequest(input)
 10305  	return out, req.Send()
 10306  }
 10307  
 10308  // UpdateQueueMaxContactsWithContext is the same as UpdateQueueMaxContacts with the addition of
 10309  // the ability to pass a context and additional request options.
 10310  //
 10311  // See UpdateQueueMaxContacts for details on how to use this API operation.
 10312  //
 10313  // The context must be non-nil and will be used for request cancellation. If
 10314  // the context is nil a panic will occur. In the future the SDK may create
 10315  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10316  // for more information on using Contexts.
 10317  func (c *Connect) UpdateQueueMaxContactsWithContext(ctx aws.Context, input *UpdateQueueMaxContactsInput, opts ...request.Option) (*UpdateQueueMaxContactsOutput, error) {
 10318  	req, out := c.UpdateQueueMaxContactsRequest(input)
 10319  	req.SetContext(ctx)
 10320  	req.ApplyOptions(opts...)
 10321  	return out, req.Send()
 10322  }
 10323  
 10324  const opUpdateQueueName = "UpdateQueueName"
 10325  
 10326  // UpdateQueueNameRequest generates a "aws/request.Request" representing the
 10327  // client's request for the UpdateQueueName operation. The "output" return
 10328  // value will be populated with the request's response once the request completes
 10329  // successfully.
 10330  //
 10331  // Use "Send" method on the returned Request to send the API call to the service.
 10332  // the "output" return value is not valid until after Send returns without error.
 10333  //
 10334  // See UpdateQueueName for more information on using the UpdateQueueName
 10335  // API call, and error handling.
 10336  //
 10337  // This method is useful when you want to inject custom logic or configuration
 10338  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10339  //
 10340  //
 10341  //    // Example sending a request using the UpdateQueueNameRequest method.
 10342  //    req, resp := client.UpdateQueueNameRequest(params)
 10343  //
 10344  //    err := req.Send()
 10345  //    if err == nil { // resp is now filled
 10346  //        fmt.Println(resp)
 10347  //    }
 10348  //
 10349  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueName
 10350  func (c *Connect) UpdateQueueNameRequest(input *UpdateQueueNameInput) (req *request.Request, output *UpdateQueueNameOutput) {
 10351  	op := &request.Operation{
 10352  		Name:       opUpdateQueueName,
 10353  		HTTPMethod: "POST",
 10354  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/name",
 10355  	}
 10356  
 10357  	if input == nil {
 10358  		input = &UpdateQueueNameInput{}
 10359  	}
 10360  
 10361  	output = &UpdateQueueNameOutput{}
 10362  	req = c.newRequest(op, input, output)
 10363  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10364  	return
 10365  }
 10366  
 10367  // UpdateQueueName API operation for Amazon Connect Service.
 10368  //
 10369  // This API is in preview release for Amazon Connect and is subject to change.
 10370  //
 10371  // Updates the name and description of a queue. At least Name or Description
 10372  // must be provided.
 10373  //
 10374  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10375  // with awserr.Error's Code and Message methods to get detailed information about
 10376  // the error.
 10377  //
 10378  // See the AWS API reference guide for Amazon Connect Service's
 10379  // API operation UpdateQueueName for usage and error information.
 10380  //
 10381  // Returned Error Types:
 10382  //   * DuplicateResourceException
 10383  //   A resource with the specified name already exists.
 10384  //
 10385  //   * InvalidRequestException
 10386  //   The request is not valid.
 10387  //
 10388  //   * InvalidParameterException
 10389  //   One or more of the specified parameters are not valid.
 10390  //
 10391  //   * ResourceNotFoundException
 10392  //   The specified resource was not found.
 10393  //
 10394  //   * ThrottlingException
 10395  //   The throttling limit has been exceeded.
 10396  //
 10397  //   * InternalServiceException
 10398  //   Request processing failed because of an error or failure with the service.
 10399  //
 10400  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueName
 10401  func (c *Connect) UpdateQueueName(input *UpdateQueueNameInput) (*UpdateQueueNameOutput, error) {
 10402  	req, out := c.UpdateQueueNameRequest(input)
 10403  	return out, req.Send()
 10404  }
 10405  
 10406  // UpdateQueueNameWithContext is the same as UpdateQueueName with the addition of
 10407  // the ability to pass a context and additional request options.
 10408  //
 10409  // See UpdateQueueName for details on how to use this API operation.
 10410  //
 10411  // The context must be non-nil and will be used for request cancellation. If
 10412  // the context is nil a panic will occur. In the future the SDK may create
 10413  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10414  // for more information on using Contexts.
 10415  func (c *Connect) UpdateQueueNameWithContext(ctx aws.Context, input *UpdateQueueNameInput, opts ...request.Option) (*UpdateQueueNameOutput, error) {
 10416  	req, out := c.UpdateQueueNameRequest(input)
 10417  	req.SetContext(ctx)
 10418  	req.ApplyOptions(opts...)
 10419  	return out, req.Send()
 10420  }
 10421  
 10422  const opUpdateQueueOutboundCallerConfig = "UpdateQueueOutboundCallerConfig"
 10423  
 10424  // UpdateQueueOutboundCallerConfigRequest generates a "aws/request.Request" representing the
 10425  // client's request for the UpdateQueueOutboundCallerConfig operation. The "output" return
 10426  // value will be populated with the request's response once the request completes
 10427  // successfully.
 10428  //
 10429  // Use "Send" method on the returned Request to send the API call to the service.
 10430  // the "output" return value is not valid until after Send returns without error.
 10431  //
 10432  // See UpdateQueueOutboundCallerConfig for more information on using the UpdateQueueOutboundCallerConfig
 10433  // API call, and error handling.
 10434  //
 10435  // This method is useful when you want to inject custom logic or configuration
 10436  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10437  //
 10438  //
 10439  //    // Example sending a request using the UpdateQueueOutboundCallerConfigRequest method.
 10440  //    req, resp := client.UpdateQueueOutboundCallerConfigRequest(params)
 10441  //
 10442  //    err := req.Send()
 10443  //    if err == nil { // resp is now filled
 10444  //        fmt.Println(resp)
 10445  //    }
 10446  //
 10447  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueOutboundCallerConfig
 10448  func (c *Connect) UpdateQueueOutboundCallerConfigRequest(input *UpdateQueueOutboundCallerConfigInput) (req *request.Request, output *UpdateQueueOutboundCallerConfigOutput) {
 10449  	op := &request.Operation{
 10450  		Name:       opUpdateQueueOutboundCallerConfig,
 10451  		HTTPMethod: "POST",
 10452  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/outbound-caller-config",
 10453  	}
 10454  
 10455  	if input == nil {
 10456  		input = &UpdateQueueOutboundCallerConfigInput{}
 10457  	}
 10458  
 10459  	output = &UpdateQueueOutboundCallerConfigOutput{}
 10460  	req = c.newRequest(op, input, output)
 10461  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10462  	return
 10463  }
 10464  
 10465  // UpdateQueueOutboundCallerConfig API operation for Amazon Connect Service.
 10466  //
 10467  // This API is in preview release for Amazon Connect and is subject to change.
 10468  //
 10469  // Updates the outbound caller ID name, number, and outbound whisper flow for
 10470  // a specified queue.
 10471  //
 10472  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10473  // with awserr.Error's Code and Message methods to get detailed information about
 10474  // the error.
 10475  //
 10476  // See the AWS API reference guide for Amazon Connect Service's
 10477  // API operation UpdateQueueOutboundCallerConfig for usage and error information.
 10478  //
 10479  // Returned Error Types:
 10480  //   * InvalidRequestException
 10481  //   The request is not valid.
 10482  //
 10483  //   * InvalidParameterException
 10484  //   One or more of the specified parameters are not valid.
 10485  //
 10486  //   * ResourceNotFoundException
 10487  //   The specified resource was not found.
 10488  //
 10489  //   * ThrottlingException
 10490  //   The throttling limit has been exceeded.
 10491  //
 10492  //   * InternalServiceException
 10493  //   Request processing failed because of an error or failure with the service.
 10494  //
 10495  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueOutboundCallerConfig
 10496  func (c *Connect) UpdateQueueOutboundCallerConfig(input *UpdateQueueOutboundCallerConfigInput) (*UpdateQueueOutboundCallerConfigOutput, error) {
 10497  	req, out := c.UpdateQueueOutboundCallerConfigRequest(input)
 10498  	return out, req.Send()
 10499  }
 10500  
 10501  // UpdateQueueOutboundCallerConfigWithContext is the same as UpdateQueueOutboundCallerConfig with the addition of
 10502  // the ability to pass a context and additional request options.
 10503  //
 10504  // See UpdateQueueOutboundCallerConfig for details on how to use this API operation.
 10505  //
 10506  // The context must be non-nil and will be used for request cancellation. If
 10507  // the context is nil a panic will occur. In the future the SDK may create
 10508  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10509  // for more information on using Contexts.
 10510  func (c *Connect) UpdateQueueOutboundCallerConfigWithContext(ctx aws.Context, input *UpdateQueueOutboundCallerConfigInput, opts ...request.Option) (*UpdateQueueOutboundCallerConfigOutput, error) {
 10511  	req, out := c.UpdateQueueOutboundCallerConfigRequest(input)
 10512  	req.SetContext(ctx)
 10513  	req.ApplyOptions(opts...)
 10514  	return out, req.Send()
 10515  }
 10516  
 10517  const opUpdateQueueStatus = "UpdateQueueStatus"
 10518  
 10519  // UpdateQueueStatusRequest generates a "aws/request.Request" representing the
 10520  // client's request for the UpdateQueueStatus operation. The "output" return
 10521  // value will be populated with the request's response once the request completes
 10522  // successfully.
 10523  //
 10524  // Use "Send" method on the returned Request to send the API call to the service.
 10525  // the "output" return value is not valid until after Send returns without error.
 10526  //
 10527  // See UpdateQueueStatus for more information on using the UpdateQueueStatus
 10528  // API call, and error handling.
 10529  //
 10530  // This method is useful when you want to inject custom logic or configuration
 10531  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10532  //
 10533  //
 10534  //    // Example sending a request using the UpdateQueueStatusRequest method.
 10535  //    req, resp := client.UpdateQueueStatusRequest(params)
 10536  //
 10537  //    err := req.Send()
 10538  //    if err == nil { // resp is now filled
 10539  //        fmt.Println(resp)
 10540  //    }
 10541  //
 10542  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueStatus
 10543  func (c *Connect) UpdateQueueStatusRequest(input *UpdateQueueStatusInput) (req *request.Request, output *UpdateQueueStatusOutput) {
 10544  	op := &request.Operation{
 10545  		Name:       opUpdateQueueStatus,
 10546  		HTTPMethod: "POST",
 10547  		HTTPPath:   "/queues/{InstanceId}/{QueueId}/status",
 10548  	}
 10549  
 10550  	if input == nil {
 10551  		input = &UpdateQueueStatusInput{}
 10552  	}
 10553  
 10554  	output = &UpdateQueueStatusOutput{}
 10555  	req = c.newRequest(op, input, output)
 10556  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10557  	return
 10558  }
 10559  
 10560  // UpdateQueueStatus API operation for Amazon Connect Service.
 10561  //
 10562  // This API is in preview release for Amazon Connect and is subject to change.
 10563  //
 10564  // Updates the status of the queue.
 10565  //
 10566  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10567  // with awserr.Error's Code and Message methods to get detailed information about
 10568  // the error.
 10569  //
 10570  // See the AWS API reference guide for Amazon Connect Service's
 10571  // API operation UpdateQueueStatus for usage and error information.
 10572  //
 10573  // Returned Error Types:
 10574  //   * InvalidRequestException
 10575  //   The request is not valid.
 10576  //
 10577  //   * InvalidParameterException
 10578  //   One or more of the specified parameters are not valid.
 10579  //
 10580  //   * ResourceNotFoundException
 10581  //   The specified resource was not found.
 10582  //
 10583  //   * ThrottlingException
 10584  //   The throttling limit has been exceeded.
 10585  //
 10586  //   * InternalServiceException
 10587  //   Request processing failed because of an error or failure with the service.
 10588  //
 10589  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQueueStatus
 10590  func (c *Connect) UpdateQueueStatus(input *UpdateQueueStatusInput) (*UpdateQueueStatusOutput, error) {
 10591  	req, out := c.UpdateQueueStatusRequest(input)
 10592  	return out, req.Send()
 10593  }
 10594  
 10595  // UpdateQueueStatusWithContext is the same as UpdateQueueStatus with the addition of
 10596  // the ability to pass a context and additional request options.
 10597  //
 10598  // See UpdateQueueStatus for details on how to use this API operation.
 10599  //
 10600  // The context must be non-nil and will be used for request cancellation. If
 10601  // the context is nil a panic will occur. In the future the SDK may create
 10602  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10603  // for more information on using Contexts.
 10604  func (c *Connect) UpdateQueueStatusWithContext(ctx aws.Context, input *UpdateQueueStatusInput, opts ...request.Option) (*UpdateQueueStatusOutput, error) {
 10605  	req, out := c.UpdateQueueStatusRequest(input)
 10606  	req.SetContext(ctx)
 10607  	req.ApplyOptions(opts...)
 10608  	return out, req.Send()
 10609  }
 10610  
 10611  const opUpdateQuickConnectConfig = "UpdateQuickConnectConfig"
 10612  
 10613  // UpdateQuickConnectConfigRequest generates a "aws/request.Request" representing the
 10614  // client's request for the UpdateQuickConnectConfig operation. The "output" return
 10615  // value will be populated with the request's response once the request completes
 10616  // successfully.
 10617  //
 10618  // Use "Send" method on the returned Request to send the API call to the service.
 10619  // the "output" return value is not valid until after Send returns without error.
 10620  //
 10621  // See UpdateQuickConnectConfig for more information on using the UpdateQuickConnectConfig
 10622  // API call, and error handling.
 10623  //
 10624  // This method is useful when you want to inject custom logic or configuration
 10625  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10626  //
 10627  //
 10628  //    // Example sending a request using the UpdateQuickConnectConfigRequest method.
 10629  //    req, resp := client.UpdateQuickConnectConfigRequest(params)
 10630  //
 10631  //    err := req.Send()
 10632  //    if err == nil { // resp is now filled
 10633  //        fmt.Println(resp)
 10634  //    }
 10635  //
 10636  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectConfig
 10637  func (c *Connect) UpdateQuickConnectConfigRequest(input *UpdateQuickConnectConfigInput) (req *request.Request, output *UpdateQuickConnectConfigOutput) {
 10638  	op := &request.Operation{
 10639  		Name:       opUpdateQuickConnectConfig,
 10640  		HTTPMethod: "POST",
 10641  		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}/config",
 10642  	}
 10643  
 10644  	if input == nil {
 10645  		input = &UpdateQuickConnectConfigInput{}
 10646  	}
 10647  
 10648  	output = &UpdateQuickConnectConfigOutput{}
 10649  	req = c.newRequest(op, input, output)
 10650  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10651  	return
 10652  }
 10653  
 10654  // UpdateQuickConnectConfig API operation for Amazon Connect Service.
 10655  //
 10656  // Updates the configuration settings for the specified quick connect.
 10657  //
 10658  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10659  // with awserr.Error's Code and Message methods to get detailed information about
 10660  // the error.
 10661  //
 10662  // See the AWS API reference guide for Amazon Connect Service's
 10663  // API operation UpdateQuickConnectConfig for usage and error information.
 10664  //
 10665  // Returned Error Types:
 10666  //   * InvalidRequestException
 10667  //   The request is not valid.
 10668  //
 10669  //   * InvalidParameterException
 10670  //   One or more of the specified parameters are not valid.
 10671  //
 10672  //   * ResourceNotFoundException
 10673  //   The specified resource was not found.
 10674  //
 10675  //   * ThrottlingException
 10676  //   The throttling limit has been exceeded.
 10677  //
 10678  //   * InternalServiceException
 10679  //   Request processing failed because of an error or failure with the service.
 10680  //
 10681  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectConfig
 10682  func (c *Connect) UpdateQuickConnectConfig(input *UpdateQuickConnectConfigInput) (*UpdateQuickConnectConfigOutput, error) {
 10683  	req, out := c.UpdateQuickConnectConfigRequest(input)
 10684  	return out, req.Send()
 10685  }
 10686  
 10687  // UpdateQuickConnectConfigWithContext is the same as UpdateQuickConnectConfig with the addition of
 10688  // the ability to pass a context and additional request options.
 10689  //
 10690  // See UpdateQuickConnectConfig for details on how to use this API operation.
 10691  //
 10692  // The context must be non-nil and will be used for request cancellation. If
 10693  // the context is nil a panic will occur. In the future the SDK may create
 10694  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10695  // for more information on using Contexts.
 10696  func (c *Connect) UpdateQuickConnectConfigWithContext(ctx aws.Context, input *UpdateQuickConnectConfigInput, opts ...request.Option) (*UpdateQuickConnectConfigOutput, error) {
 10697  	req, out := c.UpdateQuickConnectConfigRequest(input)
 10698  	req.SetContext(ctx)
 10699  	req.ApplyOptions(opts...)
 10700  	return out, req.Send()
 10701  }
 10702  
 10703  const opUpdateQuickConnectName = "UpdateQuickConnectName"
 10704  
 10705  // UpdateQuickConnectNameRequest generates a "aws/request.Request" representing the
 10706  // client's request for the UpdateQuickConnectName operation. The "output" return
 10707  // value will be populated with the request's response once the request completes
 10708  // successfully.
 10709  //
 10710  // Use "Send" method on the returned Request to send the API call to the service.
 10711  // the "output" return value is not valid until after Send returns without error.
 10712  //
 10713  // See UpdateQuickConnectName for more information on using the UpdateQuickConnectName
 10714  // API call, and error handling.
 10715  //
 10716  // This method is useful when you want to inject custom logic or configuration
 10717  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10718  //
 10719  //
 10720  //    // Example sending a request using the UpdateQuickConnectNameRequest method.
 10721  //    req, resp := client.UpdateQuickConnectNameRequest(params)
 10722  //
 10723  //    err := req.Send()
 10724  //    if err == nil { // resp is now filled
 10725  //        fmt.Println(resp)
 10726  //    }
 10727  //
 10728  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectName
 10729  func (c *Connect) UpdateQuickConnectNameRequest(input *UpdateQuickConnectNameInput) (req *request.Request, output *UpdateQuickConnectNameOutput) {
 10730  	op := &request.Operation{
 10731  		Name:       opUpdateQuickConnectName,
 10732  		HTTPMethod: "POST",
 10733  		HTTPPath:   "/quick-connects/{InstanceId}/{QuickConnectId}/name",
 10734  	}
 10735  
 10736  	if input == nil {
 10737  		input = &UpdateQuickConnectNameInput{}
 10738  	}
 10739  
 10740  	output = &UpdateQuickConnectNameOutput{}
 10741  	req = c.newRequest(op, input, output)
 10742  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10743  	return
 10744  }
 10745  
 10746  // UpdateQuickConnectName API operation for Amazon Connect Service.
 10747  //
 10748  // Updates the name and description of a quick connect. The request accepts
 10749  // the following data in JSON format. At least Name or Description must be provided.
 10750  //
 10751  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10752  // with awserr.Error's Code and Message methods to get detailed information about
 10753  // the error.
 10754  //
 10755  // See the AWS API reference guide for Amazon Connect Service's
 10756  // API operation UpdateQuickConnectName for usage and error information.
 10757  //
 10758  // Returned Error Types:
 10759  //   * InvalidRequestException
 10760  //   The request is not valid.
 10761  //
 10762  //   * InvalidParameterException
 10763  //   One or more of the specified parameters are not valid.
 10764  //
 10765  //   * ResourceNotFoundException
 10766  //   The specified resource was not found.
 10767  //
 10768  //   * ThrottlingException
 10769  //   The throttling limit has been exceeded.
 10770  //
 10771  //   * InternalServiceException
 10772  //   Request processing failed because of an error or failure with the service.
 10773  //
 10774  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateQuickConnectName
 10775  func (c *Connect) UpdateQuickConnectName(input *UpdateQuickConnectNameInput) (*UpdateQuickConnectNameOutput, error) {
 10776  	req, out := c.UpdateQuickConnectNameRequest(input)
 10777  	return out, req.Send()
 10778  }
 10779  
 10780  // UpdateQuickConnectNameWithContext is the same as UpdateQuickConnectName with the addition of
 10781  // the ability to pass a context and additional request options.
 10782  //
 10783  // See UpdateQuickConnectName for details on how to use this API operation.
 10784  //
 10785  // The context must be non-nil and will be used for request cancellation. If
 10786  // the context is nil a panic will occur. In the future the SDK may create
 10787  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10788  // for more information on using Contexts.
 10789  func (c *Connect) UpdateQuickConnectNameWithContext(ctx aws.Context, input *UpdateQuickConnectNameInput, opts ...request.Option) (*UpdateQuickConnectNameOutput, error) {
 10790  	req, out := c.UpdateQuickConnectNameRequest(input)
 10791  	req.SetContext(ctx)
 10792  	req.ApplyOptions(opts...)
 10793  	return out, req.Send()
 10794  }
 10795  
 10796  const opUpdateRoutingProfileConcurrency = "UpdateRoutingProfileConcurrency"
 10797  
 10798  // UpdateRoutingProfileConcurrencyRequest generates a "aws/request.Request" representing the
 10799  // client's request for the UpdateRoutingProfileConcurrency operation. The "output" return
 10800  // value will be populated with the request's response once the request completes
 10801  // successfully.
 10802  //
 10803  // Use "Send" method on the returned Request to send the API call to the service.
 10804  // the "output" return value is not valid until after Send returns without error.
 10805  //
 10806  // See UpdateRoutingProfileConcurrency for more information on using the UpdateRoutingProfileConcurrency
 10807  // API call, and error handling.
 10808  //
 10809  // This method is useful when you want to inject custom logic or configuration
 10810  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10811  //
 10812  //
 10813  //    // Example sending a request using the UpdateRoutingProfileConcurrencyRequest method.
 10814  //    req, resp := client.UpdateRoutingProfileConcurrencyRequest(params)
 10815  //
 10816  //    err := req.Send()
 10817  //    if err == nil { // resp is now filled
 10818  //        fmt.Println(resp)
 10819  //    }
 10820  //
 10821  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileConcurrency
 10822  func (c *Connect) UpdateRoutingProfileConcurrencyRequest(input *UpdateRoutingProfileConcurrencyInput) (req *request.Request, output *UpdateRoutingProfileConcurrencyOutput) {
 10823  	op := &request.Operation{
 10824  		Name:       opUpdateRoutingProfileConcurrency,
 10825  		HTTPMethod: "POST",
 10826  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/concurrency",
 10827  	}
 10828  
 10829  	if input == nil {
 10830  		input = &UpdateRoutingProfileConcurrencyInput{}
 10831  	}
 10832  
 10833  	output = &UpdateRoutingProfileConcurrencyOutput{}
 10834  	req = c.newRequest(op, input, output)
 10835  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10836  	return
 10837  }
 10838  
 10839  // UpdateRoutingProfileConcurrency API operation for Amazon Connect Service.
 10840  //
 10841  // Updates the channels that agents can handle in the Contact Control Panel
 10842  // (CCP) for a routing profile.
 10843  //
 10844  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10845  // with awserr.Error's Code and Message methods to get detailed information about
 10846  // the error.
 10847  //
 10848  // See the AWS API reference guide for Amazon Connect Service's
 10849  // API operation UpdateRoutingProfileConcurrency for usage and error information.
 10850  //
 10851  // Returned Error Types:
 10852  //   * InvalidRequestException
 10853  //   The request is not valid.
 10854  //
 10855  //   * InvalidParameterException
 10856  //   One or more of the specified parameters are not valid.
 10857  //
 10858  //   * ResourceNotFoundException
 10859  //   The specified resource was not found.
 10860  //
 10861  //   * ThrottlingException
 10862  //   The throttling limit has been exceeded.
 10863  //
 10864  //   * InternalServiceException
 10865  //   Request processing failed because of an error or failure with the service.
 10866  //
 10867  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileConcurrency
 10868  func (c *Connect) UpdateRoutingProfileConcurrency(input *UpdateRoutingProfileConcurrencyInput) (*UpdateRoutingProfileConcurrencyOutput, error) {
 10869  	req, out := c.UpdateRoutingProfileConcurrencyRequest(input)
 10870  	return out, req.Send()
 10871  }
 10872  
 10873  // UpdateRoutingProfileConcurrencyWithContext is the same as UpdateRoutingProfileConcurrency with the addition of
 10874  // the ability to pass a context and additional request options.
 10875  //
 10876  // See UpdateRoutingProfileConcurrency for details on how to use this API operation.
 10877  //
 10878  // The context must be non-nil and will be used for request cancellation. If
 10879  // the context is nil a panic will occur. In the future the SDK may create
 10880  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10881  // for more information on using Contexts.
 10882  func (c *Connect) UpdateRoutingProfileConcurrencyWithContext(ctx aws.Context, input *UpdateRoutingProfileConcurrencyInput, opts ...request.Option) (*UpdateRoutingProfileConcurrencyOutput, error) {
 10883  	req, out := c.UpdateRoutingProfileConcurrencyRequest(input)
 10884  	req.SetContext(ctx)
 10885  	req.ApplyOptions(opts...)
 10886  	return out, req.Send()
 10887  }
 10888  
 10889  const opUpdateRoutingProfileDefaultOutboundQueue = "UpdateRoutingProfileDefaultOutboundQueue"
 10890  
 10891  // UpdateRoutingProfileDefaultOutboundQueueRequest generates a "aws/request.Request" representing the
 10892  // client's request for the UpdateRoutingProfileDefaultOutboundQueue operation. The "output" return
 10893  // value will be populated with the request's response once the request completes
 10894  // successfully.
 10895  //
 10896  // Use "Send" method on the returned Request to send the API call to the service.
 10897  // the "output" return value is not valid until after Send returns without error.
 10898  //
 10899  // See UpdateRoutingProfileDefaultOutboundQueue for more information on using the UpdateRoutingProfileDefaultOutboundQueue
 10900  // API call, and error handling.
 10901  //
 10902  // This method is useful when you want to inject custom logic or configuration
 10903  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10904  //
 10905  //
 10906  //    // Example sending a request using the UpdateRoutingProfileDefaultOutboundQueueRequest method.
 10907  //    req, resp := client.UpdateRoutingProfileDefaultOutboundQueueRequest(params)
 10908  //
 10909  //    err := req.Send()
 10910  //    if err == nil { // resp is now filled
 10911  //        fmt.Println(resp)
 10912  //    }
 10913  //
 10914  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileDefaultOutboundQueue
 10915  func (c *Connect) UpdateRoutingProfileDefaultOutboundQueueRequest(input *UpdateRoutingProfileDefaultOutboundQueueInput) (req *request.Request, output *UpdateRoutingProfileDefaultOutboundQueueOutput) {
 10916  	op := &request.Operation{
 10917  		Name:       opUpdateRoutingProfileDefaultOutboundQueue,
 10918  		HTTPMethod: "POST",
 10919  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/default-outbound-queue",
 10920  	}
 10921  
 10922  	if input == nil {
 10923  		input = &UpdateRoutingProfileDefaultOutboundQueueInput{}
 10924  	}
 10925  
 10926  	output = &UpdateRoutingProfileDefaultOutboundQueueOutput{}
 10927  	req = c.newRequest(op, input, output)
 10928  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10929  	return
 10930  }
 10931  
 10932  // UpdateRoutingProfileDefaultOutboundQueue API operation for Amazon Connect Service.
 10933  //
 10934  // Updates the default outbound queue of a routing profile.
 10935  //
 10936  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10937  // with awserr.Error's Code and Message methods to get detailed information about
 10938  // the error.
 10939  //
 10940  // See the AWS API reference guide for Amazon Connect Service's
 10941  // API operation UpdateRoutingProfileDefaultOutboundQueue for usage and error information.
 10942  //
 10943  // Returned Error Types:
 10944  //   * InvalidRequestException
 10945  //   The request is not valid.
 10946  //
 10947  //   * InvalidParameterException
 10948  //   One or more of the specified parameters are not valid.
 10949  //
 10950  //   * ResourceNotFoundException
 10951  //   The specified resource was not found.
 10952  //
 10953  //   * ThrottlingException
 10954  //   The throttling limit has been exceeded.
 10955  //
 10956  //   * InternalServiceException
 10957  //   Request processing failed because of an error or failure with the service.
 10958  //
 10959  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileDefaultOutboundQueue
 10960  func (c *Connect) UpdateRoutingProfileDefaultOutboundQueue(input *UpdateRoutingProfileDefaultOutboundQueueInput) (*UpdateRoutingProfileDefaultOutboundQueueOutput, error) {
 10961  	req, out := c.UpdateRoutingProfileDefaultOutboundQueueRequest(input)
 10962  	return out, req.Send()
 10963  }
 10964  
 10965  // UpdateRoutingProfileDefaultOutboundQueueWithContext is the same as UpdateRoutingProfileDefaultOutboundQueue with the addition of
 10966  // the ability to pass a context and additional request options.
 10967  //
 10968  // See UpdateRoutingProfileDefaultOutboundQueue for details on how to use this API operation.
 10969  //
 10970  // The context must be non-nil and will be used for request cancellation. If
 10971  // the context is nil a panic will occur. In the future the SDK may create
 10972  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10973  // for more information on using Contexts.
 10974  func (c *Connect) UpdateRoutingProfileDefaultOutboundQueueWithContext(ctx aws.Context, input *UpdateRoutingProfileDefaultOutboundQueueInput, opts ...request.Option) (*UpdateRoutingProfileDefaultOutboundQueueOutput, error) {
 10975  	req, out := c.UpdateRoutingProfileDefaultOutboundQueueRequest(input)
 10976  	req.SetContext(ctx)
 10977  	req.ApplyOptions(opts...)
 10978  	return out, req.Send()
 10979  }
 10980  
 10981  const opUpdateRoutingProfileName = "UpdateRoutingProfileName"
 10982  
 10983  // UpdateRoutingProfileNameRequest generates a "aws/request.Request" representing the
 10984  // client's request for the UpdateRoutingProfileName operation. The "output" return
 10985  // value will be populated with the request's response once the request completes
 10986  // successfully.
 10987  //
 10988  // Use "Send" method on the returned Request to send the API call to the service.
 10989  // the "output" return value is not valid until after Send returns without error.
 10990  //
 10991  // See UpdateRoutingProfileName for more information on using the UpdateRoutingProfileName
 10992  // API call, and error handling.
 10993  //
 10994  // This method is useful when you want to inject custom logic or configuration
 10995  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10996  //
 10997  //
 10998  //    // Example sending a request using the UpdateRoutingProfileNameRequest method.
 10999  //    req, resp := client.UpdateRoutingProfileNameRequest(params)
 11000  //
 11001  //    err := req.Send()
 11002  //    if err == nil { // resp is now filled
 11003  //        fmt.Println(resp)
 11004  //    }
 11005  //
 11006  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileName
 11007  func (c *Connect) UpdateRoutingProfileNameRequest(input *UpdateRoutingProfileNameInput) (req *request.Request, output *UpdateRoutingProfileNameOutput) {
 11008  	op := &request.Operation{
 11009  		Name:       opUpdateRoutingProfileName,
 11010  		HTTPMethod: "POST",
 11011  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/name",
 11012  	}
 11013  
 11014  	if input == nil {
 11015  		input = &UpdateRoutingProfileNameInput{}
 11016  	}
 11017  
 11018  	output = &UpdateRoutingProfileNameOutput{}
 11019  	req = c.newRequest(op, input, output)
 11020  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11021  	return
 11022  }
 11023  
 11024  // UpdateRoutingProfileName API operation for Amazon Connect Service.
 11025  //
 11026  // Updates the name and description of a routing profile. The request accepts
 11027  // the following data in JSON format. At least Name or Description must be provided.
 11028  //
 11029  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11030  // with awserr.Error's Code and Message methods to get detailed information about
 11031  // the error.
 11032  //
 11033  // See the AWS API reference guide for Amazon Connect Service's
 11034  // API operation UpdateRoutingProfileName for usage and error information.
 11035  //
 11036  // Returned Error Types:
 11037  //   * DuplicateResourceException
 11038  //   A resource with the specified name already exists.
 11039  //
 11040  //   * InvalidRequestException
 11041  //   The request is not valid.
 11042  //
 11043  //   * InvalidParameterException
 11044  //   One or more of the specified parameters are not valid.
 11045  //
 11046  //   * ResourceNotFoundException
 11047  //   The specified resource was not found.
 11048  //
 11049  //   * ThrottlingException
 11050  //   The throttling limit has been exceeded.
 11051  //
 11052  //   * InternalServiceException
 11053  //   Request processing failed because of an error or failure with the service.
 11054  //
 11055  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileName
 11056  func (c *Connect) UpdateRoutingProfileName(input *UpdateRoutingProfileNameInput) (*UpdateRoutingProfileNameOutput, error) {
 11057  	req, out := c.UpdateRoutingProfileNameRequest(input)
 11058  	return out, req.Send()
 11059  }
 11060  
 11061  // UpdateRoutingProfileNameWithContext is the same as UpdateRoutingProfileName with the addition of
 11062  // the ability to pass a context and additional request options.
 11063  //
 11064  // See UpdateRoutingProfileName for details on how to use this API operation.
 11065  //
 11066  // The context must be non-nil and will be used for request cancellation. If
 11067  // the context is nil a panic will occur. In the future the SDK may create
 11068  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11069  // for more information on using Contexts.
 11070  func (c *Connect) UpdateRoutingProfileNameWithContext(ctx aws.Context, input *UpdateRoutingProfileNameInput, opts ...request.Option) (*UpdateRoutingProfileNameOutput, error) {
 11071  	req, out := c.UpdateRoutingProfileNameRequest(input)
 11072  	req.SetContext(ctx)
 11073  	req.ApplyOptions(opts...)
 11074  	return out, req.Send()
 11075  }
 11076  
 11077  const opUpdateRoutingProfileQueues = "UpdateRoutingProfileQueues"
 11078  
 11079  // UpdateRoutingProfileQueuesRequest generates a "aws/request.Request" representing the
 11080  // client's request for the UpdateRoutingProfileQueues operation. The "output" return
 11081  // value will be populated with the request's response once the request completes
 11082  // successfully.
 11083  //
 11084  // Use "Send" method on the returned Request to send the API call to the service.
 11085  // the "output" return value is not valid until after Send returns without error.
 11086  //
 11087  // See UpdateRoutingProfileQueues for more information on using the UpdateRoutingProfileQueues
 11088  // API call, and error handling.
 11089  //
 11090  // This method is useful when you want to inject custom logic or configuration
 11091  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11092  //
 11093  //
 11094  //    // Example sending a request using the UpdateRoutingProfileQueuesRequest method.
 11095  //    req, resp := client.UpdateRoutingProfileQueuesRequest(params)
 11096  //
 11097  //    err := req.Send()
 11098  //    if err == nil { // resp is now filled
 11099  //        fmt.Println(resp)
 11100  //    }
 11101  //
 11102  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileQueues
 11103  func (c *Connect) UpdateRoutingProfileQueuesRequest(input *UpdateRoutingProfileQueuesInput) (req *request.Request, output *UpdateRoutingProfileQueuesOutput) {
 11104  	op := &request.Operation{
 11105  		Name:       opUpdateRoutingProfileQueues,
 11106  		HTTPMethod: "POST",
 11107  		HTTPPath:   "/routing-profiles/{InstanceId}/{RoutingProfileId}/queues",
 11108  	}
 11109  
 11110  	if input == nil {
 11111  		input = &UpdateRoutingProfileQueuesInput{}
 11112  	}
 11113  
 11114  	output = &UpdateRoutingProfileQueuesOutput{}
 11115  	req = c.newRequest(op, input, output)
 11116  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11117  	return
 11118  }
 11119  
 11120  // UpdateRoutingProfileQueues API operation for Amazon Connect Service.
 11121  //
 11122  // Updates the properties associated with a set of queues for a routing profile.
 11123  //
 11124  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11125  // with awserr.Error's Code and Message methods to get detailed information about
 11126  // the error.
 11127  //
 11128  // See the AWS API reference guide for Amazon Connect Service's
 11129  // API operation UpdateRoutingProfileQueues for usage and error information.
 11130  //
 11131  // Returned Error Types:
 11132  //   * InvalidRequestException
 11133  //   The request is not valid.
 11134  //
 11135  //   * InvalidParameterException
 11136  //   One or more of the specified parameters are not valid.
 11137  //
 11138  //   * ResourceNotFoundException
 11139  //   The specified resource was not found.
 11140  //
 11141  //   * ThrottlingException
 11142  //   The throttling limit has been exceeded.
 11143  //
 11144  //   * InternalServiceException
 11145  //   Request processing failed because of an error or failure with the service.
 11146  //
 11147  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateRoutingProfileQueues
 11148  func (c *Connect) UpdateRoutingProfileQueues(input *UpdateRoutingProfileQueuesInput) (*UpdateRoutingProfileQueuesOutput, error) {
 11149  	req, out := c.UpdateRoutingProfileQueuesRequest(input)
 11150  	return out, req.Send()
 11151  }
 11152  
 11153  // UpdateRoutingProfileQueuesWithContext is the same as UpdateRoutingProfileQueues with the addition of
 11154  // the ability to pass a context and additional request options.
 11155  //
 11156  // See UpdateRoutingProfileQueues for details on how to use this API operation.
 11157  //
 11158  // The context must be non-nil and will be used for request cancellation. If
 11159  // the context is nil a panic will occur. In the future the SDK may create
 11160  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11161  // for more information on using Contexts.
 11162  func (c *Connect) UpdateRoutingProfileQueuesWithContext(ctx aws.Context, input *UpdateRoutingProfileQueuesInput, opts ...request.Option) (*UpdateRoutingProfileQueuesOutput, error) {
 11163  	req, out := c.UpdateRoutingProfileQueuesRequest(input)
 11164  	req.SetContext(ctx)
 11165  	req.ApplyOptions(opts...)
 11166  	return out, req.Send()
 11167  }
 11168  
 11169  const opUpdateUserHierarchy = "UpdateUserHierarchy"
 11170  
 11171  // UpdateUserHierarchyRequest generates a "aws/request.Request" representing the
 11172  // client's request for the UpdateUserHierarchy operation. The "output" return
 11173  // value will be populated with the request's response once the request completes
 11174  // successfully.
 11175  //
 11176  // Use "Send" method on the returned Request to send the API call to the service.
 11177  // the "output" return value is not valid until after Send returns without error.
 11178  //
 11179  // See UpdateUserHierarchy for more information on using the UpdateUserHierarchy
 11180  // API call, and error handling.
 11181  //
 11182  // This method is useful when you want to inject custom logic or configuration
 11183  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11184  //
 11185  //
 11186  //    // Example sending a request using the UpdateUserHierarchyRequest method.
 11187  //    req, resp := client.UpdateUserHierarchyRequest(params)
 11188  //
 11189  //    err := req.Send()
 11190  //    if err == nil { // resp is now filled
 11191  //        fmt.Println(resp)
 11192  //    }
 11193  //
 11194  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy
 11195  func (c *Connect) UpdateUserHierarchyRequest(input *UpdateUserHierarchyInput) (req *request.Request, output *UpdateUserHierarchyOutput) {
 11196  	op := &request.Operation{
 11197  		Name:       opUpdateUserHierarchy,
 11198  		HTTPMethod: "POST",
 11199  		HTTPPath:   "/users/{InstanceId}/{UserId}/hierarchy",
 11200  	}
 11201  
 11202  	if input == nil {
 11203  		input = &UpdateUserHierarchyInput{}
 11204  	}
 11205  
 11206  	output = &UpdateUserHierarchyOutput{}
 11207  	req = c.newRequest(op, input, output)
 11208  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11209  	return
 11210  }
 11211  
 11212  // UpdateUserHierarchy API operation for Amazon Connect Service.
 11213  //
 11214  // Assigns the specified hierarchy group to the specified user.
 11215  //
 11216  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11217  // with awserr.Error's Code and Message methods to get detailed information about
 11218  // the error.
 11219  //
 11220  // See the AWS API reference guide for Amazon Connect Service's
 11221  // API operation UpdateUserHierarchy for usage and error information.
 11222  //
 11223  // Returned Error Types:
 11224  //   * InvalidRequestException
 11225  //   The request is not valid.
 11226  //
 11227  //   * InvalidParameterException
 11228  //   One or more of the specified parameters are not valid.
 11229  //
 11230  //   * ResourceNotFoundException
 11231  //   The specified resource was not found.
 11232  //
 11233  //   * ThrottlingException
 11234  //   The throttling limit has been exceeded.
 11235  //
 11236  //   * InternalServiceException
 11237  //   Request processing failed because of an error or failure with the service.
 11238  //
 11239  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchy
 11240  func (c *Connect) UpdateUserHierarchy(input *UpdateUserHierarchyInput) (*UpdateUserHierarchyOutput, error) {
 11241  	req, out := c.UpdateUserHierarchyRequest(input)
 11242  	return out, req.Send()
 11243  }
 11244  
 11245  // UpdateUserHierarchyWithContext is the same as UpdateUserHierarchy with the addition of
 11246  // the ability to pass a context and additional request options.
 11247  //
 11248  // See UpdateUserHierarchy for details on how to use this API operation.
 11249  //
 11250  // The context must be non-nil and will be used for request cancellation. If
 11251  // the context is nil a panic will occur. In the future the SDK may create
 11252  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11253  // for more information on using Contexts.
 11254  func (c *Connect) UpdateUserHierarchyWithContext(ctx aws.Context, input *UpdateUserHierarchyInput, opts ...request.Option) (*UpdateUserHierarchyOutput, error) {
 11255  	req, out := c.UpdateUserHierarchyRequest(input)
 11256  	req.SetContext(ctx)
 11257  	req.ApplyOptions(opts...)
 11258  	return out, req.Send()
 11259  }
 11260  
 11261  const opUpdateUserHierarchyGroupName = "UpdateUserHierarchyGroupName"
 11262  
 11263  // UpdateUserHierarchyGroupNameRequest generates a "aws/request.Request" representing the
 11264  // client's request for the UpdateUserHierarchyGroupName operation. The "output" return
 11265  // value will be populated with the request's response once the request completes
 11266  // successfully.
 11267  //
 11268  // Use "Send" method on the returned Request to send the API call to the service.
 11269  // the "output" return value is not valid until after Send returns without error.
 11270  //
 11271  // See UpdateUserHierarchyGroupName for more information on using the UpdateUserHierarchyGroupName
 11272  // API call, and error handling.
 11273  //
 11274  // This method is useful when you want to inject custom logic or configuration
 11275  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11276  //
 11277  //
 11278  //    // Example sending a request using the UpdateUserHierarchyGroupNameRequest method.
 11279  //    req, resp := client.UpdateUserHierarchyGroupNameRequest(params)
 11280  //
 11281  //    err := req.Send()
 11282  //    if err == nil { // resp is now filled
 11283  //        fmt.Println(resp)
 11284  //    }
 11285  //
 11286  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyGroupName
 11287  func (c *Connect) UpdateUserHierarchyGroupNameRequest(input *UpdateUserHierarchyGroupNameInput) (req *request.Request, output *UpdateUserHierarchyGroupNameOutput) {
 11288  	op := &request.Operation{
 11289  		Name:       opUpdateUserHierarchyGroupName,
 11290  		HTTPMethod: "POST",
 11291  		HTTPPath:   "/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}/name",
 11292  	}
 11293  
 11294  	if input == nil {
 11295  		input = &UpdateUserHierarchyGroupNameInput{}
 11296  	}
 11297  
 11298  	output = &UpdateUserHierarchyGroupNameOutput{}
 11299  	req = c.newRequest(op, input, output)
 11300  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11301  	return
 11302  }
 11303  
 11304  // UpdateUserHierarchyGroupName API operation for Amazon Connect Service.
 11305  //
 11306  // Updates the name of the user hierarchy group.
 11307  //
 11308  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11309  // with awserr.Error's Code and Message methods to get detailed information about
 11310  // the error.
 11311  //
 11312  // See the AWS API reference guide for Amazon Connect Service's
 11313  // API operation UpdateUserHierarchyGroupName for usage and error information.
 11314  //
 11315  // Returned Error Types:
 11316  //   * InvalidRequestException
 11317  //   The request is not valid.
 11318  //
 11319  //   * InvalidParameterException
 11320  //   One or more of the specified parameters are not valid.
 11321  //
 11322  //   * DuplicateResourceException
 11323  //   A resource with the specified name already exists.
 11324  //
 11325  //   * ResourceNotFoundException
 11326  //   The specified resource was not found.
 11327  //
 11328  //   * ThrottlingException
 11329  //   The throttling limit has been exceeded.
 11330  //
 11331  //   * InternalServiceException
 11332  //   Request processing failed because of an error or failure with the service.
 11333  //
 11334  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyGroupName
 11335  func (c *Connect) UpdateUserHierarchyGroupName(input *UpdateUserHierarchyGroupNameInput) (*UpdateUserHierarchyGroupNameOutput, error) {
 11336  	req, out := c.UpdateUserHierarchyGroupNameRequest(input)
 11337  	return out, req.Send()
 11338  }
 11339  
 11340  // UpdateUserHierarchyGroupNameWithContext is the same as UpdateUserHierarchyGroupName with the addition of
 11341  // the ability to pass a context and additional request options.
 11342  //
 11343  // See UpdateUserHierarchyGroupName for details on how to use this API operation.
 11344  //
 11345  // The context must be non-nil and will be used for request cancellation. If
 11346  // the context is nil a panic will occur. In the future the SDK may create
 11347  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11348  // for more information on using Contexts.
 11349  func (c *Connect) UpdateUserHierarchyGroupNameWithContext(ctx aws.Context, input *UpdateUserHierarchyGroupNameInput, opts ...request.Option) (*UpdateUserHierarchyGroupNameOutput, error) {
 11350  	req, out := c.UpdateUserHierarchyGroupNameRequest(input)
 11351  	req.SetContext(ctx)
 11352  	req.ApplyOptions(opts...)
 11353  	return out, req.Send()
 11354  }
 11355  
 11356  const opUpdateUserHierarchyStructure = "UpdateUserHierarchyStructure"
 11357  
 11358  // UpdateUserHierarchyStructureRequest generates a "aws/request.Request" representing the
 11359  // client's request for the UpdateUserHierarchyStructure operation. The "output" return
 11360  // value will be populated with the request's response once the request completes
 11361  // successfully.
 11362  //
 11363  // Use "Send" method on the returned Request to send the API call to the service.
 11364  // the "output" return value is not valid until after Send returns without error.
 11365  //
 11366  // See UpdateUserHierarchyStructure for more information on using the UpdateUserHierarchyStructure
 11367  // API call, and error handling.
 11368  //
 11369  // This method is useful when you want to inject custom logic or configuration
 11370  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11371  //
 11372  //
 11373  //    // Example sending a request using the UpdateUserHierarchyStructureRequest method.
 11374  //    req, resp := client.UpdateUserHierarchyStructureRequest(params)
 11375  //
 11376  //    err := req.Send()
 11377  //    if err == nil { // resp is now filled
 11378  //        fmt.Println(resp)
 11379  //    }
 11380  //
 11381  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyStructure
 11382  func (c *Connect) UpdateUserHierarchyStructureRequest(input *UpdateUserHierarchyStructureInput) (req *request.Request, output *UpdateUserHierarchyStructureOutput) {
 11383  	op := &request.Operation{
 11384  		Name:       opUpdateUserHierarchyStructure,
 11385  		HTTPMethod: "POST",
 11386  		HTTPPath:   "/user-hierarchy-structure/{InstanceId}",
 11387  	}
 11388  
 11389  	if input == nil {
 11390  		input = &UpdateUserHierarchyStructureInput{}
 11391  	}
 11392  
 11393  	output = &UpdateUserHierarchyStructureOutput{}
 11394  	req = c.newRequest(op, input, output)
 11395  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11396  	return
 11397  }
 11398  
 11399  // UpdateUserHierarchyStructure API operation for Amazon Connect Service.
 11400  //
 11401  // Updates the user hierarchy structure: add, remove, and rename user hierarchy
 11402  // levels.
 11403  //
 11404  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11405  // with awserr.Error's Code and Message methods to get detailed information about
 11406  // the error.
 11407  //
 11408  // See the AWS API reference guide for Amazon Connect Service's
 11409  // API operation UpdateUserHierarchyStructure for usage and error information.
 11410  //
 11411  // Returned Error Types:
 11412  //   * InvalidRequestException
 11413  //   The request is not valid.
 11414  //
 11415  //   * InvalidParameterException
 11416  //   One or more of the specified parameters are not valid.
 11417  //
 11418  //   * ResourceNotFoundException
 11419  //   The specified resource was not found.
 11420  //
 11421  //   * ResourceInUseException
 11422  //   That resource is already in use. Please try another.
 11423  //
 11424  //   * ThrottlingException
 11425  //   The throttling limit has been exceeded.
 11426  //
 11427  //   * InternalServiceException
 11428  //   Request processing failed because of an error or failure with the service.
 11429  //
 11430  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserHierarchyStructure
 11431  func (c *Connect) UpdateUserHierarchyStructure(input *UpdateUserHierarchyStructureInput) (*UpdateUserHierarchyStructureOutput, error) {
 11432  	req, out := c.UpdateUserHierarchyStructureRequest(input)
 11433  	return out, req.Send()
 11434  }
 11435  
 11436  // UpdateUserHierarchyStructureWithContext is the same as UpdateUserHierarchyStructure with the addition of
 11437  // the ability to pass a context and additional request options.
 11438  //
 11439  // See UpdateUserHierarchyStructure for details on how to use this API operation.
 11440  //
 11441  // The context must be non-nil and will be used for request cancellation. If
 11442  // the context is nil a panic will occur. In the future the SDK may create
 11443  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11444  // for more information on using Contexts.
 11445  func (c *Connect) UpdateUserHierarchyStructureWithContext(ctx aws.Context, input *UpdateUserHierarchyStructureInput, opts ...request.Option) (*UpdateUserHierarchyStructureOutput, error) {
 11446  	req, out := c.UpdateUserHierarchyStructureRequest(input)
 11447  	req.SetContext(ctx)
 11448  	req.ApplyOptions(opts...)
 11449  	return out, req.Send()
 11450  }
 11451  
 11452  const opUpdateUserIdentityInfo = "UpdateUserIdentityInfo"
 11453  
 11454  // UpdateUserIdentityInfoRequest generates a "aws/request.Request" representing the
 11455  // client's request for the UpdateUserIdentityInfo operation. The "output" return
 11456  // value will be populated with the request's response once the request completes
 11457  // successfully.
 11458  //
 11459  // Use "Send" method on the returned Request to send the API call to the service.
 11460  // the "output" return value is not valid until after Send returns without error.
 11461  //
 11462  // See UpdateUserIdentityInfo for more information on using the UpdateUserIdentityInfo
 11463  // API call, and error handling.
 11464  //
 11465  // This method is useful when you want to inject custom logic or configuration
 11466  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11467  //
 11468  //
 11469  //    // Example sending a request using the UpdateUserIdentityInfoRequest method.
 11470  //    req, resp := client.UpdateUserIdentityInfoRequest(params)
 11471  //
 11472  //    err := req.Send()
 11473  //    if err == nil { // resp is now filled
 11474  //        fmt.Println(resp)
 11475  //    }
 11476  //
 11477  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo
 11478  func (c *Connect) UpdateUserIdentityInfoRequest(input *UpdateUserIdentityInfoInput) (req *request.Request, output *UpdateUserIdentityInfoOutput) {
 11479  	op := &request.Operation{
 11480  		Name:       opUpdateUserIdentityInfo,
 11481  		HTTPMethod: "POST",
 11482  		HTTPPath:   "/users/{InstanceId}/{UserId}/identity-info",
 11483  	}
 11484  
 11485  	if input == nil {
 11486  		input = &UpdateUserIdentityInfoInput{}
 11487  	}
 11488  
 11489  	output = &UpdateUserIdentityInfoOutput{}
 11490  	req = c.newRequest(op, input, output)
 11491  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11492  	return
 11493  }
 11494  
 11495  // UpdateUserIdentityInfo API operation for Amazon Connect Service.
 11496  //
 11497  // Updates the identity information for the specified user.
 11498  //
 11499  // We strongly recommend limiting who has the ability to invoke UpdateUserIdentityInfo.
 11500  // Someone with that ability can change the login credentials of other users
 11501  // by changing their email address. This poses a security risk to your organization.
 11502  // They can change the email address of a user to the attacker's email address,
 11503  // and then reset the password through email. For more information, see Best
 11504  // Practices for Security Profiles (https://docs.aws.amazon.com/connect/latest/adminguide/security-profile-best-practices.html)
 11505  // in the Amazon Connect Administrator Guide.
 11506  //
 11507  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11508  // with awserr.Error's Code and Message methods to get detailed information about
 11509  // the error.
 11510  //
 11511  // See the AWS API reference guide for Amazon Connect Service's
 11512  // API operation UpdateUserIdentityInfo for usage and error information.
 11513  //
 11514  // Returned Error Types:
 11515  //   * InvalidRequestException
 11516  //   The request is not valid.
 11517  //
 11518  //   * InvalidParameterException
 11519  //   One or more of the specified parameters are not valid.
 11520  //
 11521  //   * ResourceNotFoundException
 11522  //   The specified resource was not found.
 11523  //
 11524  //   * ThrottlingException
 11525  //   The throttling limit has been exceeded.
 11526  //
 11527  //   * InternalServiceException
 11528  //   Request processing failed because of an error or failure with the service.
 11529  //
 11530  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserIdentityInfo
 11531  func (c *Connect) UpdateUserIdentityInfo(input *UpdateUserIdentityInfoInput) (*UpdateUserIdentityInfoOutput, error) {
 11532  	req, out := c.UpdateUserIdentityInfoRequest(input)
 11533  	return out, req.Send()
 11534  }
 11535  
 11536  // UpdateUserIdentityInfoWithContext is the same as UpdateUserIdentityInfo with the addition of
 11537  // the ability to pass a context and additional request options.
 11538  //
 11539  // See UpdateUserIdentityInfo for details on how to use this API operation.
 11540  //
 11541  // The context must be non-nil and will be used for request cancellation. If
 11542  // the context is nil a panic will occur. In the future the SDK may create
 11543  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11544  // for more information on using Contexts.
 11545  func (c *Connect) UpdateUserIdentityInfoWithContext(ctx aws.Context, input *UpdateUserIdentityInfoInput, opts ...request.Option) (*UpdateUserIdentityInfoOutput, error) {
 11546  	req, out := c.UpdateUserIdentityInfoRequest(input)
 11547  	req.SetContext(ctx)
 11548  	req.ApplyOptions(opts...)
 11549  	return out, req.Send()
 11550  }
 11551  
 11552  const opUpdateUserPhoneConfig = "UpdateUserPhoneConfig"
 11553  
 11554  // UpdateUserPhoneConfigRequest generates a "aws/request.Request" representing the
 11555  // client's request for the UpdateUserPhoneConfig operation. The "output" return
 11556  // value will be populated with the request's response once the request completes
 11557  // successfully.
 11558  //
 11559  // Use "Send" method on the returned Request to send the API call to the service.
 11560  // the "output" return value is not valid until after Send returns without error.
 11561  //
 11562  // See UpdateUserPhoneConfig for more information on using the UpdateUserPhoneConfig
 11563  // API call, and error handling.
 11564  //
 11565  // This method is useful when you want to inject custom logic or configuration
 11566  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11567  //
 11568  //
 11569  //    // Example sending a request using the UpdateUserPhoneConfigRequest method.
 11570  //    req, resp := client.UpdateUserPhoneConfigRequest(params)
 11571  //
 11572  //    err := req.Send()
 11573  //    if err == nil { // resp is now filled
 11574  //        fmt.Println(resp)
 11575  //    }
 11576  //
 11577  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig
 11578  func (c *Connect) UpdateUserPhoneConfigRequest(input *UpdateUserPhoneConfigInput) (req *request.Request, output *UpdateUserPhoneConfigOutput) {
 11579  	op := &request.Operation{
 11580  		Name:       opUpdateUserPhoneConfig,
 11581  		HTTPMethod: "POST",
 11582  		HTTPPath:   "/users/{InstanceId}/{UserId}/phone-config",
 11583  	}
 11584  
 11585  	if input == nil {
 11586  		input = &UpdateUserPhoneConfigInput{}
 11587  	}
 11588  
 11589  	output = &UpdateUserPhoneConfigOutput{}
 11590  	req = c.newRequest(op, input, output)
 11591  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11592  	return
 11593  }
 11594  
 11595  // UpdateUserPhoneConfig API operation for Amazon Connect Service.
 11596  //
 11597  // Updates the phone configuration settings for the specified user.
 11598  //
 11599  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11600  // with awserr.Error's Code and Message methods to get detailed information about
 11601  // the error.
 11602  //
 11603  // See the AWS API reference guide for Amazon Connect Service's
 11604  // API operation UpdateUserPhoneConfig for usage and error information.
 11605  //
 11606  // Returned Error Types:
 11607  //   * InvalidRequestException
 11608  //   The request is not valid.
 11609  //
 11610  //   * InvalidParameterException
 11611  //   One or more of the specified parameters are not valid.
 11612  //
 11613  //   * ResourceNotFoundException
 11614  //   The specified resource was not found.
 11615  //
 11616  //   * ThrottlingException
 11617  //   The throttling limit has been exceeded.
 11618  //
 11619  //   * InternalServiceException
 11620  //   Request processing failed because of an error or failure with the service.
 11621  //
 11622  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserPhoneConfig
 11623  func (c *Connect) UpdateUserPhoneConfig(input *UpdateUserPhoneConfigInput) (*UpdateUserPhoneConfigOutput, error) {
 11624  	req, out := c.UpdateUserPhoneConfigRequest(input)
 11625  	return out, req.Send()
 11626  }
 11627  
 11628  // UpdateUserPhoneConfigWithContext is the same as UpdateUserPhoneConfig with the addition of
 11629  // the ability to pass a context and additional request options.
 11630  //
 11631  // See UpdateUserPhoneConfig for details on how to use this API operation.
 11632  //
 11633  // The context must be non-nil and will be used for request cancellation. If
 11634  // the context is nil a panic will occur. In the future the SDK may create
 11635  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11636  // for more information on using Contexts.
 11637  func (c *Connect) UpdateUserPhoneConfigWithContext(ctx aws.Context, input *UpdateUserPhoneConfigInput, opts ...request.Option) (*UpdateUserPhoneConfigOutput, error) {
 11638  	req, out := c.UpdateUserPhoneConfigRequest(input)
 11639  	req.SetContext(ctx)
 11640  	req.ApplyOptions(opts...)
 11641  	return out, req.Send()
 11642  }
 11643  
 11644  const opUpdateUserRoutingProfile = "UpdateUserRoutingProfile"
 11645  
 11646  // UpdateUserRoutingProfileRequest generates a "aws/request.Request" representing the
 11647  // client's request for the UpdateUserRoutingProfile operation. The "output" return
 11648  // value will be populated with the request's response once the request completes
 11649  // successfully.
 11650  //
 11651  // Use "Send" method on the returned Request to send the API call to the service.
 11652  // the "output" return value is not valid until after Send returns without error.
 11653  //
 11654  // See UpdateUserRoutingProfile for more information on using the UpdateUserRoutingProfile
 11655  // API call, and error handling.
 11656  //
 11657  // This method is useful when you want to inject custom logic or configuration
 11658  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11659  //
 11660  //
 11661  //    // Example sending a request using the UpdateUserRoutingProfileRequest method.
 11662  //    req, resp := client.UpdateUserRoutingProfileRequest(params)
 11663  //
 11664  //    err := req.Send()
 11665  //    if err == nil { // resp is now filled
 11666  //        fmt.Println(resp)
 11667  //    }
 11668  //
 11669  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile
 11670  func (c *Connect) UpdateUserRoutingProfileRequest(input *UpdateUserRoutingProfileInput) (req *request.Request, output *UpdateUserRoutingProfileOutput) {
 11671  	op := &request.Operation{
 11672  		Name:       opUpdateUserRoutingProfile,
 11673  		HTTPMethod: "POST",
 11674  		HTTPPath:   "/users/{InstanceId}/{UserId}/routing-profile",
 11675  	}
 11676  
 11677  	if input == nil {
 11678  		input = &UpdateUserRoutingProfileInput{}
 11679  	}
 11680  
 11681  	output = &UpdateUserRoutingProfileOutput{}
 11682  	req = c.newRequest(op, input, output)
 11683  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11684  	return
 11685  }
 11686  
 11687  // UpdateUserRoutingProfile API operation for Amazon Connect Service.
 11688  //
 11689  // Assigns the specified routing profile to the specified user.
 11690  //
 11691  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11692  // with awserr.Error's Code and Message methods to get detailed information about
 11693  // the error.
 11694  //
 11695  // See the AWS API reference guide for Amazon Connect Service's
 11696  // API operation UpdateUserRoutingProfile for usage and error information.
 11697  //
 11698  // Returned Error Types:
 11699  //   * InvalidRequestException
 11700  //   The request is not valid.
 11701  //
 11702  //   * InvalidParameterException
 11703  //   One or more of the specified parameters are not valid.
 11704  //
 11705  //   * ResourceNotFoundException
 11706  //   The specified resource was not found.
 11707  //
 11708  //   * ThrottlingException
 11709  //   The throttling limit has been exceeded.
 11710  //
 11711  //   * InternalServiceException
 11712  //   Request processing failed because of an error or failure with the service.
 11713  //
 11714  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserRoutingProfile
 11715  func (c *Connect) UpdateUserRoutingProfile(input *UpdateUserRoutingProfileInput) (*UpdateUserRoutingProfileOutput, error) {
 11716  	req, out := c.UpdateUserRoutingProfileRequest(input)
 11717  	return out, req.Send()
 11718  }
 11719  
 11720  // UpdateUserRoutingProfileWithContext is the same as UpdateUserRoutingProfile with the addition of
 11721  // the ability to pass a context and additional request options.
 11722  //
 11723  // See UpdateUserRoutingProfile for details on how to use this API operation.
 11724  //
 11725  // The context must be non-nil and will be used for request cancellation. If
 11726  // the context is nil a panic will occur. In the future the SDK may create
 11727  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11728  // for more information on using Contexts.
 11729  func (c *Connect) UpdateUserRoutingProfileWithContext(ctx aws.Context, input *UpdateUserRoutingProfileInput, opts ...request.Option) (*UpdateUserRoutingProfileOutput, error) {
 11730  	req, out := c.UpdateUserRoutingProfileRequest(input)
 11731  	req.SetContext(ctx)
 11732  	req.ApplyOptions(opts...)
 11733  	return out, req.Send()
 11734  }
 11735  
 11736  const opUpdateUserSecurityProfiles = "UpdateUserSecurityProfiles"
 11737  
 11738  // UpdateUserSecurityProfilesRequest generates a "aws/request.Request" representing the
 11739  // client's request for the UpdateUserSecurityProfiles operation. The "output" return
 11740  // value will be populated with the request's response once the request completes
 11741  // successfully.
 11742  //
 11743  // Use "Send" method on the returned Request to send the API call to the service.
 11744  // the "output" return value is not valid until after Send returns without error.
 11745  //
 11746  // See UpdateUserSecurityProfiles for more information on using the UpdateUserSecurityProfiles
 11747  // API call, and error handling.
 11748  //
 11749  // This method is useful when you want to inject custom logic or configuration
 11750  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11751  //
 11752  //
 11753  //    // Example sending a request using the UpdateUserSecurityProfilesRequest method.
 11754  //    req, resp := client.UpdateUserSecurityProfilesRequest(params)
 11755  //
 11756  //    err := req.Send()
 11757  //    if err == nil { // resp is now filled
 11758  //        fmt.Println(resp)
 11759  //    }
 11760  //
 11761  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles
 11762  func (c *Connect) UpdateUserSecurityProfilesRequest(input *UpdateUserSecurityProfilesInput) (req *request.Request, output *UpdateUserSecurityProfilesOutput) {
 11763  	op := &request.Operation{
 11764  		Name:       opUpdateUserSecurityProfiles,
 11765  		HTTPMethod: "POST",
 11766  		HTTPPath:   "/users/{InstanceId}/{UserId}/security-profiles",
 11767  	}
 11768  
 11769  	if input == nil {
 11770  		input = &UpdateUserSecurityProfilesInput{}
 11771  	}
 11772  
 11773  	output = &UpdateUserSecurityProfilesOutput{}
 11774  	req = c.newRequest(op, input, output)
 11775  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 11776  	return
 11777  }
 11778  
 11779  // UpdateUserSecurityProfiles API operation for Amazon Connect Service.
 11780  //
 11781  // Assigns the specified security profiles to the specified user.
 11782  //
 11783  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11784  // with awserr.Error's Code and Message methods to get detailed information about
 11785  // the error.
 11786  //
 11787  // See the AWS API reference guide for Amazon Connect Service's
 11788  // API operation UpdateUserSecurityProfiles for usage and error information.
 11789  //
 11790  // Returned Error Types:
 11791  //   * InvalidRequestException
 11792  //   The request is not valid.
 11793  //
 11794  //   * InvalidParameterException
 11795  //   One or more of the specified parameters are not valid.
 11796  //
 11797  //   * ResourceNotFoundException
 11798  //   The specified resource was not found.
 11799  //
 11800  //   * ThrottlingException
 11801  //   The throttling limit has been exceeded.
 11802  //
 11803  //   * InternalServiceException
 11804  //   Request processing failed because of an error or failure with the service.
 11805  //
 11806  // See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateUserSecurityProfiles
 11807  func (c *Connect) UpdateUserSecurityProfiles(input *UpdateUserSecurityProfilesInput) (*UpdateUserSecurityProfilesOutput, error) {
 11808  	req, out := c.UpdateUserSecurityProfilesRequest(input)
 11809  	return out, req.Send()
 11810  }
 11811  
 11812  // UpdateUserSecurityProfilesWithContext is the same as UpdateUserSecurityProfiles with the addition of
 11813  // the ability to pass a context and additional request options.
 11814  //
 11815  // See UpdateUserSecurityProfiles for details on how to use this API operation.
 11816  //
 11817  // The context must be non-nil and will be used for request cancellation. If
 11818  // the context is nil a panic will occur. In the future the SDK may create
 11819  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11820  // for more information on using Contexts.
 11821  func (c *Connect) UpdateUserSecurityProfilesWithContext(ctx aws.Context, input *UpdateUserSecurityProfilesInput, opts ...request.Option) (*UpdateUserSecurityProfilesOutput, error) {
 11822  	req, out := c.UpdateUserSecurityProfilesRequest(input)
 11823  	req.SetContext(ctx)
 11824  	req.ApplyOptions(opts...)
 11825  	return out, req.Send()
 11826  }
 11827  
 11828  // Contains information about an agent status.
 11829  type AgentStatus struct {
 11830  	_ struct{} `type:"structure"`
 11831  
 11832  	// The Amazon Resource Name (ARN) of the agent status.
 11833  	AgentStatusARN *string `type:"string"`
 11834  
 11835  	// The identifier of the agent status.
 11836  	AgentStatusId *string `type:"string"`
 11837  
 11838  	// The description of the agent status.
 11839  	Description *string `min:"1" type:"string"`
 11840  
 11841  	// The display order of the agent status.
 11842  	DisplayOrder *int64 `min:"1" type:"integer"`
 11843  
 11844  	// The name of the agent status.
 11845  	Name *string `min:"1" type:"string"`
 11846  
 11847  	// The state of the agent status.
 11848  	State *string `type:"string" enum:"AgentStatusState"`
 11849  
 11850  	// One or more tags.
 11851  	Tags map[string]*string `min:"1" type:"map"`
 11852  
 11853  	// The type of agent status.
 11854  	Type *string `type:"string" enum:"AgentStatusType"`
 11855  }
 11856  
 11857  // String returns the string representation.
 11858  //
 11859  // API parameter values that are decorated as "sensitive" in the API will not
 11860  // be included in the string output. The member name will be present, but the
 11861  // value will be replaced with "sensitive".
 11862  func (s AgentStatus) String() string {
 11863  	return awsutil.Prettify(s)
 11864  }
 11865  
 11866  // GoString returns the string representation.
 11867  //
 11868  // API parameter values that are decorated as "sensitive" in the API will not
 11869  // be included in the string output. The member name will be present, but the
 11870  // value will be replaced with "sensitive".
 11871  func (s AgentStatus) GoString() string {
 11872  	return s.String()
 11873  }
 11874  
 11875  // SetAgentStatusARN sets the AgentStatusARN field's value.
 11876  func (s *AgentStatus) SetAgentStatusARN(v string) *AgentStatus {
 11877  	s.AgentStatusARN = &v
 11878  	return s
 11879  }
 11880  
 11881  // SetAgentStatusId sets the AgentStatusId field's value.
 11882  func (s *AgentStatus) SetAgentStatusId(v string) *AgentStatus {
 11883  	s.AgentStatusId = &v
 11884  	return s
 11885  }
 11886  
 11887  // SetDescription sets the Description field's value.
 11888  func (s *AgentStatus) SetDescription(v string) *AgentStatus {
 11889  	s.Description = &v
 11890  	return s
 11891  }
 11892  
 11893  // SetDisplayOrder sets the DisplayOrder field's value.
 11894  func (s *AgentStatus) SetDisplayOrder(v int64) *AgentStatus {
 11895  	s.DisplayOrder = &v
 11896  	return s
 11897  }
 11898  
 11899  // SetName sets the Name field's value.
 11900  func (s *AgentStatus) SetName(v string) *AgentStatus {
 11901  	s.Name = &v
 11902  	return s
 11903  }
 11904  
 11905  // SetState sets the State field's value.
 11906  func (s *AgentStatus) SetState(v string) *AgentStatus {
 11907  	s.State = &v
 11908  	return s
 11909  }
 11910  
 11911  // SetTags sets the Tags field's value.
 11912  func (s *AgentStatus) SetTags(v map[string]*string) *AgentStatus {
 11913  	s.Tags = v
 11914  	return s
 11915  }
 11916  
 11917  // SetType sets the Type field's value.
 11918  func (s *AgentStatus) SetType(v string) *AgentStatus {
 11919  	s.Type = &v
 11920  	return s
 11921  }
 11922  
 11923  // Summary information for an agent status.
 11924  type AgentStatusSummary struct {
 11925  	_ struct{} `type:"structure"`
 11926  
 11927  	// The Amazon Resource Name (ARN) for the agent status.
 11928  	Arn *string `type:"string"`
 11929  
 11930  	// The identifier for an agent status.
 11931  	Id *string `type:"string"`
 11932  
 11933  	// The name of the agent status.
 11934  	Name *string `min:"1" type:"string"`
 11935  
 11936  	// The type of the agent status.
 11937  	Type *string `type:"string" enum:"AgentStatusType"`
 11938  }
 11939  
 11940  // String returns the string representation.
 11941  //
 11942  // API parameter values that are decorated as "sensitive" in the API will not
 11943  // be included in the string output. The member name will be present, but the
 11944  // value will be replaced with "sensitive".
 11945  func (s AgentStatusSummary) String() string {
 11946  	return awsutil.Prettify(s)
 11947  }
 11948  
 11949  // GoString returns the string representation.
 11950  //
 11951  // API parameter values that are decorated as "sensitive" in the API will not
 11952  // be included in the string output. The member name will be present, but the
 11953  // value will be replaced with "sensitive".
 11954  func (s AgentStatusSummary) GoString() string {
 11955  	return s.String()
 11956  }
 11957  
 11958  // SetArn sets the Arn field's value.
 11959  func (s *AgentStatusSummary) SetArn(v string) *AgentStatusSummary {
 11960  	s.Arn = &v
 11961  	return s
 11962  }
 11963  
 11964  // SetId sets the Id field's value.
 11965  func (s *AgentStatusSummary) SetId(v string) *AgentStatusSummary {
 11966  	s.Id = &v
 11967  	return s
 11968  }
 11969  
 11970  // SetName sets the Name field's value.
 11971  func (s *AgentStatusSummary) SetName(v string) *AgentStatusSummary {
 11972  	s.Name = &v
 11973  	return s
 11974  }
 11975  
 11976  // SetType sets the Type field's value.
 11977  func (s *AgentStatusSummary) SetType(v string) *AgentStatusSummary {
 11978  	s.Type = &v
 11979  	return s
 11980  }
 11981  
 11982  // Configuration of the answering machine detection.
 11983  type AnswerMachineDetectionConfig struct {
 11984  	_ struct{} `type:"structure"`
 11985  
 11986  	// Wait for the answering machine prompt.
 11987  	AwaitAnswerMachinePrompt *bool `type:"boolean"`
 11988  
 11989  	// The flag to indicate if answer machine detection analysis needs to be performed
 11990  	// for a voice call. If set to true, TrafficType must be set as CAMPAIGN.
 11991  	EnableAnswerMachineDetection *bool `type:"boolean"`
 11992  }
 11993  
 11994  // String returns the string representation.
 11995  //
 11996  // API parameter values that are decorated as "sensitive" in the API will not
 11997  // be included in the string output. The member name will be present, but the
 11998  // value will be replaced with "sensitive".
 11999  func (s AnswerMachineDetectionConfig) String() string {
 12000  	return awsutil.Prettify(s)
 12001  }
 12002  
 12003  // GoString returns the string representation.
 12004  //
 12005  // API parameter values that are decorated as "sensitive" in the API will not
 12006  // be included in the string output. The member name will be present, but the
 12007  // value will be replaced with "sensitive".
 12008  func (s AnswerMachineDetectionConfig) GoString() string {
 12009  	return s.String()
 12010  }
 12011  
 12012  // SetAwaitAnswerMachinePrompt sets the AwaitAnswerMachinePrompt field's value.
 12013  func (s *AnswerMachineDetectionConfig) SetAwaitAnswerMachinePrompt(v bool) *AnswerMachineDetectionConfig {
 12014  	s.AwaitAnswerMachinePrompt = &v
 12015  	return s
 12016  }
 12017  
 12018  // SetEnableAnswerMachineDetection sets the EnableAnswerMachineDetection field's value.
 12019  func (s *AnswerMachineDetectionConfig) SetEnableAnswerMachineDetection(v bool) *AnswerMachineDetectionConfig {
 12020  	s.EnableAnswerMachineDetection = &v
 12021  	return s
 12022  }
 12023  
 12024  type AssociateApprovedOriginInput struct {
 12025  	_ struct{} `type:"structure"`
 12026  
 12027  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12028  	// in the ARN of the instance.
 12029  	//
 12030  	// InstanceId is a required field
 12031  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12032  
 12033  	// The domain to add to your allow list.
 12034  	//
 12035  	// Origin is a required field
 12036  	Origin *string `type:"string" required:"true"`
 12037  }
 12038  
 12039  // String returns the string representation.
 12040  //
 12041  // API parameter values that are decorated as "sensitive" in the API will not
 12042  // be included in the string output. The member name will be present, but the
 12043  // value will be replaced with "sensitive".
 12044  func (s AssociateApprovedOriginInput) String() string {
 12045  	return awsutil.Prettify(s)
 12046  }
 12047  
 12048  // GoString returns the string representation.
 12049  //
 12050  // API parameter values that are decorated as "sensitive" in the API will not
 12051  // be included in the string output. The member name will be present, but the
 12052  // value will be replaced with "sensitive".
 12053  func (s AssociateApprovedOriginInput) GoString() string {
 12054  	return s.String()
 12055  }
 12056  
 12057  // Validate inspects the fields of the type to determine if they are valid.
 12058  func (s *AssociateApprovedOriginInput) Validate() error {
 12059  	invalidParams := request.ErrInvalidParams{Context: "AssociateApprovedOriginInput"}
 12060  	if s.InstanceId == nil {
 12061  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12062  	}
 12063  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12064  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12065  	}
 12066  	if s.Origin == nil {
 12067  		invalidParams.Add(request.NewErrParamRequired("Origin"))
 12068  	}
 12069  
 12070  	if invalidParams.Len() > 0 {
 12071  		return invalidParams
 12072  	}
 12073  	return nil
 12074  }
 12075  
 12076  // SetInstanceId sets the InstanceId field's value.
 12077  func (s *AssociateApprovedOriginInput) SetInstanceId(v string) *AssociateApprovedOriginInput {
 12078  	s.InstanceId = &v
 12079  	return s
 12080  }
 12081  
 12082  // SetOrigin sets the Origin field's value.
 12083  func (s *AssociateApprovedOriginInput) SetOrigin(v string) *AssociateApprovedOriginInput {
 12084  	s.Origin = &v
 12085  	return s
 12086  }
 12087  
 12088  type AssociateApprovedOriginOutput struct {
 12089  	_ struct{} `type:"structure" nopayload:"true"`
 12090  }
 12091  
 12092  // String returns the string representation.
 12093  //
 12094  // API parameter values that are decorated as "sensitive" in the API will not
 12095  // be included in the string output. The member name will be present, but the
 12096  // value will be replaced with "sensitive".
 12097  func (s AssociateApprovedOriginOutput) String() string {
 12098  	return awsutil.Prettify(s)
 12099  }
 12100  
 12101  // GoString returns the string representation.
 12102  //
 12103  // API parameter values that are decorated as "sensitive" in the API will not
 12104  // be included in the string output. The member name will be present, but the
 12105  // value will be replaced with "sensitive".
 12106  func (s AssociateApprovedOriginOutput) GoString() string {
 12107  	return s.String()
 12108  }
 12109  
 12110  type AssociateBotInput struct {
 12111  	_ struct{} `type:"structure"`
 12112  
 12113  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12114  	// in the ARN of the instance.
 12115  	//
 12116  	// InstanceId is a required field
 12117  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12118  
 12119  	// Configuration information of an Amazon Lex bot.
 12120  	LexBot *LexBot `type:"structure"`
 12121  
 12122  	// The Amazon Lex V2 bot to associate with the instance.
 12123  	LexV2Bot *LexV2Bot `type:"structure"`
 12124  }
 12125  
 12126  // String returns the string representation.
 12127  //
 12128  // API parameter values that are decorated as "sensitive" in the API will not
 12129  // be included in the string output. The member name will be present, but the
 12130  // value will be replaced with "sensitive".
 12131  func (s AssociateBotInput) String() string {
 12132  	return awsutil.Prettify(s)
 12133  }
 12134  
 12135  // GoString returns the string representation.
 12136  //
 12137  // API parameter values that are decorated as "sensitive" in the API will not
 12138  // be included in the string output. The member name will be present, but the
 12139  // value will be replaced with "sensitive".
 12140  func (s AssociateBotInput) GoString() string {
 12141  	return s.String()
 12142  }
 12143  
 12144  // Validate inspects the fields of the type to determine if they are valid.
 12145  func (s *AssociateBotInput) Validate() error {
 12146  	invalidParams := request.ErrInvalidParams{Context: "AssociateBotInput"}
 12147  	if s.InstanceId == nil {
 12148  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12149  	}
 12150  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12151  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12152  	}
 12153  	if s.LexV2Bot != nil {
 12154  		if err := s.LexV2Bot.Validate(); err != nil {
 12155  			invalidParams.AddNested("LexV2Bot", err.(request.ErrInvalidParams))
 12156  		}
 12157  	}
 12158  
 12159  	if invalidParams.Len() > 0 {
 12160  		return invalidParams
 12161  	}
 12162  	return nil
 12163  }
 12164  
 12165  // SetInstanceId sets the InstanceId field's value.
 12166  func (s *AssociateBotInput) SetInstanceId(v string) *AssociateBotInput {
 12167  	s.InstanceId = &v
 12168  	return s
 12169  }
 12170  
 12171  // SetLexBot sets the LexBot field's value.
 12172  func (s *AssociateBotInput) SetLexBot(v *LexBot) *AssociateBotInput {
 12173  	s.LexBot = v
 12174  	return s
 12175  }
 12176  
 12177  // SetLexV2Bot sets the LexV2Bot field's value.
 12178  func (s *AssociateBotInput) SetLexV2Bot(v *LexV2Bot) *AssociateBotInput {
 12179  	s.LexV2Bot = v
 12180  	return s
 12181  }
 12182  
 12183  type AssociateBotOutput struct {
 12184  	_ struct{} `type:"structure" nopayload:"true"`
 12185  }
 12186  
 12187  // String returns the string representation.
 12188  //
 12189  // API parameter values that are decorated as "sensitive" in the API will not
 12190  // be included in the string output. The member name will be present, but the
 12191  // value will be replaced with "sensitive".
 12192  func (s AssociateBotOutput) String() string {
 12193  	return awsutil.Prettify(s)
 12194  }
 12195  
 12196  // GoString returns the string representation.
 12197  //
 12198  // API parameter values that are decorated as "sensitive" in the API will not
 12199  // be included in the string output. The member name will be present, but the
 12200  // value will be replaced with "sensitive".
 12201  func (s AssociateBotOutput) GoString() string {
 12202  	return s.String()
 12203  }
 12204  
 12205  type AssociateInstanceStorageConfigInput struct {
 12206  	_ struct{} `type:"structure"`
 12207  
 12208  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12209  	// in the ARN of the instance.
 12210  	//
 12211  	// InstanceId is a required field
 12212  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12213  
 12214  	// A valid resource type.
 12215  	//
 12216  	// ResourceType is a required field
 12217  	ResourceType *string `type:"string" required:"true" enum:"InstanceStorageResourceType"`
 12218  
 12219  	// A valid storage type.
 12220  	//
 12221  	// StorageConfig is a required field
 12222  	StorageConfig *InstanceStorageConfig `type:"structure" required:"true"`
 12223  }
 12224  
 12225  // String returns the string representation.
 12226  //
 12227  // API parameter values that are decorated as "sensitive" in the API will not
 12228  // be included in the string output. The member name will be present, but the
 12229  // value will be replaced with "sensitive".
 12230  func (s AssociateInstanceStorageConfigInput) String() string {
 12231  	return awsutil.Prettify(s)
 12232  }
 12233  
 12234  // GoString returns the string representation.
 12235  //
 12236  // API parameter values that are decorated as "sensitive" in the API will not
 12237  // be included in the string output. The member name will be present, but the
 12238  // value will be replaced with "sensitive".
 12239  func (s AssociateInstanceStorageConfigInput) GoString() string {
 12240  	return s.String()
 12241  }
 12242  
 12243  // Validate inspects the fields of the type to determine if they are valid.
 12244  func (s *AssociateInstanceStorageConfigInput) Validate() error {
 12245  	invalidParams := request.ErrInvalidParams{Context: "AssociateInstanceStorageConfigInput"}
 12246  	if s.InstanceId == nil {
 12247  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12248  	}
 12249  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12250  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12251  	}
 12252  	if s.ResourceType == nil {
 12253  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 12254  	}
 12255  	if s.StorageConfig == nil {
 12256  		invalidParams.Add(request.NewErrParamRequired("StorageConfig"))
 12257  	}
 12258  	if s.StorageConfig != nil {
 12259  		if err := s.StorageConfig.Validate(); err != nil {
 12260  			invalidParams.AddNested("StorageConfig", err.(request.ErrInvalidParams))
 12261  		}
 12262  	}
 12263  
 12264  	if invalidParams.Len() > 0 {
 12265  		return invalidParams
 12266  	}
 12267  	return nil
 12268  }
 12269  
 12270  // SetInstanceId sets the InstanceId field's value.
 12271  func (s *AssociateInstanceStorageConfigInput) SetInstanceId(v string) *AssociateInstanceStorageConfigInput {
 12272  	s.InstanceId = &v
 12273  	return s
 12274  }
 12275  
 12276  // SetResourceType sets the ResourceType field's value.
 12277  func (s *AssociateInstanceStorageConfigInput) SetResourceType(v string) *AssociateInstanceStorageConfigInput {
 12278  	s.ResourceType = &v
 12279  	return s
 12280  }
 12281  
 12282  // SetStorageConfig sets the StorageConfig field's value.
 12283  func (s *AssociateInstanceStorageConfigInput) SetStorageConfig(v *InstanceStorageConfig) *AssociateInstanceStorageConfigInput {
 12284  	s.StorageConfig = v
 12285  	return s
 12286  }
 12287  
 12288  type AssociateInstanceStorageConfigOutput struct {
 12289  	_ struct{} `type:"structure"`
 12290  
 12291  	// The existing association identifier that uniquely identifies the resource
 12292  	// type and storage config for the given instance ID.
 12293  	AssociationId *string `min:"1" type:"string"`
 12294  }
 12295  
 12296  // String returns the string representation.
 12297  //
 12298  // API parameter values that are decorated as "sensitive" in the API will not
 12299  // be included in the string output. The member name will be present, but the
 12300  // value will be replaced with "sensitive".
 12301  func (s AssociateInstanceStorageConfigOutput) String() string {
 12302  	return awsutil.Prettify(s)
 12303  }
 12304  
 12305  // GoString returns the string representation.
 12306  //
 12307  // API parameter values that are decorated as "sensitive" in the API will not
 12308  // be included in the string output. The member name will be present, but the
 12309  // value will be replaced with "sensitive".
 12310  func (s AssociateInstanceStorageConfigOutput) GoString() string {
 12311  	return s.String()
 12312  }
 12313  
 12314  // SetAssociationId sets the AssociationId field's value.
 12315  func (s *AssociateInstanceStorageConfigOutput) SetAssociationId(v string) *AssociateInstanceStorageConfigOutput {
 12316  	s.AssociationId = &v
 12317  	return s
 12318  }
 12319  
 12320  type AssociateLambdaFunctionInput struct {
 12321  	_ struct{} `type:"structure"`
 12322  
 12323  	// The Amazon Resource Name (ARN) for the Lambda function being associated.
 12324  	// Maximum number of characters allowed is 140.
 12325  	//
 12326  	// FunctionArn is a required field
 12327  	FunctionArn *string `min:"1" type:"string" required:"true"`
 12328  
 12329  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12330  	// in the ARN of the instance.
 12331  	//
 12332  	// InstanceId is a required field
 12333  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12334  }
 12335  
 12336  // String returns the string representation.
 12337  //
 12338  // API parameter values that are decorated as "sensitive" in the API will not
 12339  // be included in the string output. The member name will be present, but the
 12340  // value will be replaced with "sensitive".
 12341  func (s AssociateLambdaFunctionInput) String() string {
 12342  	return awsutil.Prettify(s)
 12343  }
 12344  
 12345  // GoString returns the string representation.
 12346  //
 12347  // API parameter values that are decorated as "sensitive" in the API will not
 12348  // be included in the string output. The member name will be present, but the
 12349  // value will be replaced with "sensitive".
 12350  func (s AssociateLambdaFunctionInput) GoString() string {
 12351  	return s.String()
 12352  }
 12353  
 12354  // Validate inspects the fields of the type to determine if they are valid.
 12355  func (s *AssociateLambdaFunctionInput) Validate() error {
 12356  	invalidParams := request.ErrInvalidParams{Context: "AssociateLambdaFunctionInput"}
 12357  	if s.FunctionArn == nil {
 12358  		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
 12359  	}
 12360  	if s.FunctionArn != nil && len(*s.FunctionArn) < 1 {
 12361  		invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1))
 12362  	}
 12363  	if s.InstanceId == nil {
 12364  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12365  	}
 12366  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12367  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12368  	}
 12369  
 12370  	if invalidParams.Len() > 0 {
 12371  		return invalidParams
 12372  	}
 12373  	return nil
 12374  }
 12375  
 12376  // SetFunctionArn sets the FunctionArn field's value.
 12377  func (s *AssociateLambdaFunctionInput) SetFunctionArn(v string) *AssociateLambdaFunctionInput {
 12378  	s.FunctionArn = &v
 12379  	return s
 12380  }
 12381  
 12382  // SetInstanceId sets the InstanceId field's value.
 12383  func (s *AssociateLambdaFunctionInput) SetInstanceId(v string) *AssociateLambdaFunctionInput {
 12384  	s.InstanceId = &v
 12385  	return s
 12386  }
 12387  
 12388  type AssociateLambdaFunctionOutput struct {
 12389  	_ struct{} `type:"structure" nopayload:"true"`
 12390  }
 12391  
 12392  // String returns the string representation.
 12393  //
 12394  // API parameter values that are decorated as "sensitive" in the API will not
 12395  // be included in the string output. The member name will be present, but the
 12396  // value will be replaced with "sensitive".
 12397  func (s AssociateLambdaFunctionOutput) String() string {
 12398  	return awsutil.Prettify(s)
 12399  }
 12400  
 12401  // GoString returns the string representation.
 12402  //
 12403  // API parameter values that are decorated as "sensitive" in the API will not
 12404  // be included in the string output. The member name will be present, but the
 12405  // value will be replaced with "sensitive".
 12406  func (s AssociateLambdaFunctionOutput) GoString() string {
 12407  	return s.String()
 12408  }
 12409  
 12410  type AssociateLexBotInput struct {
 12411  	_ struct{} `type:"structure"`
 12412  
 12413  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12414  	// in the ARN of the instance.
 12415  	//
 12416  	// InstanceId is a required field
 12417  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12418  
 12419  	// The Amazon Lex bot to associate with the instance.
 12420  	//
 12421  	// LexBot is a required field
 12422  	LexBot *LexBot `type:"structure" required:"true"`
 12423  }
 12424  
 12425  // String returns the string representation.
 12426  //
 12427  // API parameter values that are decorated as "sensitive" in the API will not
 12428  // be included in the string output. The member name will be present, but the
 12429  // value will be replaced with "sensitive".
 12430  func (s AssociateLexBotInput) String() string {
 12431  	return awsutil.Prettify(s)
 12432  }
 12433  
 12434  // GoString returns the string representation.
 12435  //
 12436  // API parameter values that are decorated as "sensitive" in the API will not
 12437  // be included in the string output. The member name will be present, but the
 12438  // value will be replaced with "sensitive".
 12439  func (s AssociateLexBotInput) GoString() string {
 12440  	return s.String()
 12441  }
 12442  
 12443  // Validate inspects the fields of the type to determine if they are valid.
 12444  func (s *AssociateLexBotInput) Validate() error {
 12445  	invalidParams := request.ErrInvalidParams{Context: "AssociateLexBotInput"}
 12446  	if s.InstanceId == nil {
 12447  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12448  	}
 12449  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12450  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12451  	}
 12452  	if s.LexBot == nil {
 12453  		invalidParams.Add(request.NewErrParamRequired("LexBot"))
 12454  	}
 12455  
 12456  	if invalidParams.Len() > 0 {
 12457  		return invalidParams
 12458  	}
 12459  	return nil
 12460  }
 12461  
 12462  // SetInstanceId sets the InstanceId field's value.
 12463  func (s *AssociateLexBotInput) SetInstanceId(v string) *AssociateLexBotInput {
 12464  	s.InstanceId = &v
 12465  	return s
 12466  }
 12467  
 12468  // SetLexBot sets the LexBot field's value.
 12469  func (s *AssociateLexBotInput) SetLexBot(v *LexBot) *AssociateLexBotInput {
 12470  	s.LexBot = v
 12471  	return s
 12472  }
 12473  
 12474  type AssociateLexBotOutput struct {
 12475  	_ struct{} `type:"structure" nopayload:"true"`
 12476  }
 12477  
 12478  // String returns the string representation.
 12479  //
 12480  // API parameter values that are decorated as "sensitive" in the API will not
 12481  // be included in the string output. The member name will be present, but the
 12482  // value will be replaced with "sensitive".
 12483  func (s AssociateLexBotOutput) String() string {
 12484  	return awsutil.Prettify(s)
 12485  }
 12486  
 12487  // GoString returns the string representation.
 12488  //
 12489  // API parameter values that are decorated as "sensitive" in the API will not
 12490  // be included in the string output. The member name will be present, but the
 12491  // value will be replaced with "sensitive".
 12492  func (s AssociateLexBotOutput) GoString() string {
 12493  	return s.String()
 12494  }
 12495  
 12496  type AssociateQueueQuickConnectsInput struct {
 12497  	_ struct{} `type:"structure"`
 12498  
 12499  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12500  	// in the ARN of the instance.
 12501  	//
 12502  	// InstanceId is a required field
 12503  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12504  
 12505  	// The identifier for the queue.
 12506  	//
 12507  	// QueueId is a required field
 12508  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 12509  
 12510  	// The quick connects to associate with this queue.
 12511  	//
 12512  	// QuickConnectIds is a required field
 12513  	QuickConnectIds []*string `min:"1" type:"list" required:"true"`
 12514  }
 12515  
 12516  // String returns the string representation.
 12517  //
 12518  // API parameter values that are decorated as "sensitive" in the API will not
 12519  // be included in the string output. The member name will be present, but the
 12520  // value will be replaced with "sensitive".
 12521  func (s AssociateQueueQuickConnectsInput) String() string {
 12522  	return awsutil.Prettify(s)
 12523  }
 12524  
 12525  // GoString returns the string representation.
 12526  //
 12527  // API parameter values that are decorated as "sensitive" in the API will not
 12528  // be included in the string output. The member name will be present, but the
 12529  // value will be replaced with "sensitive".
 12530  func (s AssociateQueueQuickConnectsInput) GoString() string {
 12531  	return s.String()
 12532  }
 12533  
 12534  // Validate inspects the fields of the type to determine if they are valid.
 12535  func (s *AssociateQueueQuickConnectsInput) Validate() error {
 12536  	invalidParams := request.ErrInvalidParams{Context: "AssociateQueueQuickConnectsInput"}
 12537  	if s.InstanceId == nil {
 12538  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12539  	}
 12540  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12541  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12542  	}
 12543  	if s.QueueId == nil {
 12544  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 12545  	}
 12546  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 12547  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 12548  	}
 12549  	if s.QuickConnectIds == nil {
 12550  		invalidParams.Add(request.NewErrParamRequired("QuickConnectIds"))
 12551  	}
 12552  	if s.QuickConnectIds != nil && len(s.QuickConnectIds) < 1 {
 12553  		invalidParams.Add(request.NewErrParamMinLen("QuickConnectIds", 1))
 12554  	}
 12555  
 12556  	if invalidParams.Len() > 0 {
 12557  		return invalidParams
 12558  	}
 12559  	return nil
 12560  }
 12561  
 12562  // SetInstanceId sets the InstanceId field's value.
 12563  func (s *AssociateQueueQuickConnectsInput) SetInstanceId(v string) *AssociateQueueQuickConnectsInput {
 12564  	s.InstanceId = &v
 12565  	return s
 12566  }
 12567  
 12568  // SetQueueId sets the QueueId field's value.
 12569  func (s *AssociateQueueQuickConnectsInput) SetQueueId(v string) *AssociateQueueQuickConnectsInput {
 12570  	s.QueueId = &v
 12571  	return s
 12572  }
 12573  
 12574  // SetQuickConnectIds sets the QuickConnectIds field's value.
 12575  func (s *AssociateQueueQuickConnectsInput) SetQuickConnectIds(v []*string) *AssociateQueueQuickConnectsInput {
 12576  	s.QuickConnectIds = v
 12577  	return s
 12578  }
 12579  
 12580  type AssociateQueueQuickConnectsOutput struct {
 12581  	_ struct{} `type:"structure" nopayload:"true"`
 12582  }
 12583  
 12584  // String returns the string representation.
 12585  //
 12586  // API parameter values that are decorated as "sensitive" in the API will not
 12587  // be included in the string output. The member name will be present, but the
 12588  // value will be replaced with "sensitive".
 12589  func (s AssociateQueueQuickConnectsOutput) String() string {
 12590  	return awsutil.Prettify(s)
 12591  }
 12592  
 12593  // GoString returns the string representation.
 12594  //
 12595  // API parameter values that are decorated as "sensitive" in the API will not
 12596  // be included in the string output. The member name will be present, but the
 12597  // value will be replaced with "sensitive".
 12598  func (s AssociateQueueQuickConnectsOutput) GoString() string {
 12599  	return s.String()
 12600  }
 12601  
 12602  type AssociateRoutingProfileQueuesInput struct {
 12603  	_ struct{} `type:"structure"`
 12604  
 12605  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12606  	// in the ARN of the instance.
 12607  	//
 12608  	// InstanceId is a required field
 12609  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12610  
 12611  	// The queues to associate with this routing profile.
 12612  	//
 12613  	// QueueConfigs is a required field
 12614  	QueueConfigs []*RoutingProfileQueueConfig `min:"1" type:"list" required:"true"`
 12615  
 12616  	// The identifier of the routing profile.
 12617  	//
 12618  	// RoutingProfileId is a required field
 12619  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 12620  }
 12621  
 12622  // String returns the string representation.
 12623  //
 12624  // API parameter values that are decorated as "sensitive" in the API will not
 12625  // be included in the string output. The member name will be present, but the
 12626  // value will be replaced with "sensitive".
 12627  func (s AssociateRoutingProfileQueuesInput) String() string {
 12628  	return awsutil.Prettify(s)
 12629  }
 12630  
 12631  // GoString returns the string representation.
 12632  //
 12633  // API parameter values that are decorated as "sensitive" in the API will not
 12634  // be included in the string output. The member name will be present, but the
 12635  // value will be replaced with "sensitive".
 12636  func (s AssociateRoutingProfileQueuesInput) GoString() string {
 12637  	return s.String()
 12638  }
 12639  
 12640  // Validate inspects the fields of the type to determine if they are valid.
 12641  func (s *AssociateRoutingProfileQueuesInput) Validate() error {
 12642  	invalidParams := request.ErrInvalidParams{Context: "AssociateRoutingProfileQueuesInput"}
 12643  	if s.InstanceId == nil {
 12644  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12645  	}
 12646  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12647  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12648  	}
 12649  	if s.QueueConfigs == nil {
 12650  		invalidParams.Add(request.NewErrParamRequired("QueueConfigs"))
 12651  	}
 12652  	if s.QueueConfigs != nil && len(s.QueueConfigs) < 1 {
 12653  		invalidParams.Add(request.NewErrParamMinLen("QueueConfigs", 1))
 12654  	}
 12655  	if s.RoutingProfileId == nil {
 12656  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 12657  	}
 12658  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 12659  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 12660  	}
 12661  	if s.QueueConfigs != nil {
 12662  		for i, v := range s.QueueConfigs {
 12663  			if v == nil {
 12664  				continue
 12665  			}
 12666  			if err := v.Validate(); err != nil {
 12667  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigs", i), err.(request.ErrInvalidParams))
 12668  			}
 12669  		}
 12670  	}
 12671  
 12672  	if invalidParams.Len() > 0 {
 12673  		return invalidParams
 12674  	}
 12675  	return nil
 12676  }
 12677  
 12678  // SetInstanceId sets the InstanceId field's value.
 12679  func (s *AssociateRoutingProfileQueuesInput) SetInstanceId(v string) *AssociateRoutingProfileQueuesInput {
 12680  	s.InstanceId = &v
 12681  	return s
 12682  }
 12683  
 12684  // SetQueueConfigs sets the QueueConfigs field's value.
 12685  func (s *AssociateRoutingProfileQueuesInput) SetQueueConfigs(v []*RoutingProfileQueueConfig) *AssociateRoutingProfileQueuesInput {
 12686  	s.QueueConfigs = v
 12687  	return s
 12688  }
 12689  
 12690  // SetRoutingProfileId sets the RoutingProfileId field's value.
 12691  func (s *AssociateRoutingProfileQueuesInput) SetRoutingProfileId(v string) *AssociateRoutingProfileQueuesInput {
 12692  	s.RoutingProfileId = &v
 12693  	return s
 12694  }
 12695  
 12696  type AssociateRoutingProfileQueuesOutput struct {
 12697  	_ struct{} `type:"structure" nopayload:"true"`
 12698  }
 12699  
 12700  // String returns the string representation.
 12701  //
 12702  // API parameter values that are decorated as "sensitive" in the API will not
 12703  // be included in the string output. The member name will be present, but the
 12704  // value will be replaced with "sensitive".
 12705  func (s AssociateRoutingProfileQueuesOutput) String() string {
 12706  	return awsutil.Prettify(s)
 12707  }
 12708  
 12709  // GoString returns the string representation.
 12710  //
 12711  // API parameter values that are decorated as "sensitive" in the API will not
 12712  // be included in the string output. The member name will be present, but the
 12713  // value will be replaced with "sensitive".
 12714  func (s AssociateRoutingProfileQueuesOutput) GoString() string {
 12715  	return s.String()
 12716  }
 12717  
 12718  type AssociateSecurityKeyInput struct {
 12719  	_ struct{} `type:"structure"`
 12720  
 12721  	// The identifier of the Amazon Connect instance. You can find the instanceId
 12722  	// in the ARN of the instance.
 12723  	//
 12724  	// InstanceId is a required field
 12725  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 12726  
 12727  	// A valid security key in PEM format.
 12728  	//
 12729  	// Key is a required field
 12730  	Key *string `min:"1" type:"string" required:"true"`
 12731  }
 12732  
 12733  // String returns the string representation.
 12734  //
 12735  // API parameter values that are decorated as "sensitive" in the API will not
 12736  // be included in the string output. The member name will be present, but the
 12737  // value will be replaced with "sensitive".
 12738  func (s AssociateSecurityKeyInput) String() string {
 12739  	return awsutil.Prettify(s)
 12740  }
 12741  
 12742  // GoString returns the string representation.
 12743  //
 12744  // API parameter values that are decorated as "sensitive" in the API will not
 12745  // be included in the string output. The member name will be present, but the
 12746  // value will be replaced with "sensitive".
 12747  func (s AssociateSecurityKeyInput) GoString() string {
 12748  	return s.String()
 12749  }
 12750  
 12751  // Validate inspects the fields of the type to determine if they are valid.
 12752  func (s *AssociateSecurityKeyInput) Validate() error {
 12753  	invalidParams := request.ErrInvalidParams{Context: "AssociateSecurityKeyInput"}
 12754  	if s.InstanceId == nil {
 12755  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 12756  	}
 12757  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 12758  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 12759  	}
 12760  	if s.Key == nil {
 12761  		invalidParams.Add(request.NewErrParamRequired("Key"))
 12762  	}
 12763  	if s.Key != nil && len(*s.Key) < 1 {
 12764  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 12765  	}
 12766  
 12767  	if invalidParams.Len() > 0 {
 12768  		return invalidParams
 12769  	}
 12770  	return nil
 12771  }
 12772  
 12773  // SetInstanceId sets the InstanceId field's value.
 12774  func (s *AssociateSecurityKeyInput) SetInstanceId(v string) *AssociateSecurityKeyInput {
 12775  	s.InstanceId = &v
 12776  	return s
 12777  }
 12778  
 12779  // SetKey sets the Key field's value.
 12780  func (s *AssociateSecurityKeyInput) SetKey(v string) *AssociateSecurityKeyInput {
 12781  	s.Key = &v
 12782  	return s
 12783  }
 12784  
 12785  type AssociateSecurityKeyOutput struct {
 12786  	_ struct{} `type:"structure"`
 12787  
 12788  	// The existing association identifier that uniquely identifies the resource
 12789  	// type and storage config for the given instance ID.
 12790  	AssociationId *string `min:"1" type:"string"`
 12791  }
 12792  
 12793  // String returns the string representation.
 12794  //
 12795  // API parameter values that are decorated as "sensitive" in the API will not
 12796  // be included in the string output. The member name will be present, but the
 12797  // value will be replaced with "sensitive".
 12798  func (s AssociateSecurityKeyOutput) String() string {
 12799  	return awsutil.Prettify(s)
 12800  }
 12801  
 12802  // GoString returns the string representation.
 12803  //
 12804  // API parameter values that are decorated as "sensitive" in the API will not
 12805  // be included in the string output. The member name will be present, but the
 12806  // value will be replaced with "sensitive".
 12807  func (s AssociateSecurityKeyOutput) GoString() string {
 12808  	return s.String()
 12809  }
 12810  
 12811  // SetAssociationId sets the AssociationId field's value.
 12812  func (s *AssociateSecurityKeyOutput) SetAssociationId(v string) *AssociateSecurityKeyOutput {
 12813  	s.AssociationId = &v
 12814  	return s
 12815  }
 12816  
 12817  // A toggle for an individual feature at the instance level.
 12818  type Attribute struct {
 12819  	_ struct{} `type:"structure"`
 12820  
 12821  	// The type of attribute.
 12822  	AttributeType *string `type:"string" enum:"InstanceAttributeType"`
 12823  
 12824  	// The value of the attribute.
 12825  	Value *string `min:"1" type:"string"`
 12826  }
 12827  
 12828  // String returns the string representation.
 12829  //
 12830  // API parameter values that are decorated as "sensitive" in the API will not
 12831  // be included in the string output. The member name will be present, but the
 12832  // value will be replaced with "sensitive".
 12833  func (s Attribute) String() string {
 12834  	return awsutil.Prettify(s)
 12835  }
 12836  
 12837  // GoString returns the string representation.
 12838  //
 12839  // API parameter values that are decorated as "sensitive" in the API will not
 12840  // be included in the string output. The member name will be present, but the
 12841  // value will be replaced with "sensitive".
 12842  func (s Attribute) GoString() string {
 12843  	return s.String()
 12844  }
 12845  
 12846  // SetAttributeType sets the AttributeType field's value.
 12847  func (s *Attribute) SetAttributeType(v string) *Attribute {
 12848  	s.AttributeType = &v
 12849  	return s
 12850  }
 12851  
 12852  // SetValue sets the Value field's value.
 12853  func (s *Attribute) SetValue(v string) *Attribute {
 12854  	s.Value = &v
 12855  	return s
 12856  }
 12857  
 12858  // A chat message.
 12859  type ChatMessage struct {
 12860  	_ struct{} `type:"structure"`
 12861  
 12862  	// The content of the chat message.
 12863  	//
 12864  	// Content is a required field
 12865  	Content *string `min:"1" type:"string" required:"true"`
 12866  
 12867  	// The type of the content. Supported types are text and plain.
 12868  	//
 12869  	// ContentType is a required field
 12870  	ContentType *string `min:"1" type:"string" required:"true"`
 12871  }
 12872  
 12873  // String returns the string representation.
 12874  //
 12875  // API parameter values that are decorated as "sensitive" in the API will not
 12876  // be included in the string output. The member name will be present, but the
 12877  // value will be replaced with "sensitive".
 12878  func (s ChatMessage) String() string {
 12879  	return awsutil.Prettify(s)
 12880  }
 12881  
 12882  // GoString returns the string representation.
 12883  //
 12884  // API parameter values that are decorated as "sensitive" in the API will not
 12885  // be included in the string output. The member name will be present, but the
 12886  // value will be replaced with "sensitive".
 12887  func (s ChatMessage) GoString() string {
 12888  	return s.String()
 12889  }
 12890  
 12891  // Validate inspects the fields of the type to determine if they are valid.
 12892  func (s *ChatMessage) Validate() error {
 12893  	invalidParams := request.ErrInvalidParams{Context: "ChatMessage"}
 12894  	if s.Content == nil {
 12895  		invalidParams.Add(request.NewErrParamRequired("Content"))
 12896  	}
 12897  	if s.Content != nil && len(*s.Content) < 1 {
 12898  		invalidParams.Add(request.NewErrParamMinLen("Content", 1))
 12899  	}
 12900  	if s.ContentType == nil {
 12901  		invalidParams.Add(request.NewErrParamRequired("ContentType"))
 12902  	}
 12903  	if s.ContentType != nil && len(*s.ContentType) < 1 {
 12904  		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
 12905  	}
 12906  
 12907  	if invalidParams.Len() > 0 {
 12908  		return invalidParams
 12909  	}
 12910  	return nil
 12911  }
 12912  
 12913  // SetContent sets the Content field's value.
 12914  func (s *ChatMessage) SetContent(v string) *ChatMessage {
 12915  	s.Content = &v
 12916  	return s
 12917  }
 12918  
 12919  // SetContentType sets the ContentType field's value.
 12920  func (s *ChatMessage) SetContentType(v string) *ChatMessage {
 12921  	s.ContentType = &v
 12922  	return s
 12923  }
 12924  
 12925  // Contains information about a contact flow.
 12926  type ContactFlow struct {
 12927  	_ struct{} `type:"structure"`
 12928  
 12929  	// The Amazon Resource Name (ARN) of the contact flow.
 12930  	Arn *string `type:"string"`
 12931  
 12932  	// The content of the contact flow.
 12933  	Content *string `type:"string"`
 12934  
 12935  	// The description of the contact flow.
 12936  	Description *string `type:"string"`
 12937  
 12938  	// The identifier of the contact flow.
 12939  	Id *string `type:"string"`
 12940  
 12941  	// The name of the contact flow.
 12942  	Name *string `min:"1" type:"string"`
 12943  
 12944  	// One or more tags.
 12945  	Tags map[string]*string `min:"1" type:"map"`
 12946  
 12947  	// The type of the contact flow. For descriptions of the available types, see
 12948  	// Choose a Contact Flow Type (https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types)
 12949  	// in the Amazon Connect Administrator Guide.
 12950  	Type *string `type:"string" enum:"ContactFlowType"`
 12951  }
 12952  
 12953  // String returns the string representation.
 12954  //
 12955  // API parameter values that are decorated as "sensitive" in the API will not
 12956  // be included in the string output. The member name will be present, but the
 12957  // value will be replaced with "sensitive".
 12958  func (s ContactFlow) String() string {
 12959  	return awsutil.Prettify(s)
 12960  }
 12961  
 12962  // GoString returns the string representation.
 12963  //
 12964  // API parameter values that are decorated as "sensitive" in the API will not
 12965  // be included in the string output. The member name will be present, but the
 12966  // value will be replaced with "sensitive".
 12967  func (s ContactFlow) GoString() string {
 12968  	return s.String()
 12969  }
 12970  
 12971  // SetArn sets the Arn field's value.
 12972  func (s *ContactFlow) SetArn(v string) *ContactFlow {
 12973  	s.Arn = &v
 12974  	return s
 12975  }
 12976  
 12977  // SetContent sets the Content field's value.
 12978  func (s *ContactFlow) SetContent(v string) *ContactFlow {
 12979  	s.Content = &v
 12980  	return s
 12981  }
 12982  
 12983  // SetDescription sets the Description field's value.
 12984  func (s *ContactFlow) SetDescription(v string) *ContactFlow {
 12985  	s.Description = &v
 12986  	return s
 12987  }
 12988  
 12989  // SetId sets the Id field's value.
 12990  func (s *ContactFlow) SetId(v string) *ContactFlow {
 12991  	s.Id = &v
 12992  	return s
 12993  }
 12994  
 12995  // SetName sets the Name field's value.
 12996  func (s *ContactFlow) SetName(v string) *ContactFlow {
 12997  	s.Name = &v
 12998  	return s
 12999  }
 13000  
 13001  // SetTags sets the Tags field's value.
 13002  func (s *ContactFlow) SetTags(v map[string]*string) *ContactFlow {
 13003  	s.Tags = v
 13004  	return s
 13005  }
 13006  
 13007  // SetType sets the Type field's value.
 13008  func (s *ContactFlow) SetType(v string) *ContactFlow {
 13009  	s.Type = &v
 13010  	return s
 13011  }
 13012  
 13013  // The contact flow has not been published.
 13014  type ContactFlowNotPublishedException struct {
 13015  	_            struct{}                  `type:"structure"`
 13016  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13017  
 13018  	Message_ *string `locationName:"Message" type:"string"`
 13019  }
 13020  
 13021  // String returns the string representation.
 13022  //
 13023  // API parameter values that are decorated as "sensitive" in the API will not
 13024  // be included in the string output. The member name will be present, but the
 13025  // value will be replaced with "sensitive".
 13026  func (s ContactFlowNotPublishedException) String() string {
 13027  	return awsutil.Prettify(s)
 13028  }
 13029  
 13030  // GoString returns the string representation.
 13031  //
 13032  // API parameter values that are decorated as "sensitive" in the API will not
 13033  // be included in the string output. The member name will be present, but the
 13034  // value will be replaced with "sensitive".
 13035  func (s ContactFlowNotPublishedException) GoString() string {
 13036  	return s.String()
 13037  }
 13038  
 13039  func newErrorContactFlowNotPublishedException(v protocol.ResponseMetadata) error {
 13040  	return &ContactFlowNotPublishedException{
 13041  		RespMetadata: v,
 13042  	}
 13043  }
 13044  
 13045  // Code returns the exception type name.
 13046  func (s *ContactFlowNotPublishedException) Code() string {
 13047  	return "ContactFlowNotPublishedException"
 13048  }
 13049  
 13050  // Message returns the exception's message.
 13051  func (s *ContactFlowNotPublishedException) Message() string {
 13052  	if s.Message_ != nil {
 13053  		return *s.Message_
 13054  	}
 13055  	return ""
 13056  }
 13057  
 13058  // OrigErr always returns nil, satisfies awserr.Error interface.
 13059  func (s *ContactFlowNotPublishedException) OrigErr() error {
 13060  	return nil
 13061  }
 13062  
 13063  func (s *ContactFlowNotPublishedException) Error() string {
 13064  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13065  }
 13066  
 13067  // Status code returns the HTTP status code for the request's response error.
 13068  func (s *ContactFlowNotPublishedException) StatusCode() int {
 13069  	return s.RespMetadata.StatusCode
 13070  }
 13071  
 13072  // RequestID returns the service's response RequestID for request.
 13073  func (s *ContactFlowNotPublishedException) RequestID() string {
 13074  	return s.RespMetadata.RequestID
 13075  }
 13076  
 13077  // Contains summary information about a contact flow.
 13078  //
 13079  // You can also create and update contact flows using the Amazon Connect Flow
 13080  // language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language.html).
 13081  type ContactFlowSummary struct {
 13082  	_ struct{} `type:"structure"`
 13083  
 13084  	// The Amazon Resource Name (ARN) of the contact flow.
 13085  	Arn *string `type:"string"`
 13086  
 13087  	// The type of contact flow.
 13088  	ContactFlowType *string `type:"string" enum:"ContactFlowType"`
 13089  
 13090  	// The identifier of the contact flow.
 13091  	Id *string `type:"string"`
 13092  
 13093  	// The name of the contact flow.
 13094  	Name *string `min:"1" type:"string"`
 13095  }
 13096  
 13097  // String returns the string representation.
 13098  //
 13099  // API parameter values that are decorated as "sensitive" in the API will not
 13100  // be included in the string output. The member name will be present, but the
 13101  // value will be replaced with "sensitive".
 13102  func (s ContactFlowSummary) String() string {
 13103  	return awsutil.Prettify(s)
 13104  }
 13105  
 13106  // GoString returns the string representation.
 13107  //
 13108  // API parameter values that are decorated as "sensitive" in the API will not
 13109  // be included in the string output. The member name will be present, but the
 13110  // value will be replaced with "sensitive".
 13111  func (s ContactFlowSummary) GoString() string {
 13112  	return s.String()
 13113  }
 13114  
 13115  // SetArn sets the Arn field's value.
 13116  func (s *ContactFlowSummary) SetArn(v string) *ContactFlowSummary {
 13117  	s.Arn = &v
 13118  	return s
 13119  }
 13120  
 13121  // SetContactFlowType sets the ContactFlowType field's value.
 13122  func (s *ContactFlowSummary) SetContactFlowType(v string) *ContactFlowSummary {
 13123  	s.ContactFlowType = &v
 13124  	return s
 13125  }
 13126  
 13127  // SetId sets the Id field's value.
 13128  func (s *ContactFlowSummary) SetId(v string) *ContactFlowSummary {
 13129  	s.Id = &v
 13130  	return s
 13131  }
 13132  
 13133  // SetName sets the Name field's value.
 13134  func (s *ContactFlowSummary) SetName(v string) *ContactFlowSummary {
 13135  	s.Name = &v
 13136  	return s
 13137  }
 13138  
 13139  // The contact with the specified ID is not active or does not exist.
 13140  type ContactNotFoundException struct {
 13141  	_            struct{}                  `type:"structure"`
 13142  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13143  
 13144  	// The message.
 13145  	Message_ *string `locationName:"Message" type:"string"`
 13146  }
 13147  
 13148  // String returns the string representation.
 13149  //
 13150  // API parameter values that are decorated as "sensitive" in the API will not
 13151  // be included in the string output. The member name will be present, but the
 13152  // value will be replaced with "sensitive".
 13153  func (s ContactNotFoundException) String() string {
 13154  	return awsutil.Prettify(s)
 13155  }
 13156  
 13157  // GoString returns the string representation.
 13158  //
 13159  // API parameter values that are decorated as "sensitive" in the API will not
 13160  // be included in the string output. The member name will be present, but the
 13161  // value will be replaced with "sensitive".
 13162  func (s ContactNotFoundException) GoString() string {
 13163  	return s.String()
 13164  }
 13165  
 13166  func newErrorContactNotFoundException(v protocol.ResponseMetadata) error {
 13167  	return &ContactNotFoundException{
 13168  		RespMetadata: v,
 13169  	}
 13170  }
 13171  
 13172  // Code returns the exception type name.
 13173  func (s *ContactNotFoundException) Code() string {
 13174  	return "ContactNotFoundException"
 13175  }
 13176  
 13177  // Message returns the exception's message.
 13178  func (s *ContactNotFoundException) Message() string {
 13179  	if s.Message_ != nil {
 13180  		return *s.Message_
 13181  	}
 13182  	return ""
 13183  }
 13184  
 13185  // OrigErr always returns nil, satisfies awserr.Error interface.
 13186  func (s *ContactNotFoundException) OrigErr() error {
 13187  	return nil
 13188  }
 13189  
 13190  func (s *ContactNotFoundException) Error() string {
 13191  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13192  }
 13193  
 13194  // Status code returns the HTTP status code for the request's response error.
 13195  func (s *ContactNotFoundException) StatusCode() int {
 13196  	return s.RespMetadata.StatusCode
 13197  }
 13198  
 13199  // RequestID returns the service's response RequestID for request.
 13200  func (s *ContactNotFoundException) RequestID() string {
 13201  	return s.RespMetadata.RequestID
 13202  }
 13203  
 13204  type CreateAgentStatusInput struct {
 13205  	_ struct{} `type:"structure"`
 13206  
 13207  	// The description of the status.
 13208  	Description *string `min:"1" type:"string"`
 13209  
 13210  	// The display order of the status.
 13211  	DisplayOrder *int64 `min:"1" type:"integer"`
 13212  
 13213  	// The identifier of the Amazon Connect instance. You can find the instanceId
 13214  	// in the ARN of the instance.
 13215  	//
 13216  	// InstanceId is a required field
 13217  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 13218  
 13219  	// The name of the status.
 13220  	//
 13221  	// Name is a required field
 13222  	Name *string `min:"1" type:"string" required:"true"`
 13223  
 13224  	// The state of the status.
 13225  	//
 13226  	// State is a required field
 13227  	State *string `type:"string" required:"true" enum:"AgentStatusState"`
 13228  
 13229  	// One or more tags.
 13230  	Tags map[string]*string `min:"1" type:"map"`
 13231  }
 13232  
 13233  // String returns the string representation.
 13234  //
 13235  // API parameter values that are decorated as "sensitive" in the API will not
 13236  // be included in the string output. The member name will be present, but the
 13237  // value will be replaced with "sensitive".
 13238  func (s CreateAgentStatusInput) String() string {
 13239  	return awsutil.Prettify(s)
 13240  }
 13241  
 13242  // GoString returns the string representation.
 13243  //
 13244  // API parameter values that are decorated as "sensitive" in the API will not
 13245  // be included in the string output. The member name will be present, but the
 13246  // value will be replaced with "sensitive".
 13247  func (s CreateAgentStatusInput) GoString() string {
 13248  	return s.String()
 13249  }
 13250  
 13251  // Validate inspects the fields of the type to determine if they are valid.
 13252  func (s *CreateAgentStatusInput) Validate() error {
 13253  	invalidParams := request.ErrInvalidParams{Context: "CreateAgentStatusInput"}
 13254  	if s.Description != nil && len(*s.Description) < 1 {
 13255  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 13256  	}
 13257  	if s.DisplayOrder != nil && *s.DisplayOrder < 1 {
 13258  		invalidParams.Add(request.NewErrParamMinValue("DisplayOrder", 1))
 13259  	}
 13260  	if s.InstanceId == nil {
 13261  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 13262  	}
 13263  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 13264  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 13265  	}
 13266  	if s.Name == nil {
 13267  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13268  	}
 13269  	if s.Name != nil && len(*s.Name) < 1 {
 13270  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13271  	}
 13272  	if s.State == nil {
 13273  		invalidParams.Add(request.NewErrParamRequired("State"))
 13274  	}
 13275  	if s.Tags != nil && len(s.Tags) < 1 {
 13276  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 13277  	}
 13278  
 13279  	if invalidParams.Len() > 0 {
 13280  		return invalidParams
 13281  	}
 13282  	return nil
 13283  }
 13284  
 13285  // SetDescription sets the Description field's value.
 13286  func (s *CreateAgentStatusInput) SetDescription(v string) *CreateAgentStatusInput {
 13287  	s.Description = &v
 13288  	return s
 13289  }
 13290  
 13291  // SetDisplayOrder sets the DisplayOrder field's value.
 13292  func (s *CreateAgentStatusInput) SetDisplayOrder(v int64) *CreateAgentStatusInput {
 13293  	s.DisplayOrder = &v
 13294  	return s
 13295  }
 13296  
 13297  // SetInstanceId sets the InstanceId field's value.
 13298  func (s *CreateAgentStatusInput) SetInstanceId(v string) *CreateAgentStatusInput {
 13299  	s.InstanceId = &v
 13300  	return s
 13301  }
 13302  
 13303  // SetName sets the Name field's value.
 13304  func (s *CreateAgentStatusInput) SetName(v string) *CreateAgentStatusInput {
 13305  	s.Name = &v
 13306  	return s
 13307  }
 13308  
 13309  // SetState sets the State field's value.
 13310  func (s *CreateAgentStatusInput) SetState(v string) *CreateAgentStatusInput {
 13311  	s.State = &v
 13312  	return s
 13313  }
 13314  
 13315  // SetTags sets the Tags field's value.
 13316  func (s *CreateAgentStatusInput) SetTags(v map[string]*string) *CreateAgentStatusInput {
 13317  	s.Tags = v
 13318  	return s
 13319  }
 13320  
 13321  type CreateAgentStatusOutput struct {
 13322  	_ struct{} `type:"structure"`
 13323  
 13324  	// The Amazon Resource Name (ARN) of the agent status.
 13325  	AgentStatusARN *string `type:"string"`
 13326  
 13327  	// The identifier of the agent status.
 13328  	AgentStatusId *string `type:"string"`
 13329  }
 13330  
 13331  // String returns the string representation.
 13332  //
 13333  // API parameter values that are decorated as "sensitive" in the API will not
 13334  // be included in the string output. The member name will be present, but the
 13335  // value will be replaced with "sensitive".
 13336  func (s CreateAgentStatusOutput) String() string {
 13337  	return awsutil.Prettify(s)
 13338  }
 13339  
 13340  // GoString returns the string representation.
 13341  //
 13342  // API parameter values that are decorated as "sensitive" in the API will not
 13343  // be included in the string output. The member name will be present, but the
 13344  // value will be replaced with "sensitive".
 13345  func (s CreateAgentStatusOutput) GoString() string {
 13346  	return s.String()
 13347  }
 13348  
 13349  // SetAgentStatusARN sets the AgentStatusARN field's value.
 13350  func (s *CreateAgentStatusOutput) SetAgentStatusARN(v string) *CreateAgentStatusOutput {
 13351  	s.AgentStatusARN = &v
 13352  	return s
 13353  }
 13354  
 13355  // SetAgentStatusId sets the AgentStatusId field's value.
 13356  func (s *CreateAgentStatusOutput) SetAgentStatusId(v string) *CreateAgentStatusOutput {
 13357  	s.AgentStatusId = &v
 13358  	return s
 13359  }
 13360  
 13361  type CreateContactFlowInput struct {
 13362  	_ struct{} `type:"structure"`
 13363  
 13364  	// The content of the contact flow.
 13365  	//
 13366  	// Content is a required field
 13367  	Content *string `type:"string" required:"true"`
 13368  
 13369  	// The description of the contact flow.
 13370  	Description *string `type:"string"`
 13371  
 13372  	// The identifier of the Amazon Connect instance.
 13373  	//
 13374  	// InstanceId is a required field
 13375  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 13376  
 13377  	// The name of the contact flow.
 13378  	//
 13379  	// Name is a required field
 13380  	Name *string `min:"1" type:"string" required:"true"`
 13381  
 13382  	// One or more tags.
 13383  	Tags map[string]*string `min:"1" type:"map"`
 13384  
 13385  	// The type of the contact flow. For descriptions of the available types, see
 13386  	// Choose a Contact Flow Type (https://docs.aws.amazon.com/connect/latest/adminguide/create-contact-flow.html#contact-flow-types)
 13387  	// in the Amazon Connect Administrator Guide.
 13388  	//
 13389  	// Type is a required field
 13390  	Type *string `type:"string" required:"true" enum:"ContactFlowType"`
 13391  }
 13392  
 13393  // String returns the string representation.
 13394  //
 13395  // API parameter values that are decorated as "sensitive" in the API will not
 13396  // be included in the string output. The member name will be present, but the
 13397  // value will be replaced with "sensitive".
 13398  func (s CreateContactFlowInput) String() string {
 13399  	return awsutil.Prettify(s)
 13400  }
 13401  
 13402  // GoString returns the string representation.
 13403  //
 13404  // API parameter values that are decorated as "sensitive" in the API will not
 13405  // be included in the string output. The member name will be present, but the
 13406  // value will be replaced with "sensitive".
 13407  func (s CreateContactFlowInput) GoString() string {
 13408  	return s.String()
 13409  }
 13410  
 13411  // Validate inspects the fields of the type to determine if they are valid.
 13412  func (s *CreateContactFlowInput) Validate() error {
 13413  	invalidParams := request.ErrInvalidParams{Context: "CreateContactFlowInput"}
 13414  	if s.Content == nil {
 13415  		invalidParams.Add(request.NewErrParamRequired("Content"))
 13416  	}
 13417  	if s.InstanceId == nil {
 13418  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 13419  	}
 13420  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 13421  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 13422  	}
 13423  	if s.Name == nil {
 13424  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13425  	}
 13426  	if s.Name != nil && len(*s.Name) < 1 {
 13427  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13428  	}
 13429  	if s.Tags != nil && len(s.Tags) < 1 {
 13430  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 13431  	}
 13432  	if s.Type == nil {
 13433  		invalidParams.Add(request.NewErrParamRequired("Type"))
 13434  	}
 13435  
 13436  	if invalidParams.Len() > 0 {
 13437  		return invalidParams
 13438  	}
 13439  	return nil
 13440  }
 13441  
 13442  // SetContent sets the Content field's value.
 13443  func (s *CreateContactFlowInput) SetContent(v string) *CreateContactFlowInput {
 13444  	s.Content = &v
 13445  	return s
 13446  }
 13447  
 13448  // SetDescription sets the Description field's value.
 13449  func (s *CreateContactFlowInput) SetDescription(v string) *CreateContactFlowInput {
 13450  	s.Description = &v
 13451  	return s
 13452  }
 13453  
 13454  // SetInstanceId sets the InstanceId field's value.
 13455  func (s *CreateContactFlowInput) SetInstanceId(v string) *CreateContactFlowInput {
 13456  	s.InstanceId = &v
 13457  	return s
 13458  }
 13459  
 13460  // SetName sets the Name field's value.
 13461  func (s *CreateContactFlowInput) SetName(v string) *CreateContactFlowInput {
 13462  	s.Name = &v
 13463  	return s
 13464  }
 13465  
 13466  // SetTags sets the Tags field's value.
 13467  func (s *CreateContactFlowInput) SetTags(v map[string]*string) *CreateContactFlowInput {
 13468  	s.Tags = v
 13469  	return s
 13470  }
 13471  
 13472  // SetType sets the Type field's value.
 13473  func (s *CreateContactFlowInput) SetType(v string) *CreateContactFlowInput {
 13474  	s.Type = &v
 13475  	return s
 13476  }
 13477  
 13478  type CreateContactFlowOutput struct {
 13479  	_ struct{} `type:"structure"`
 13480  
 13481  	// The Amazon Resource Name (ARN) of the contact flow.
 13482  	ContactFlowArn *string `type:"string"`
 13483  
 13484  	// The identifier of the contact flow.
 13485  	ContactFlowId *string `type:"string"`
 13486  }
 13487  
 13488  // String returns the string representation.
 13489  //
 13490  // API parameter values that are decorated as "sensitive" in the API will not
 13491  // be included in the string output. The member name will be present, but the
 13492  // value will be replaced with "sensitive".
 13493  func (s CreateContactFlowOutput) String() string {
 13494  	return awsutil.Prettify(s)
 13495  }
 13496  
 13497  // GoString returns the string representation.
 13498  //
 13499  // API parameter values that are decorated as "sensitive" in the API will not
 13500  // be included in the string output. The member name will be present, but the
 13501  // value will be replaced with "sensitive".
 13502  func (s CreateContactFlowOutput) GoString() string {
 13503  	return s.String()
 13504  }
 13505  
 13506  // SetContactFlowArn sets the ContactFlowArn field's value.
 13507  func (s *CreateContactFlowOutput) SetContactFlowArn(v string) *CreateContactFlowOutput {
 13508  	s.ContactFlowArn = &v
 13509  	return s
 13510  }
 13511  
 13512  // SetContactFlowId sets the ContactFlowId field's value.
 13513  func (s *CreateContactFlowOutput) SetContactFlowId(v string) *CreateContactFlowOutput {
 13514  	s.ContactFlowId = &v
 13515  	return s
 13516  }
 13517  
 13518  type CreateHoursOfOperationInput struct {
 13519  	_ struct{} `type:"structure"`
 13520  
 13521  	// Configuration information for the hours of operation: day, start time, and
 13522  	// end time.
 13523  	//
 13524  	// Config is a required field
 13525  	Config []*HoursOfOperationConfig `type:"list" required:"true"`
 13526  
 13527  	// The description of the hours of operation.
 13528  	Description *string `min:"1" type:"string"`
 13529  
 13530  	// The identifier of the Amazon Connect instance. You can find the instanceId
 13531  	// in the ARN of the instance.
 13532  	//
 13533  	// InstanceId is a required field
 13534  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 13535  
 13536  	// The name of the hours of operation.
 13537  	//
 13538  	// Name is a required field
 13539  	Name *string `min:"1" type:"string" required:"true"`
 13540  
 13541  	// One or more tags.
 13542  	Tags map[string]*string `min:"1" type:"map"`
 13543  
 13544  	// The time zone of the hours of operation.
 13545  	//
 13546  	// TimeZone is a required field
 13547  	TimeZone *string `type:"string" required:"true"`
 13548  }
 13549  
 13550  // String returns the string representation.
 13551  //
 13552  // API parameter values that are decorated as "sensitive" in the API will not
 13553  // be included in the string output. The member name will be present, but the
 13554  // value will be replaced with "sensitive".
 13555  func (s CreateHoursOfOperationInput) String() string {
 13556  	return awsutil.Prettify(s)
 13557  }
 13558  
 13559  // GoString returns the string representation.
 13560  //
 13561  // API parameter values that are decorated as "sensitive" in the API will not
 13562  // be included in the string output. The member name will be present, but the
 13563  // value will be replaced with "sensitive".
 13564  func (s CreateHoursOfOperationInput) GoString() string {
 13565  	return s.String()
 13566  }
 13567  
 13568  // Validate inspects the fields of the type to determine if they are valid.
 13569  func (s *CreateHoursOfOperationInput) Validate() error {
 13570  	invalidParams := request.ErrInvalidParams{Context: "CreateHoursOfOperationInput"}
 13571  	if s.Config == nil {
 13572  		invalidParams.Add(request.NewErrParamRequired("Config"))
 13573  	}
 13574  	if s.Description != nil && len(*s.Description) < 1 {
 13575  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 13576  	}
 13577  	if s.InstanceId == nil {
 13578  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 13579  	}
 13580  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 13581  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 13582  	}
 13583  	if s.Name == nil {
 13584  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13585  	}
 13586  	if s.Name != nil && len(*s.Name) < 1 {
 13587  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13588  	}
 13589  	if s.Tags != nil && len(s.Tags) < 1 {
 13590  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 13591  	}
 13592  	if s.TimeZone == nil {
 13593  		invalidParams.Add(request.NewErrParamRequired("TimeZone"))
 13594  	}
 13595  	if s.Config != nil {
 13596  		for i, v := range s.Config {
 13597  			if v == nil {
 13598  				continue
 13599  			}
 13600  			if err := v.Validate(); err != nil {
 13601  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Config", i), err.(request.ErrInvalidParams))
 13602  			}
 13603  		}
 13604  	}
 13605  
 13606  	if invalidParams.Len() > 0 {
 13607  		return invalidParams
 13608  	}
 13609  	return nil
 13610  }
 13611  
 13612  // SetConfig sets the Config field's value.
 13613  func (s *CreateHoursOfOperationInput) SetConfig(v []*HoursOfOperationConfig) *CreateHoursOfOperationInput {
 13614  	s.Config = v
 13615  	return s
 13616  }
 13617  
 13618  // SetDescription sets the Description field's value.
 13619  func (s *CreateHoursOfOperationInput) SetDescription(v string) *CreateHoursOfOperationInput {
 13620  	s.Description = &v
 13621  	return s
 13622  }
 13623  
 13624  // SetInstanceId sets the InstanceId field's value.
 13625  func (s *CreateHoursOfOperationInput) SetInstanceId(v string) *CreateHoursOfOperationInput {
 13626  	s.InstanceId = &v
 13627  	return s
 13628  }
 13629  
 13630  // SetName sets the Name field's value.
 13631  func (s *CreateHoursOfOperationInput) SetName(v string) *CreateHoursOfOperationInput {
 13632  	s.Name = &v
 13633  	return s
 13634  }
 13635  
 13636  // SetTags sets the Tags field's value.
 13637  func (s *CreateHoursOfOperationInput) SetTags(v map[string]*string) *CreateHoursOfOperationInput {
 13638  	s.Tags = v
 13639  	return s
 13640  }
 13641  
 13642  // SetTimeZone sets the TimeZone field's value.
 13643  func (s *CreateHoursOfOperationInput) SetTimeZone(v string) *CreateHoursOfOperationInput {
 13644  	s.TimeZone = &v
 13645  	return s
 13646  }
 13647  
 13648  type CreateHoursOfOperationOutput struct {
 13649  	_ struct{} `type:"structure"`
 13650  
 13651  	// The Amazon Resource Name (ARN) for the hours of operation.
 13652  	HoursOfOperationArn *string `type:"string"`
 13653  
 13654  	// The identifier for the hours of operation.
 13655  	HoursOfOperationId *string `type:"string"`
 13656  }
 13657  
 13658  // String returns the string representation.
 13659  //
 13660  // API parameter values that are decorated as "sensitive" in the API will not
 13661  // be included in the string output. The member name will be present, but the
 13662  // value will be replaced with "sensitive".
 13663  func (s CreateHoursOfOperationOutput) String() string {
 13664  	return awsutil.Prettify(s)
 13665  }
 13666  
 13667  // GoString returns the string representation.
 13668  //
 13669  // API parameter values that are decorated as "sensitive" in the API will not
 13670  // be included in the string output. The member name will be present, but the
 13671  // value will be replaced with "sensitive".
 13672  func (s CreateHoursOfOperationOutput) GoString() string {
 13673  	return s.String()
 13674  }
 13675  
 13676  // SetHoursOfOperationArn sets the HoursOfOperationArn field's value.
 13677  func (s *CreateHoursOfOperationOutput) SetHoursOfOperationArn(v string) *CreateHoursOfOperationOutput {
 13678  	s.HoursOfOperationArn = &v
 13679  	return s
 13680  }
 13681  
 13682  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 13683  func (s *CreateHoursOfOperationOutput) SetHoursOfOperationId(v string) *CreateHoursOfOperationOutput {
 13684  	s.HoursOfOperationId = &v
 13685  	return s
 13686  }
 13687  
 13688  type CreateInstanceInput struct {
 13689  	_ struct{} `type:"structure"`
 13690  
 13691  	// The idempotency token.
 13692  	ClientToken *string `type:"string"`
 13693  
 13694  	// The identifier for the directory.
 13695  	DirectoryId *string `min:"12" type:"string"`
 13696  
 13697  	// The type of identity management for your Amazon Connect users.
 13698  	//
 13699  	// IdentityManagementType is a required field
 13700  	IdentityManagementType *string `type:"string" required:"true" enum:"DirectoryType"`
 13701  
 13702  	// Your contact center handles incoming contacts.
 13703  	//
 13704  	// InboundCallsEnabled is a required field
 13705  	InboundCallsEnabled *bool `type:"boolean" required:"true"`
 13706  
 13707  	// The name for your instance.
 13708  	//
 13709  	// InstanceAlias is a sensitive parameter and its value will be
 13710  	// replaced with "sensitive" in string returned by CreateInstanceInput's
 13711  	// String and GoString methods.
 13712  	InstanceAlias *string `min:"1" type:"string" sensitive:"true"`
 13713  
 13714  	// Your contact center allows outbound calls.
 13715  	//
 13716  	// OutboundCallsEnabled is a required field
 13717  	OutboundCallsEnabled *bool `type:"boolean" required:"true"`
 13718  }
 13719  
 13720  // String returns the string representation.
 13721  //
 13722  // API parameter values that are decorated as "sensitive" in the API will not
 13723  // be included in the string output. The member name will be present, but the
 13724  // value will be replaced with "sensitive".
 13725  func (s CreateInstanceInput) String() string {
 13726  	return awsutil.Prettify(s)
 13727  }
 13728  
 13729  // GoString returns the string representation.
 13730  //
 13731  // API parameter values that are decorated as "sensitive" in the API will not
 13732  // be included in the string output. The member name will be present, but the
 13733  // value will be replaced with "sensitive".
 13734  func (s CreateInstanceInput) GoString() string {
 13735  	return s.String()
 13736  }
 13737  
 13738  // Validate inspects the fields of the type to determine if they are valid.
 13739  func (s *CreateInstanceInput) Validate() error {
 13740  	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceInput"}
 13741  	if s.DirectoryId != nil && len(*s.DirectoryId) < 12 {
 13742  		invalidParams.Add(request.NewErrParamMinLen("DirectoryId", 12))
 13743  	}
 13744  	if s.IdentityManagementType == nil {
 13745  		invalidParams.Add(request.NewErrParamRequired("IdentityManagementType"))
 13746  	}
 13747  	if s.InboundCallsEnabled == nil {
 13748  		invalidParams.Add(request.NewErrParamRequired("InboundCallsEnabled"))
 13749  	}
 13750  	if s.InstanceAlias != nil && len(*s.InstanceAlias) < 1 {
 13751  		invalidParams.Add(request.NewErrParamMinLen("InstanceAlias", 1))
 13752  	}
 13753  	if s.OutboundCallsEnabled == nil {
 13754  		invalidParams.Add(request.NewErrParamRequired("OutboundCallsEnabled"))
 13755  	}
 13756  
 13757  	if invalidParams.Len() > 0 {
 13758  		return invalidParams
 13759  	}
 13760  	return nil
 13761  }
 13762  
 13763  // SetClientToken sets the ClientToken field's value.
 13764  func (s *CreateInstanceInput) SetClientToken(v string) *CreateInstanceInput {
 13765  	s.ClientToken = &v
 13766  	return s
 13767  }
 13768  
 13769  // SetDirectoryId sets the DirectoryId field's value.
 13770  func (s *CreateInstanceInput) SetDirectoryId(v string) *CreateInstanceInput {
 13771  	s.DirectoryId = &v
 13772  	return s
 13773  }
 13774  
 13775  // SetIdentityManagementType sets the IdentityManagementType field's value.
 13776  func (s *CreateInstanceInput) SetIdentityManagementType(v string) *CreateInstanceInput {
 13777  	s.IdentityManagementType = &v
 13778  	return s
 13779  }
 13780  
 13781  // SetInboundCallsEnabled sets the InboundCallsEnabled field's value.
 13782  func (s *CreateInstanceInput) SetInboundCallsEnabled(v bool) *CreateInstanceInput {
 13783  	s.InboundCallsEnabled = &v
 13784  	return s
 13785  }
 13786  
 13787  // SetInstanceAlias sets the InstanceAlias field's value.
 13788  func (s *CreateInstanceInput) SetInstanceAlias(v string) *CreateInstanceInput {
 13789  	s.InstanceAlias = &v
 13790  	return s
 13791  }
 13792  
 13793  // SetOutboundCallsEnabled sets the OutboundCallsEnabled field's value.
 13794  func (s *CreateInstanceInput) SetOutboundCallsEnabled(v bool) *CreateInstanceInput {
 13795  	s.OutboundCallsEnabled = &v
 13796  	return s
 13797  }
 13798  
 13799  type CreateInstanceOutput struct {
 13800  	_ struct{} `type:"structure"`
 13801  
 13802  	// The Amazon Resource Name (ARN) of the instance.
 13803  	Arn *string `type:"string"`
 13804  
 13805  	// The identifier for the instance.
 13806  	Id *string `min:"1" type:"string"`
 13807  }
 13808  
 13809  // String returns the string representation.
 13810  //
 13811  // API parameter values that are decorated as "sensitive" in the API will not
 13812  // be included in the string output. The member name will be present, but the
 13813  // value will be replaced with "sensitive".
 13814  func (s CreateInstanceOutput) String() string {
 13815  	return awsutil.Prettify(s)
 13816  }
 13817  
 13818  // GoString returns the string representation.
 13819  //
 13820  // API parameter values that are decorated as "sensitive" in the API will not
 13821  // be included in the string output. The member name will be present, but the
 13822  // value will be replaced with "sensitive".
 13823  func (s CreateInstanceOutput) GoString() string {
 13824  	return s.String()
 13825  }
 13826  
 13827  // SetArn sets the Arn field's value.
 13828  func (s *CreateInstanceOutput) SetArn(v string) *CreateInstanceOutput {
 13829  	s.Arn = &v
 13830  	return s
 13831  }
 13832  
 13833  // SetId sets the Id field's value.
 13834  func (s *CreateInstanceOutput) SetId(v string) *CreateInstanceOutput {
 13835  	s.Id = &v
 13836  	return s
 13837  }
 13838  
 13839  type CreateIntegrationAssociationInput struct {
 13840  	_ struct{} `type:"structure"`
 13841  
 13842  	// The identifier of the Amazon Connect instance. You can find the instanceId
 13843  	// in the ARN of the instance.
 13844  	//
 13845  	// InstanceId is a required field
 13846  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 13847  
 13848  	// The Amazon Resource Name (ARN) of the integration.
 13849  	//
 13850  	// IntegrationArn is a required field
 13851  	IntegrationArn *string `type:"string" required:"true"`
 13852  
 13853  	// The type of information to be ingested.
 13854  	//
 13855  	// IntegrationType is a required field
 13856  	IntegrationType *string `type:"string" required:"true" enum:"IntegrationType"`
 13857  
 13858  	// The name of the external application. This field is only required for the
 13859  	// EVENT integration type.
 13860  	SourceApplicationName *string `min:"1" type:"string"`
 13861  
 13862  	// The URL for the external application. This field is only required for the
 13863  	// EVENT integration type.
 13864  	SourceApplicationUrl *string `min:"1" type:"string"`
 13865  
 13866  	// The type of the data source. This field is only required for the EVENT integration
 13867  	// type.
 13868  	SourceType *string `type:"string" enum:"SourceType"`
 13869  
 13870  	// One or more tags.
 13871  	Tags map[string]*string `min:"1" type:"map"`
 13872  }
 13873  
 13874  // String returns the string representation.
 13875  //
 13876  // API parameter values that are decorated as "sensitive" in the API will not
 13877  // be included in the string output. The member name will be present, but the
 13878  // value will be replaced with "sensitive".
 13879  func (s CreateIntegrationAssociationInput) String() string {
 13880  	return awsutil.Prettify(s)
 13881  }
 13882  
 13883  // GoString returns the string representation.
 13884  //
 13885  // API parameter values that are decorated as "sensitive" in the API will not
 13886  // be included in the string output. The member name will be present, but the
 13887  // value will be replaced with "sensitive".
 13888  func (s CreateIntegrationAssociationInput) GoString() string {
 13889  	return s.String()
 13890  }
 13891  
 13892  // Validate inspects the fields of the type to determine if they are valid.
 13893  func (s *CreateIntegrationAssociationInput) Validate() error {
 13894  	invalidParams := request.ErrInvalidParams{Context: "CreateIntegrationAssociationInput"}
 13895  	if s.InstanceId == nil {
 13896  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 13897  	}
 13898  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 13899  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 13900  	}
 13901  	if s.IntegrationArn == nil {
 13902  		invalidParams.Add(request.NewErrParamRequired("IntegrationArn"))
 13903  	}
 13904  	if s.IntegrationType == nil {
 13905  		invalidParams.Add(request.NewErrParamRequired("IntegrationType"))
 13906  	}
 13907  	if s.SourceApplicationName != nil && len(*s.SourceApplicationName) < 1 {
 13908  		invalidParams.Add(request.NewErrParamMinLen("SourceApplicationName", 1))
 13909  	}
 13910  	if s.SourceApplicationUrl != nil && len(*s.SourceApplicationUrl) < 1 {
 13911  		invalidParams.Add(request.NewErrParamMinLen("SourceApplicationUrl", 1))
 13912  	}
 13913  	if s.Tags != nil && len(s.Tags) < 1 {
 13914  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 13915  	}
 13916  
 13917  	if invalidParams.Len() > 0 {
 13918  		return invalidParams
 13919  	}
 13920  	return nil
 13921  }
 13922  
 13923  // SetInstanceId sets the InstanceId field's value.
 13924  func (s *CreateIntegrationAssociationInput) SetInstanceId(v string) *CreateIntegrationAssociationInput {
 13925  	s.InstanceId = &v
 13926  	return s
 13927  }
 13928  
 13929  // SetIntegrationArn sets the IntegrationArn field's value.
 13930  func (s *CreateIntegrationAssociationInput) SetIntegrationArn(v string) *CreateIntegrationAssociationInput {
 13931  	s.IntegrationArn = &v
 13932  	return s
 13933  }
 13934  
 13935  // SetIntegrationType sets the IntegrationType field's value.
 13936  func (s *CreateIntegrationAssociationInput) SetIntegrationType(v string) *CreateIntegrationAssociationInput {
 13937  	s.IntegrationType = &v
 13938  	return s
 13939  }
 13940  
 13941  // SetSourceApplicationName sets the SourceApplicationName field's value.
 13942  func (s *CreateIntegrationAssociationInput) SetSourceApplicationName(v string) *CreateIntegrationAssociationInput {
 13943  	s.SourceApplicationName = &v
 13944  	return s
 13945  }
 13946  
 13947  // SetSourceApplicationUrl sets the SourceApplicationUrl field's value.
 13948  func (s *CreateIntegrationAssociationInput) SetSourceApplicationUrl(v string) *CreateIntegrationAssociationInput {
 13949  	s.SourceApplicationUrl = &v
 13950  	return s
 13951  }
 13952  
 13953  // SetSourceType sets the SourceType field's value.
 13954  func (s *CreateIntegrationAssociationInput) SetSourceType(v string) *CreateIntegrationAssociationInput {
 13955  	s.SourceType = &v
 13956  	return s
 13957  }
 13958  
 13959  // SetTags sets the Tags field's value.
 13960  func (s *CreateIntegrationAssociationInput) SetTags(v map[string]*string) *CreateIntegrationAssociationInput {
 13961  	s.Tags = v
 13962  	return s
 13963  }
 13964  
 13965  type CreateIntegrationAssociationOutput struct {
 13966  	_ struct{} `type:"structure"`
 13967  
 13968  	// The Amazon Resource Name (ARN) for the association.
 13969  	IntegrationAssociationArn *string `type:"string"`
 13970  
 13971  	// The identifier for the integration association.
 13972  	IntegrationAssociationId *string `min:"1" type:"string"`
 13973  }
 13974  
 13975  // String returns the string representation.
 13976  //
 13977  // API parameter values that are decorated as "sensitive" in the API will not
 13978  // be included in the string output. The member name will be present, but the
 13979  // value will be replaced with "sensitive".
 13980  func (s CreateIntegrationAssociationOutput) String() string {
 13981  	return awsutil.Prettify(s)
 13982  }
 13983  
 13984  // GoString returns the string representation.
 13985  //
 13986  // API parameter values that are decorated as "sensitive" in the API will not
 13987  // be included in the string output. The member name will be present, but the
 13988  // value will be replaced with "sensitive".
 13989  func (s CreateIntegrationAssociationOutput) GoString() string {
 13990  	return s.String()
 13991  }
 13992  
 13993  // SetIntegrationAssociationArn sets the IntegrationAssociationArn field's value.
 13994  func (s *CreateIntegrationAssociationOutput) SetIntegrationAssociationArn(v string) *CreateIntegrationAssociationOutput {
 13995  	s.IntegrationAssociationArn = &v
 13996  	return s
 13997  }
 13998  
 13999  // SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
 14000  func (s *CreateIntegrationAssociationOutput) SetIntegrationAssociationId(v string) *CreateIntegrationAssociationOutput {
 14001  	s.IntegrationAssociationId = &v
 14002  	return s
 14003  }
 14004  
 14005  type CreateQueueInput struct {
 14006  	_ struct{} `type:"structure"`
 14007  
 14008  	// The description of the queue.
 14009  	Description *string `min:"1" type:"string"`
 14010  
 14011  	// The identifier for the hours of operation.
 14012  	//
 14013  	// HoursOfOperationId is a required field
 14014  	HoursOfOperationId *string `type:"string" required:"true"`
 14015  
 14016  	// The identifier of the Amazon Connect instance. You can find the instanceId
 14017  	// in the ARN of the instance.
 14018  	//
 14019  	// InstanceId is a required field
 14020  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 14021  
 14022  	// The maximum number of contacts that can be in the queue before it is considered
 14023  	// full.
 14024  	MaxContacts *int64 `type:"integer"`
 14025  
 14026  	// The name of the queue.
 14027  	//
 14028  	// Name is a required field
 14029  	Name *string `min:"1" type:"string" required:"true"`
 14030  
 14031  	// The outbound caller ID name, number, and outbound whisper flow.
 14032  	OutboundCallerConfig *OutboundCallerConfig `type:"structure"`
 14033  
 14034  	// The quick connects available to agents who are working the queue.
 14035  	QuickConnectIds []*string `min:"1" type:"list"`
 14036  
 14037  	// One or more tags.
 14038  	Tags map[string]*string `min:"1" type:"map"`
 14039  }
 14040  
 14041  // String returns the string representation.
 14042  //
 14043  // API parameter values that are decorated as "sensitive" in the API will not
 14044  // be included in the string output. The member name will be present, but the
 14045  // value will be replaced with "sensitive".
 14046  func (s CreateQueueInput) String() string {
 14047  	return awsutil.Prettify(s)
 14048  }
 14049  
 14050  // GoString returns the string representation.
 14051  //
 14052  // API parameter values that are decorated as "sensitive" in the API will not
 14053  // be included in the string output. The member name will be present, but the
 14054  // value will be replaced with "sensitive".
 14055  func (s CreateQueueInput) GoString() string {
 14056  	return s.String()
 14057  }
 14058  
 14059  // Validate inspects the fields of the type to determine if they are valid.
 14060  func (s *CreateQueueInput) Validate() error {
 14061  	invalidParams := request.ErrInvalidParams{Context: "CreateQueueInput"}
 14062  	if s.Description != nil && len(*s.Description) < 1 {
 14063  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 14064  	}
 14065  	if s.HoursOfOperationId == nil {
 14066  		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
 14067  	}
 14068  	if s.InstanceId == nil {
 14069  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 14070  	}
 14071  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 14072  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 14073  	}
 14074  	if s.Name == nil {
 14075  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14076  	}
 14077  	if s.Name != nil && len(*s.Name) < 1 {
 14078  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 14079  	}
 14080  	if s.QuickConnectIds != nil && len(s.QuickConnectIds) < 1 {
 14081  		invalidParams.Add(request.NewErrParamMinLen("QuickConnectIds", 1))
 14082  	}
 14083  	if s.Tags != nil && len(s.Tags) < 1 {
 14084  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 14085  	}
 14086  	if s.OutboundCallerConfig != nil {
 14087  		if err := s.OutboundCallerConfig.Validate(); err != nil {
 14088  			invalidParams.AddNested("OutboundCallerConfig", err.(request.ErrInvalidParams))
 14089  		}
 14090  	}
 14091  
 14092  	if invalidParams.Len() > 0 {
 14093  		return invalidParams
 14094  	}
 14095  	return nil
 14096  }
 14097  
 14098  // SetDescription sets the Description field's value.
 14099  func (s *CreateQueueInput) SetDescription(v string) *CreateQueueInput {
 14100  	s.Description = &v
 14101  	return s
 14102  }
 14103  
 14104  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 14105  func (s *CreateQueueInput) SetHoursOfOperationId(v string) *CreateQueueInput {
 14106  	s.HoursOfOperationId = &v
 14107  	return s
 14108  }
 14109  
 14110  // SetInstanceId sets the InstanceId field's value.
 14111  func (s *CreateQueueInput) SetInstanceId(v string) *CreateQueueInput {
 14112  	s.InstanceId = &v
 14113  	return s
 14114  }
 14115  
 14116  // SetMaxContacts sets the MaxContacts field's value.
 14117  func (s *CreateQueueInput) SetMaxContacts(v int64) *CreateQueueInput {
 14118  	s.MaxContacts = &v
 14119  	return s
 14120  }
 14121  
 14122  // SetName sets the Name field's value.
 14123  func (s *CreateQueueInput) SetName(v string) *CreateQueueInput {
 14124  	s.Name = &v
 14125  	return s
 14126  }
 14127  
 14128  // SetOutboundCallerConfig sets the OutboundCallerConfig field's value.
 14129  func (s *CreateQueueInput) SetOutboundCallerConfig(v *OutboundCallerConfig) *CreateQueueInput {
 14130  	s.OutboundCallerConfig = v
 14131  	return s
 14132  }
 14133  
 14134  // SetQuickConnectIds sets the QuickConnectIds field's value.
 14135  func (s *CreateQueueInput) SetQuickConnectIds(v []*string) *CreateQueueInput {
 14136  	s.QuickConnectIds = v
 14137  	return s
 14138  }
 14139  
 14140  // SetTags sets the Tags field's value.
 14141  func (s *CreateQueueInput) SetTags(v map[string]*string) *CreateQueueInput {
 14142  	s.Tags = v
 14143  	return s
 14144  }
 14145  
 14146  type CreateQueueOutput struct {
 14147  	_ struct{} `type:"structure"`
 14148  
 14149  	// The Amazon Resource Name (ARN) of the queue.
 14150  	QueueArn *string `type:"string"`
 14151  
 14152  	// The identifier for the queue.
 14153  	QueueId *string `type:"string"`
 14154  }
 14155  
 14156  // String returns the string representation.
 14157  //
 14158  // API parameter values that are decorated as "sensitive" in the API will not
 14159  // be included in the string output. The member name will be present, but the
 14160  // value will be replaced with "sensitive".
 14161  func (s CreateQueueOutput) String() string {
 14162  	return awsutil.Prettify(s)
 14163  }
 14164  
 14165  // GoString returns the string representation.
 14166  //
 14167  // API parameter values that are decorated as "sensitive" in the API will not
 14168  // be included in the string output. The member name will be present, but the
 14169  // value will be replaced with "sensitive".
 14170  func (s CreateQueueOutput) GoString() string {
 14171  	return s.String()
 14172  }
 14173  
 14174  // SetQueueArn sets the QueueArn field's value.
 14175  func (s *CreateQueueOutput) SetQueueArn(v string) *CreateQueueOutput {
 14176  	s.QueueArn = &v
 14177  	return s
 14178  }
 14179  
 14180  // SetQueueId sets the QueueId field's value.
 14181  func (s *CreateQueueOutput) SetQueueId(v string) *CreateQueueOutput {
 14182  	s.QueueId = &v
 14183  	return s
 14184  }
 14185  
 14186  type CreateQuickConnectInput struct {
 14187  	_ struct{} `type:"structure"`
 14188  
 14189  	// The description of the quick connect.
 14190  	Description *string `min:"1" type:"string"`
 14191  
 14192  	// The identifier of the Amazon Connect instance. You can find the instanceId
 14193  	// in the ARN of the instance.
 14194  	//
 14195  	// InstanceId is a required field
 14196  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 14197  
 14198  	// The name of the quick connect.
 14199  	//
 14200  	// Name is a required field
 14201  	Name *string `min:"1" type:"string" required:"true"`
 14202  
 14203  	// Configuration settings for the quick connect.
 14204  	//
 14205  	// QuickConnectConfig is a required field
 14206  	QuickConnectConfig *QuickConnectConfig `type:"structure" required:"true"`
 14207  
 14208  	// One or more tags.
 14209  	Tags map[string]*string `min:"1" type:"map"`
 14210  }
 14211  
 14212  // String returns the string representation.
 14213  //
 14214  // API parameter values that are decorated as "sensitive" in the API will not
 14215  // be included in the string output. The member name will be present, but the
 14216  // value will be replaced with "sensitive".
 14217  func (s CreateQuickConnectInput) String() string {
 14218  	return awsutil.Prettify(s)
 14219  }
 14220  
 14221  // GoString returns the string representation.
 14222  //
 14223  // API parameter values that are decorated as "sensitive" in the API will not
 14224  // be included in the string output. The member name will be present, but the
 14225  // value will be replaced with "sensitive".
 14226  func (s CreateQuickConnectInput) GoString() string {
 14227  	return s.String()
 14228  }
 14229  
 14230  // Validate inspects the fields of the type to determine if they are valid.
 14231  func (s *CreateQuickConnectInput) Validate() error {
 14232  	invalidParams := request.ErrInvalidParams{Context: "CreateQuickConnectInput"}
 14233  	if s.Description != nil && len(*s.Description) < 1 {
 14234  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 14235  	}
 14236  	if s.InstanceId == nil {
 14237  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 14238  	}
 14239  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 14240  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 14241  	}
 14242  	if s.Name == nil {
 14243  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14244  	}
 14245  	if s.Name != nil && len(*s.Name) < 1 {
 14246  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 14247  	}
 14248  	if s.QuickConnectConfig == nil {
 14249  		invalidParams.Add(request.NewErrParamRequired("QuickConnectConfig"))
 14250  	}
 14251  	if s.Tags != nil && len(s.Tags) < 1 {
 14252  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 14253  	}
 14254  	if s.QuickConnectConfig != nil {
 14255  		if err := s.QuickConnectConfig.Validate(); err != nil {
 14256  			invalidParams.AddNested("QuickConnectConfig", err.(request.ErrInvalidParams))
 14257  		}
 14258  	}
 14259  
 14260  	if invalidParams.Len() > 0 {
 14261  		return invalidParams
 14262  	}
 14263  	return nil
 14264  }
 14265  
 14266  // SetDescription sets the Description field's value.
 14267  func (s *CreateQuickConnectInput) SetDescription(v string) *CreateQuickConnectInput {
 14268  	s.Description = &v
 14269  	return s
 14270  }
 14271  
 14272  // SetInstanceId sets the InstanceId field's value.
 14273  func (s *CreateQuickConnectInput) SetInstanceId(v string) *CreateQuickConnectInput {
 14274  	s.InstanceId = &v
 14275  	return s
 14276  }
 14277  
 14278  // SetName sets the Name field's value.
 14279  func (s *CreateQuickConnectInput) SetName(v string) *CreateQuickConnectInput {
 14280  	s.Name = &v
 14281  	return s
 14282  }
 14283  
 14284  // SetQuickConnectConfig sets the QuickConnectConfig field's value.
 14285  func (s *CreateQuickConnectInput) SetQuickConnectConfig(v *QuickConnectConfig) *CreateQuickConnectInput {
 14286  	s.QuickConnectConfig = v
 14287  	return s
 14288  }
 14289  
 14290  // SetTags sets the Tags field's value.
 14291  func (s *CreateQuickConnectInput) SetTags(v map[string]*string) *CreateQuickConnectInput {
 14292  	s.Tags = v
 14293  	return s
 14294  }
 14295  
 14296  type CreateQuickConnectOutput struct {
 14297  	_ struct{} `type:"structure"`
 14298  
 14299  	// The Amazon Resource Name (ARN) for the quick connect.
 14300  	QuickConnectARN *string `type:"string"`
 14301  
 14302  	// The identifier for the quick connect.
 14303  	QuickConnectId *string `type:"string"`
 14304  }
 14305  
 14306  // String returns the string representation.
 14307  //
 14308  // API parameter values that are decorated as "sensitive" in the API will not
 14309  // be included in the string output. The member name will be present, but the
 14310  // value will be replaced with "sensitive".
 14311  func (s CreateQuickConnectOutput) String() string {
 14312  	return awsutil.Prettify(s)
 14313  }
 14314  
 14315  // GoString returns the string representation.
 14316  //
 14317  // API parameter values that are decorated as "sensitive" in the API will not
 14318  // be included in the string output. The member name will be present, but the
 14319  // value will be replaced with "sensitive".
 14320  func (s CreateQuickConnectOutput) GoString() string {
 14321  	return s.String()
 14322  }
 14323  
 14324  // SetQuickConnectARN sets the QuickConnectARN field's value.
 14325  func (s *CreateQuickConnectOutput) SetQuickConnectARN(v string) *CreateQuickConnectOutput {
 14326  	s.QuickConnectARN = &v
 14327  	return s
 14328  }
 14329  
 14330  // SetQuickConnectId sets the QuickConnectId field's value.
 14331  func (s *CreateQuickConnectOutput) SetQuickConnectId(v string) *CreateQuickConnectOutput {
 14332  	s.QuickConnectId = &v
 14333  	return s
 14334  }
 14335  
 14336  type CreateRoutingProfileInput struct {
 14337  	_ struct{} `type:"structure"`
 14338  
 14339  	// The default outbound queue for the routing profile.
 14340  	//
 14341  	// DefaultOutboundQueueId is a required field
 14342  	DefaultOutboundQueueId *string `type:"string" required:"true"`
 14343  
 14344  	// Description of the routing profile. Must not be more than 250 characters.
 14345  	//
 14346  	// Description is a required field
 14347  	Description *string `min:"1" type:"string" required:"true"`
 14348  
 14349  	// The identifier of the Amazon Connect instance. You can find the instanceId
 14350  	// in the ARN of the instance.
 14351  	//
 14352  	// InstanceId is a required field
 14353  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 14354  
 14355  	// The channels that agents can handle in the Contact Control Panel (CCP) for
 14356  	// this routing profile.
 14357  	//
 14358  	// MediaConcurrencies is a required field
 14359  	MediaConcurrencies []*MediaConcurrency `type:"list" required:"true"`
 14360  
 14361  	// The name of the routing profile. Must not be more than 127 characters.
 14362  	//
 14363  	// Name is a required field
 14364  	Name *string `min:"1" type:"string" required:"true"`
 14365  
 14366  	// The inbound queues associated with the routing profile. If no queue is added,
 14367  	// the agent can make only outbound calls.
 14368  	QueueConfigs []*RoutingProfileQueueConfig `min:"1" type:"list"`
 14369  
 14370  	// One or more tags.
 14371  	Tags map[string]*string `min:"1" type:"map"`
 14372  }
 14373  
 14374  // String returns the string representation.
 14375  //
 14376  // API parameter values that are decorated as "sensitive" in the API will not
 14377  // be included in the string output. The member name will be present, but the
 14378  // value will be replaced with "sensitive".
 14379  func (s CreateRoutingProfileInput) String() string {
 14380  	return awsutil.Prettify(s)
 14381  }
 14382  
 14383  // GoString returns the string representation.
 14384  //
 14385  // API parameter values that are decorated as "sensitive" in the API will not
 14386  // be included in the string output. The member name will be present, but the
 14387  // value will be replaced with "sensitive".
 14388  func (s CreateRoutingProfileInput) GoString() string {
 14389  	return s.String()
 14390  }
 14391  
 14392  // Validate inspects the fields of the type to determine if they are valid.
 14393  func (s *CreateRoutingProfileInput) Validate() error {
 14394  	invalidParams := request.ErrInvalidParams{Context: "CreateRoutingProfileInput"}
 14395  	if s.DefaultOutboundQueueId == nil {
 14396  		invalidParams.Add(request.NewErrParamRequired("DefaultOutboundQueueId"))
 14397  	}
 14398  	if s.Description == nil {
 14399  		invalidParams.Add(request.NewErrParamRequired("Description"))
 14400  	}
 14401  	if s.Description != nil && len(*s.Description) < 1 {
 14402  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 14403  	}
 14404  	if s.InstanceId == nil {
 14405  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 14406  	}
 14407  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 14408  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 14409  	}
 14410  	if s.MediaConcurrencies == nil {
 14411  		invalidParams.Add(request.NewErrParamRequired("MediaConcurrencies"))
 14412  	}
 14413  	if s.Name == nil {
 14414  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14415  	}
 14416  	if s.Name != nil && len(*s.Name) < 1 {
 14417  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 14418  	}
 14419  	if s.QueueConfigs != nil && len(s.QueueConfigs) < 1 {
 14420  		invalidParams.Add(request.NewErrParamMinLen("QueueConfigs", 1))
 14421  	}
 14422  	if s.Tags != nil && len(s.Tags) < 1 {
 14423  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 14424  	}
 14425  	if s.MediaConcurrencies != nil {
 14426  		for i, v := range s.MediaConcurrencies {
 14427  			if v == nil {
 14428  				continue
 14429  			}
 14430  			if err := v.Validate(); err != nil {
 14431  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaConcurrencies", i), err.(request.ErrInvalidParams))
 14432  			}
 14433  		}
 14434  	}
 14435  	if s.QueueConfigs != nil {
 14436  		for i, v := range s.QueueConfigs {
 14437  			if v == nil {
 14438  				continue
 14439  			}
 14440  			if err := v.Validate(); err != nil {
 14441  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigs", i), err.(request.ErrInvalidParams))
 14442  			}
 14443  		}
 14444  	}
 14445  
 14446  	if invalidParams.Len() > 0 {
 14447  		return invalidParams
 14448  	}
 14449  	return nil
 14450  }
 14451  
 14452  // SetDefaultOutboundQueueId sets the DefaultOutboundQueueId field's value.
 14453  func (s *CreateRoutingProfileInput) SetDefaultOutboundQueueId(v string) *CreateRoutingProfileInput {
 14454  	s.DefaultOutboundQueueId = &v
 14455  	return s
 14456  }
 14457  
 14458  // SetDescription sets the Description field's value.
 14459  func (s *CreateRoutingProfileInput) SetDescription(v string) *CreateRoutingProfileInput {
 14460  	s.Description = &v
 14461  	return s
 14462  }
 14463  
 14464  // SetInstanceId sets the InstanceId field's value.
 14465  func (s *CreateRoutingProfileInput) SetInstanceId(v string) *CreateRoutingProfileInput {
 14466  	s.InstanceId = &v
 14467  	return s
 14468  }
 14469  
 14470  // SetMediaConcurrencies sets the MediaConcurrencies field's value.
 14471  func (s *CreateRoutingProfileInput) SetMediaConcurrencies(v []*MediaConcurrency) *CreateRoutingProfileInput {
 14472  	s.MediaConcurrencies = v
 14473  	return s
 14474  }
 14475  
 14476  // SetName sets the Name field's value.
 14477  func (s *CreateRoutingProfileInput) SetName(v string) *CreateRoutingProfileInput {
 14478  	s.Name = &v
 14479  	return s
 14480  }
 14481  
 14482  // SetQueueConfigs sets the QueueConfigs field's value.
 14483  func (s *CreateRoutingProfileInput) SetQueueConfigs(v []*RoutingProfileQueueConfig) *CreateRoutingProfileInput {
 14484  	s.QueueConfigs = v
 14485  	return s
 14486  }
 14487  
 14488  // SetTags sets the Tags field's value.
 14489  func (s *CreateRoutingProfileInput) SetTags(v map[string]*string) *CreateRoutingProfileInput {
 14490  	s.Tags = v
 14491  	return s
 14492  }
 14493  
 14494  type CreateRoutingProfileOutput struct {
 14495  	_ struct{} `type:"structure"`
 14496  
 14497  	// The Amazon Resource Name (ARN) of the routing profile.
 14498  	RoutingProfileArn *string `type:"string"`
 14499  
 14500  	// The identifier of the routing profile.
 14501  	RoutingProfileId *string `type:"string"`
 14502  }
 14503  
 14504  // String returns the string representation.
 14505  //
 14506  // API parameter values that are decorated as "sensitive" in the API will not
 14507  // be included in the string output. The member name will be present, but the
 14508  // value will be replaced with "sensitive".
 14509  func (s CreateRoutingProfileOutput) String() string {
 14510  	return awsutil.Prettify(s)
 14511  }
 14512  
 14513  // GoString returns the string representation.
 14514  //
 14515  // API parameter values that are decorated as "sensitive" in the API will not
 14516  // be included in the string output. The member name will be present, but the
 14517  // value will be replaced with "sensitive".
 14518  func (s CreateRoutingProfileOutput) GoString() string {
 14519  	return s.String()
 14520  }
 14521  
 14522  // SetRoutingProfileArn sets the RoutingProfileArn field's value.
 14523  func (s *CreateRoutingProfileOutput) SetRoutingProfileArn(v string) *CreateRoutingProfileOutput {
 14524  	s.RoutingProfileArn = &v
 14525  	return s
 14526  }
 14527  
 14528  // SetRoutingProfileId sets the RoutingProfileId field's value.
 14529  func (s *CreateRoutingProfileOutput) SetRoutingProfileId(v string) *CreateRoutingProfileOutput {
 14530  	s.RoutingProfileId = &v
 14531  	return s
 14532  }
 14533  
 14534  type CreateUseCaseInput struct {
 14535  	_ struct{} `type:"structure"`
 14536  
 14537  	// The identifier of the Amazon Connect instance. You can find the instanceId
 14538  	// in the ARN of the instance.
 14539  	//
 14540  	// InstanceId is a required field
 14541  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 14542  
 14543  	// The identifier for the integration association.
 14544  	//
 14545  	// IntegrationAssociationId is a required field
 14546  	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
 14547  
 14548  	// One or more tags.
 14549  	Tags map[string]*string `min:"1" type:"map"`
 14550  
 14551  	// The type of use case to associate to the integration association. Each integration
 14552  	// association can have only one of each use case type.
 14553  	//
 14554  	// UseCaseType is a required field
 14555  	UseCaseType *string `type:"string" required:"true" enum:"UseCaseType"`
 14556  }
 14557  
 14558  // String returns the string representation.
 14559  //
 14560  // API parameter values that are decorated as "sensitive" in the API will not
 14561  // be included in the string output. The member name will be present, but the
 14562  // value will be replaced with "sensitive".
 14563  func (s CreateUseCaseInput) String() string {
 14564  	return awsutil.Prettify(s)
 14565  }
 14566  
 14567  // GoString returns the string representation.
 14568  //
 14569  // API parameter values that are decorated as "sensitive" in the API will not
 14570  // be included in the string output. The member name will be present, but the
 14571  // value will be replaced with "sensitive".
 14572  func (s CreateUseCaseInput) GoString() string {
 14573  	return s.String()
 14574  }
 14575  
 14576  // Validate inspects the fields of the type to determine if they are valid.
 14577  func (s *CreateUseCaseInput) Validate() error {
 14578  	invalidParams := request.ErrInvalidParams{Context: "CreateUseCaseInput"}
 14579  	if s.InstanceId == nil {
 14580  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 14581  	}
 14582  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 14583  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 14584  	}
 14585  	if s.IntegrationAssociationId == nil {
 14586  		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
 14587  	}
 14588  	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
 14589  		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
 14590  	}
 14591  	if s.Tags != nil && len(s.Tags) < 1 {
 14592  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 14593  	}
 14594  	if s.UseCaseType == nil {
 14595  		invalidParams.Add(request.NewErrParamRequired("UseCaseType"))
 14596  	}
 14597  
 14598  	if invalidParams.Len() > 0 {
 14599  		return invalidParams
 14600  	}
 14601  	return nil
 14602  }
 14603  
 14604  // SetInstanceId sets the InstanceId field's value.
 14605  func (s *CreateUseCaseInput) SetInstanceId(v string) *CreateUseCaseInput {
 14606  	s.InstanceId = &v
 14607  	return s
 14608  }
 14609  
 14610  // SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
 14611  func (s *CreateUseCaseInput) SetIntegrationAssociationId(v string) *CreateUseCaseInput {
 14612  	s.IntegrationAssociationId = &v
 14613  	return s
 14614  }
 14615  
 14616  // SetTags sets the Tags field's value.
 14617  func (s *CreateUseCaseInput) SetTags(v map[string]*string) *CreateUseCaseInput {
 14618  	s.Tags = v
 14619  	return s
 14620  }
 14621  
 14622  // SetUseCaseType sets the UseCaseType field's value.
 14623  func (s *CreateUseCaseInput) SetUseCaseType(v string) *CreateUseCaseInput {
 14624  	s.UseCaseType = &v
 14625  	return s
 14626  }
 14627  
 14628  type CreateUseCaseOutput struct {
 14629  	_ struct{} `type:"structure"`
 14630  
 14631  	// The Amazon Resource Name (ARN) for the use case.
 14632  	UseCaseArn *string `type:"string"`
 14633  
 14634  	// The identifier of the use case.
 14635  	UseCaseId *string `min:"1" type:"string"`
 14636  }
 14637  
 14638  // String returns the string representation.
 14639  //
 14640  // API parameter values that are decorated as "sensitive" in the API will not
 14641  // be included in the string output. The member name will be present, but the
 14642  // value will be replaced with "sensitive".
 14643  func (s CreateUseCaseOutput) String() string {
 14644  	return awsutil.Prettify(s)
 14645  }
 14646  
 14647  // GoString returns the string representation.
 14648  //
 14649  // API parameter values that are decorated as "sensitive" in the API will not
 14650  // be included in the string output. The member name will be present, but the
 14651  // value will be replaced with "sensitive".
 14652  func (s CreateUseCaseOutput) GoString() string {
 14653  	return s.String()
 14654  }
 14655  
 14656  // SetUseCaseArn sets the UseCaseArn field's value.
 14657  func (s *CreateUseCaseOutput) SetUseCaseArn(v string) *CreateUseCaseOutput {
 14658  	s.UseCaseArn = &v
 14659  	return s
 14660  }
 14661  
 14662  // SetUseCaseId sets the UseCaseId field's value.
 14663  func (s *CreateUseCaseOutput) SetUseCaseId(v string) *CreateUseCaseOutput {
 14664  	s.UseCaseId = &v
 14665  	return s
 14666  }
 14667  
 14668  type CreateUserHierarchyGroupInput struct {
 14669  	_ struct{} `type:"structure"`
 14670  
 14671  	// The identifier of the Amazon Connect instance. You can find the instanceId
 14672  	// in the ARN of the instance.
 14673  	//
 14674  	// InstanceId is a required field
 14675  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 14676  
 14677  	// The name of the user hierarchy group. Must not be more than 100 characters.
 14678  	//
 14679  	// Name is a required field
 14680  	Name *string `type:"string" required:"true"`
 14681  
 14682  	// The identifier for the parent hierarchy group. The user hierarchy is created
 14683  	// at level one if the parent group ID is null.
 14684  	ParentGroupId *string `type:"string"`
 14685  }
 14686  
 14687  // String returns the string representation.
 14688  //
 14689  // API parameter values that are decorated as "sensitive" in the API will not
 14690  // be included in the string output. The member name will be present, but the
 14691  // value will be replaced with "sensitive".
 14692  func (s CreateUserHierarchyGroupInput) String() string {
 14693  	return awsutil.Prettify(s)
 14694  }
 14695  
 14696  // GoString returns the string representation.
 14697  //
 14698  // API parameter values that are decorated as "sensitive" in the API will not
 14699  // be included in the string output. The member name will be present, but the
 14700  // value will be replaced with "sensitive".
 14701  func (s CreateUserHierarchyGroupInput) GoString() string {
 14702  	return s.String()
 14703  }
 14704  
 14705  // Validate inspects the fields of the type to determine if they are valid.
 14706  func (s *CreateUserHierarchyGroupInput) Validate() error {
 14707  	invalidParams := request.ErrInvalidParams{Context: "CreateUserHierarchyGroupInput"}
 14708  	if s.InstanceId == nil {
 14709  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 14710  	}
 14711  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 14712  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 14713  	}
 14714  	if s.Name == nil {
 14715  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14716  	}
 14717  
 14718  	if invalidParams.Len() > 0 {
 14719  		return invalidParams
 14720  	}
 14721  	return nil
 14722  }
 14723  
 14724  // SetInstanceId sets the InstanceId field's value.
 14725  func (s *CreateUserHierarchyGroupInput) SetInstanceId(v string) *CreateUserHierarchyGroupInput {
 14726  	s.InstanceId = &v
 14727  	return s
 14728  }
 14729  
 14730  // SetName sets the Name field's value.
 14731  func (s *CreateUserHierarchyGroupInput) SetName(v string) *CreateUserHierarchyGroupInput {
 14732  	s.Name = &v
 14733  	return s
 14734  }
 14735  
 14736  // SetParentGroupId sets the ParentGroupId field's value.
 14737  func (s *CreateUserHierarchyGroupInput) SetParentGroupId(v string) *CreateUserHierarchyGroupInput {
 14738  	s.ParentGroupId = &v
 14739  	return s
 14740  }
 14741  
 14742  type CreateUserHierarchyGroupOutput struct {
 14743  	_ struct{} `type:"structure"`
 14744  
 14745  	// The Amazon Resource Name (ARN) of the hierarchy group.
 14746  	HierarchyGroupArn *string `type:"string"`
 14747  
 14748  	// The identifier of the hierarchy group.
 14749  	HierarchyGroupId *string `type:"string"`
 14750  }
 14751  
 14752  // String returns the string representation.
 14753  //
 14754  // API parameter values that are decorated as "sensitive" in the API will not
 14755  // be included in the string output. The member name will be present, but the
 14756  // value will be replaced with "sensitive".
 14757  func (s CreateUserHierarchyGroupOutput) String() string {
 14758  	return awsutil.Prettify(s)
 14759  }
 14760  
 14761  // GoString returns the string representation.
 14762  //
 14763  // API parameter values that are decorated as "sensitive" in the API will not
 14764  // be included in the string output. The member name will be present, but the
 14765  // value will be replaced with "sensitive".
 14766  func (s CreateUserHierarchyGroupOutput) GoString() string {
 14767  	return s.String()
 14768  }
 14769  
 14770  // SetHierarchyGroupArn sets the HierarchyGroupArn field's value.
 14771  func (s *CreateUserHierarchyGroupOutput) SetHierarchyGroupArn(v string) *CreateUserHierarchyGroupOutput {
 14772  	s.HierarchyGroupArn = &v
 14773  	return s
 14774  }
 14775  
 14776  // SetHierarchyGroupId sets the HierarchyGroupId field's value.
 14777  func (s *CreateUserHierarchyGroupOutput) SetHierarchyGroupId(v string) *CreateUserHierarchyGroupOutput {
 14778  	s.HierarchyGroupId = &v
 14779  	return s
 14780  }
 14781  
 14782  type CreateUserInput struct {
 14783  	_ struct{} `type:"structure"`
 14784  
 14785  	// The identifier of the user account in the directory used for identity management.
 14786  	// If Amazon Connect cannot access the directory, you can specify this identifier
 14787  	// to authenticate users. If you include the identifier, we assume that Amazon
 14788  	// Connect cannot access the directory. Otherwise, the identity information
 14789  	// is used to authenticate users from your directory.
 14790  	//
 14791  	// This parameter is required if you are using an existing directory for identity
 14792  	// management in Amazon Connect when Amazon Connect cannot access your directory
 14793  	// to authenticate users. If you are using SAML for identity management and
 14794  	// include this parameter, an error is returned.
 14795  	DirectoryUserId *string `type:"string"`
 14796  
 14797  	// The identifier of the hierarchy group for the user.
 14798  	HierarchyGroupId *string `type:"string"`
 14799  
 14800  	// The information about the identity of the user.
 14801  	IdentityInfo *UserIdentityInfo `type:"structure"`
 14802  
 14803  	// The identifier of the Amazon Connect instance. You can find the instanceId
 14804  	// in the ARN of the instance.
 14805  	//
 14806  	// InstanceId is a required field
 14807  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 14808  
 14809  	// The password for the user account. A password is required if you are using
 14810  	// Amazon Connect for identity management. Otherwise, it is an error to include
 14811  	// a password.
 14812  	Password *string `type:"string"`
 14813  
 14814  	// The phone settings for the user.
 14815  	//
 14816  	// PhoneConfig is a required field
 14817  	PhoneConfig *UserPhoneConfig `type:"structure" required:"true"`
 14818  
 14819  	// The identifier of the routing profile for the user.
 14820  	//
 14821  	// RoutingProfileId is a required field
 14822  	RoutingProfileId *string `type:"string" required:"true"`
 14823  
 14824  	// The identifier of the security profile for the user.
 14825  	//
 14826  	// SecurityProfileIds is a required field
 14827  	SecurityProfileIds []*string `min:"1" type:"list" required:"true"`
 14828  
 14829  	// One or more tags.
 14830  	Tags map[string]*string `min:"1" type:"map"`
 14831  
 14832  	// The user name for the account. For instances not using SAML for identity
 14833  	// management, the user name can include up to 20 characters. If you are using
 14834  	// SAML for identity management, the user name can include up to 64 characters
 14835  	// from [a-zA-Z0-9_-.\@]+.
 14836  	//
 14837  	// Username is a required field
 14838  	Username *string `min:"1" type:"string" required:"true"`
 14839  }
 14840  
 14841  // String returns the string representation.
 14842  //
 14843  // API parameter values that are decorated as "sensitive" in the API will not
 14844  // be included in the string output. The member name will be present, but the
 14845  // value will be replaced with "sensitive".
 14846  func (s CreateUserInput) String() string {
 14847  	return awsutil.Prettify(s)
 14848  }
 14849  
 14850  // GoString returns the string representation.
 14851  //
 14852  // API parameter values that are decorated as "sensitive" in the API will not
 14853  // be included in the string output. The member name will be present, but the
 14854  // value will be replaced with "sensitive".
 14855  func (s CreateUserInput) GoString() string {
 14856  	return s.String()
 14857  }
 14858  
 14859  // Validate inspects the fields of the type to determine if they are valid.
 14860  func (s *CreateUserInput) Validate() error {
 14861  	invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"}
 14862  	if s.InstanceId == nil {
 14863  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 14864  	}
 14865  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 14866  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 14867  	}
 14868  	if s.PhoneConfig == nil {
 14869  		invalidParams.Add(request.NewErrParamRequired("PhoneConfig"))
 14870  	}
 14871  	if s.RoutingProfileId == nil {
 14872  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 14873  	}
 14874  	if s.SecurityProfileIds == nil {
 14875  		invalidParams.Add(request.NewErrParamRequired("SecurityProfileIds"))
 14876  	}
 14877  	if s.SecurityProfileIds != nil && len(s.SecurityProfileIds) < 1 {
 14878  		invalidParams.Add(request.NewErrParamMinLen("SecurityProfileIds", 1))
 14879  	}
 14880  	if s.Tags != nil && len(s.Tags) < 1 {
 14881  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 14882  	}
 14883  	if s.Username == nil {
 14884  		invalidParams.Add(request.NewErrParamRequired("Username"))
 14885  	}
 14886  	if s.Username != nil && len(*s.Username) < 1 {
 14887  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
 14888  	}
 14889  	if s.IdentityInfo != nil {
 14890  		if err := s.IdentityInfo.Validate(); err != nil {
 14891  			invalidParams.AddNested("IdentityInfo", err.(request.ErrInvalidParams))
 14892  		}
 14893  	}
 14894  	if s.PhoneConfig != nil {
 14895  		if err := s.PhoneConfig.Validate(); err != nil {
 14896  			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
 14897  		}
 14898  	}
 14899  
 14900  	if invalidParams.Len() > 0 {
 14901  		return invalidParams
 14902  	}
 14903  	return nil
 14904  }
 14905  
 14906  // SetDirectoryUserId sets the DirectoryUserId field's value.
 14907  func (s *CreateUserInput) SetDirectoryUserId(v string) *CreateUserInput {
 14908  	s.DirectoryUserId = &v
 14909  	return s
 14910  }
 14911  
 14912  // SetHierarchyGroupId sets the HierarchyGroupId field's value.
 14913  func (s *CreateUserInput) SetHierarchyGroupId(v string) *CreateUserInput {
 14914  	s.HierarchyGroupId = &v
 14915  	return s
 14916  }
 14917  
 14918  // SetIdentityInfo sets the IdentityInfo field's value.
 14919  func (s *CreateUserInput) SetIdentityInfo(v *UserIdentityInfo) *CreateUserInput {
 14920  	s.IdentityInfo = v
 14921  	return s
 14922  }
 14923  
 14924  // SetInstanceId sets the InstanceId field's value.
 14925  func (s *CreateUserInput) SetInstanceId(v string) *CreateUserInput {
 14926  	s.InstanceId = &v
 14927  	return s
 14928  }
 14929  
 14930  // SetPassword sets the Password field's value.
 14931  func (s *CreateUserInput) SetPassword(v string) *CreateUserInput {
 14932  	s.Password = &v
 14933  	return s
 14934  }
 14935  
 14936  // SetPhoneConfig sets the PhoneConfig field's value.
 14937  func (s *CreateUserInput) SetPhoneConfig(v *UserPhoneConfig) *CreateUserInput {
 14938  	s.PhoneConfig = v
 14939  	return s
 14940  }
 14941  
 14942  // SetRoutingProfileId sets the RoutingProfileId field's value.
 14943  func (s *CreateUserInput) SetRoutingProfileId(v string) *CreateUserInput {
 14944  	s.RoutingProfileId = &v
 14945  	return s
 14946  }
 14947  
 14948  // SetSecurityProfileIds sets the SecurityProfileIds field's value.
 14949  func (s *CreateUserInput) SetSecurityProfileIds(v []*string) *CreateUserInput {
 14950  	s.SecurityProfileIds = v
 14951  	return s
 14952  }
 14953  
 14954  // SetTags sets the Tags field's value.
 14955  func (s *CreateUserInput) SetTags(v map[string]*string) *CreateUserInput {
 14956  	s.Tags = v
 14957  	return s
 14958  }
 14959  
 14960  // SetUsername sets the Username field's value.
 14961  func (s *CreateUserInput) SetUsername(v string) *CreateUserInput {
 14962  	s.Username = &v
 14963  	return s
 14964  }
 14965  
 14966  type CreateUserOutput struct {
 14967  	_ struct{} `type:"structure"`
 14968  
 14969  	// The Amazon Resource Name (ARN) of the user account.
 14970  	UserArn *string `type:"string"`
 14971  
 14972  	// The identifier of the user account.
 14973  	UserId *string `type:"string"`
 14974  }
 14975  
 14976  // String returns the string representation.
 14977  //
 14978  // API parameter values that are decorated as "sensitive" in the API will not
 14979  // be included in the string output. The member name will be present, but the
 14980  // value will be replaced with "sensitive".
 14981  func (s CreateUserOutput) String() string {
 14982  	return awsutil.Prettify(s)
 14983  }
 14984  
 14985  // GoString returns the string representation.
 14986  //
 14987  // API parameter values that are decorated as "sensitive" in the API will not
 14988  // be included in the string output. The member name will be present, but the
 14989  // value will be replaced with "sensitive".
 14990  func (s CreateUserOutput) GoString() string {
 14991  	return s.String()
 14992  }
 14993  
 14994  // SetUserArn sets the UserArn field's value.
 14995  func (s *CreateUserOutput) SetUserArn(v string) *CreateUserOutput {
 14996  	s.UserArn = &v
 14997  	return s
 14998  }
 14999  
 15000  // SetUserId sets the UserId field's value.
 15001  func (s *CreateUserOutput) SetUserId(v string) *CreateUserOutput {
 15002  	s.UserId = &v
 15003  	return s
 15004  }
 15005  
 15006  // Contains credentials to use for federation.
 15007  type Credentials struct {
 15008  	_ struct{} `type:"structure"`
 15009  
 15010  	// An access token generated for a federated user to access Amazon Connect.
 15011  	//
 15012  	// AccessToken is a sensitive parameter and its value will be
 15013  	// replaced with "sensitive" in string returned by Credentials's
 15014  	// String and GoString methods.
 15015  	AccessToken *string `type:"string" sensitive:"true"`
 15016  
 15017  	// A token generated with an expiration time for the session a user is logged
 15018  	// in to Amazon Connect.
 15019  	AccessTokenExpiration *time.Time `type:"timestamp"`
 15020  
 15021  	// Renews a token generated for a user to access the Amazon Connect instance.
 15022  	//
 15023  	// RefreshToken is a sensitive parameter and its value will be
 15024  	// replaced with "sensitive" in string returned by Credentials's
 15025  	// String and GoString methods.
 15026  	RefreshToken *string `type:"string" sensitive:"true"`
 15027  
 15028  	// Renews the expiration timer for a generated token.
 15029  	RefreshTokenExpiration *time.Time `type:"timestamp"`
 15030  }
 15031  
 15032  // String returns the string representation.
 15033  //
 15034  // API parameter values that are decorated as "sensitive" in the API will not
 15035  // be included in the string output. The member name will be present, but the
 15036  // value will be replaced with "sensitive".
 15037  func (s Credentials) String() string {
 15038  	return awsutil.Prettify(s)
 15039  }
 15040  
 15041  // GoString returns the string representation.
 15042  //
 15043  // API parameter values that are decorated as "sensitive" in the API will not
 15044  // be included in the string output. The member name will be present, but the
 15045  // value will be replaced with "sensitive".
 15046  func (s Credentials) GoString() string {
 15047  	return s.String()
 15048  }
 15049  
 15050  // SetAccessToken sets the AccessToken field's value.
 15051  func (s *Credentials) SetAccessToken(v string) *Credentials {
 15052  	s.AccessToken = &v
 15053  	return s
 15054  }
 15055  
 15056  // SetAccessTokenExpiration sets the AccessTokenExpiration field's value.
 15057  func (s *Credentials) SetAccessTokenExpiration(v time.Time) *Credentials {
 15058  	s.AccessTokenExpiration = &v
 15059  	return s
 15060  }
 15061  
 15062  // SetRefreshToken sets the RefreshToken field's value.
 15063  func (s *Credentials) SetRefreshToken(v string) *Credentials {
 15064  	s.RefreshToken = &v
 15065  	return s
 15066  }
 15067  
 15068  // SetRefreshTokenExpiration sets the RefreshTokenExpiration field's value.
 15069  func (s *Credentials) SetRefreshTokenExpiration(v time.Time) *Credentials {
 15070  	s.RefreshTokenExpiration = &v
 15071  	return s
 15072  }
 15073  
 15074  // Contains information about a real-time metric. For a description of each
 15075  // metric, see Real-time Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html)
 15076  // in the Amazon Connect Administrator Guide.
 15077  type CurrentMetric struct {
 15078  	_ struct{} `type:"structure"`
 15079  
 15080  	// The name of the metric.
 15081  	Name *string `type:"string" enum:"CurrentMetricName"`
 15082  
 15083  	// The unit for the metric.
 15084  	Unit *string `type:"string" enum:"Unit"`
 15085  }
 15086  
 15087  // String returns the string representation.
 15088  //
 15089  // API parameter values that are decorated as "sensitive" in the API will not
 15090  // be included in the string output. The member name will be present, but the
 15091  // value will be replaced with "sensitive".
 15092  func (s CurrentMetric) String() string {
 15093  	return awsutil.Prettify(s)
 15094  }
 15095  
 15096  // GoString returns the string representation.
 15097  //
 15098  // API parameter values that are decorated as "sensitive" in the API will not
 15099  // be included in the string output. The member name will be present, but the
 15100  // value will be replaced with "sensitive".
 15101  func (s CurrentMetric) GoString() string {
 15102  	return s.String()
 15103  }
 15104  
 15105  // SetName sets the Name field's value.
 15106  func (s *CurrentMetric) SetName(v string) *CurrentMetric {
 15107  	s.Name = &v
 15108  	return s
 15109  }
 15110  
 15111  // SetUnit sets the Unit field's value.
 15112  func (s *CurrentMetric) SetUnit(v string) *CurrentMetric {
 15113  	s.Unit = &v
 15114  	return s
 15115  }
 15116  
 15117  // Contains the data for a real-time metric.
 15118  type CurrentMetricData struct {
 15119  	_ struct{} `type:"structure"`
 15120  
 15121  	// Information about the metric.
 15122  	Metric *CurrentMetric `type:"structure"`
 15123  
 15124  	// The value of the metric.
 15125  	Value *float64 `type:"double"`
 15126  }
 15127  
 15128  // String returns the string representation.
 15129  //
 15130  // API parameter values that are decorated as "sensitive" in the API will not
 15131  // be included in the string output. The member name will be present, but the
 15132  // value will be replaced with "sensitive".
 15133  func (s CurrentMetricData) String() string {
 15134  	return awsutil.Prettify(s)
 15135  }
 15136  
 15137  // GoString returns the string representation.
 15138  //
 15139  // API parameter values that are decorated as "sensitive" in the API will not
 15140  // be included in the string output. The member name will be present, but the
 15141  // value will be replaced with "sensitive".
 15142  func (s CurrentMetricData) GoString() string {
 15143  	return s.String()
 15144  }
 15145  
 15146  // SetMetric sets the Metric field's value.
 15147  func (s *CurrentMetricData) SetMetric(v *CurrentMetric) *CurrentMetricData {
 15148  	s.Metric = v
 15149  	return s
 15150  }
 15151  
 15152  // SetValue sets the Value field's value.
 15153  func (s *CurrentMetricData) SetValue(v float64) *CurrentMetricData {
 15154  	s.Value = &v
 15155  	return s
 15156  }
 15157  
 15158  // Contains information about a set of real-time metrics.
 15159  type CurrentMetricResult struct {
 15160  	_ struct{} `type:"structure"`
 15161  
 15162  	// The set of metrics.
 15163  	Collections []*CurrentMetricData `type:"list"`
 15164  
 15165  	// The dimensions for the metrics.
 15166  	Dimensions *Dimensions `type:"structure"`
 15167  }
 15168  
 15169  // String returns the string representation.
 15170  //
 15171  // API parameter values that are decorated as "sensitive" in the API will not
 15172  // be included in the string output. The member name will be present, but the
 15173  // value will be replaced with "sensitive".
 15174  func (s CurrentMetricResult) String() string {
 15175  	return awsutil.Prettify(s)
 15176  }
 15177  
 15178  // GoString returns the string representation.
 15179  //
 15180  // API parameter values that are decorated as "sensitive" in the API will not
 15181  // be included in the string output. The member name will be present, but the
 15182  // value will be replaced with "sensitive".
 15183  func (s CurrentMetricResult) GoString() string {
 15184  	return s.String()
 15185  }
 15186  
 15187  // SetCollections sets the Collections field's value.
 15188  func (s *CurrentMetricResult) SetCollections(v []*CurrentMetricData) *CurrentMetricResult {
 15189  	s.Collections = v
 15190  	return s
 15191  }
 15192  
 15193  // SetDimensions sets the Dimensions field's value.
 15194  func (s *CurrentMetricResult) SetDimensions(v *Dimensions) *CurrentMetricResult {
 15195  	s.Dimensions = v
 15196  	return s
 15197  }
 15198  
 15199  type DeleteHoursOfOperationInput struct {
 15200  	_ struct{} `type:"structure" nopayload:"true"`
 15201  
 15202  	// The identifier for the hours of operation.
 15203  	//
 15204  	// HoursOfOperationId is a required field
 15205  	HoursOfOperationId *string `location:"uri" locationName:"HoursOfOperationId" type:"string" required:"true"`
 15206  
 15207  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15208  	// in the ARN of the instance.
 15209  	//
 15210  	// InstanceId is a required field
 15211  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15212  }
 15213  
 15214  // String returns the string representation.
 15215  //
 15216  // API parameter values that are decorated as "sensitive" in the API will not
 15217  // be included in the string output. The member name will be present, but the
 15218  // value will be replaced with "sensitive".
 15219  func (s DeleteHoursOfOperationInput) String() string {
 15220  	return awsutil.Prettify(s)
 15221  }
 15222  
 15223  // GoString returns the string representation.
 15224  //
 15225  // API parameter values that are decorated as "sensitive" in the API will not
 15226  // be included in the string output. The member name will be present, but the
 15227  // value will be replaced with "sensitive".
 15228  func (s DeleteHoursOfOperationInput) GoString() string {
 15229  	return s.String()
 15230  }
 15231  
 15232  // Validate inspects the fields of the type to determine if they are valid.
 15233  func (s *DeleteHoursOfOperationInput) Validate() error {
 15234  	invalidParams := request.ErrInvalidParams{Context: "DeleteHoursOfOperationInput"}
 15235  	if s.HoursOfOperationId == nil {
 15236  		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
 15237  	}
 15238  	if s.HoursOfOperationId != nil && len(*s.HoursOfOperationId) < 1 {
 15239  		invalidParams.Add(request.NewErrParamMinLen("HoursOfOperationId", 1))
 15240  	}
 15241  	if s.InstanceId == nil {
 15242  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15243  	}
 15244  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15245  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15246  	}
 15247  
 15248  	if invalidParams.Len() > 0 {
 15249  		return invalidParams
 15250  	}
 15251  	return nil
 15252  }
 15253  
 15254  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 15255  func (s *DeleteHoursOfOperationInput) SetHoursOfOperationId(v string) *DeleteHoursOfOperationInput {
 15256  	s.HoursOfOperationId = &v
 15257  	return s
 15258  }
 15259  
 15260  // SetInstanceId sets the InstanceId field's value.
 15261  func (s *DeleteHoursOfOperationInput) SetInstanceId(v string) *DeleteHoursOfOperationInput {
 15262  	s.InstanceId = &v
 15263  	return s
 15264  }
 15265  
 15266  type DeleteHoursOfOperationOutput struct {
 15267  	_ struct{} `type:"structure" nopayload:"true"`
 15268  }
 15269  
 15270  // String returns the string representation.
 15271  //
 15272  // API parameter values that are decorated as "sensitive" in the API will not
 15273  // be included in the string output. The member name will be present, but the
 15274  // value will be replaced with "sensitive".
 15275  func (s DeleteHoursOfOperationOutput) String() string {
 15276  	return awsutil.Prettify(s)
 15277  }
 15278  
 15279  // GoString returns the string representation.
 15280  //
 15281  // API parameter values that are decorated as "sensitive" in the API will not
 15282  // be included in the string output. The member name will be present, but the
 15283  // value will be replaced with "sensitive".
 15284  func (s DeleteHoursOfOperationOutput) GoString() string {
 15285  	return s.String()
 15286  }
 15287  
 15288  type DeleteInstanceInput struct {
 15289  	_ struct{} `type:"structure" nopayload:"true"`
 15290  
 15291  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15292  	// in the ARN of the instance.
 15293  	//
 15294  	// InstanceId is a required field
 15295  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15296  }
 15297  
 15298  // String returns the string representation.
 15299  //
 15300  // API parameter values that are decorated as "sensitive" in the API will not
 15301  // be included in the string output. The member name will be present, but the
 15302  // value will be replaced with "sensitive".
 15303  func (s DeleteInstanceInput) String() string {
 15304  	return awsutil.Prettify(s)
 15305  }
 15306  
 15307  // GoString returns the string representation.
 15308  //
 15309  // API parameter values that are decorated as "sensitive" in the API will not
 15310  // be included in the string output. The member name will be present, but the
 15311  // value will be replaced with "sensitive".
 15312  func (s DeleteInstanceInput) GoString() string {
 15313  	return s.String()
 15314  }
 15315  
 15316  // Validate inspects the fields of the type to determine if they are valid.
 15317  func (s *DeleteInstanceInput) Validate() error {
 15318  	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceInput"}
 15319  	if s.InstanceId == nil {
 15320  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15321  	}
 15322  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15323  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15324  	}
 15325  
 15326  	if invalidParams.Len() > 0 {
 15327  		return invalidParams
 15328  	}
 15329  	return nil
 15330  }
 15331  
 15332  // SetInstanceId sets the InstanceId field's value.
 15333  func (s *DeleteInstanceInput) SetInstanceId(v string) *DeleteInstanceInput {
 15334  	s.InstanceId = &v
 15335  	return s
 15336  }
 15337  
 15338  type DeleteInstanceOutput struct {
 15339  	_ struct{} `type:"structure" nopayload:"true"`
 15340  }
 15341  
 15342  // String returns the string representation.
 15343  //
 15344  // API parameter values that are decorated as "sensitive" in the API will not
 15345  // be included in the string output. The member name will be present, but the
 15346  // value will be replaced with "sensitive".
 15347  func (s DeleteInstanceOutput) String() string {
 15348  	return awsutil.Prettify(s)
 15349  }
 15350  
 15351  // GoString returns the string representation.
 15352  //
 15353  // API parameter values that are decorated as "sensitive" in the API will not
 15354  // be included in the string output. The member name will be present, but the
 15355  // value will be replaced with "sensitive".
 15356  func (s DeleteInstanceOutput) GoString() string {
 15357  	return s.String()
 15358  }
 15359  
 15360  type DeleteIntegrationAssociationInput struct {
 15361  	_ struct{} `type:"structure" nopayload:"true"`
 15362  
 15363  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15364  	// in the ARN of the instance.
 15365  	//
 15366  	// InstanceId is a required field
 15367  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15368  
 15369  	// The identifier for the integration association.
 15370  	//
 15371  	// IntegrationAssociationId is a required field
 15372  	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
 15373  }
 15374  
 15375  // String returns the string representation.
 15376  //
 15377  // API parameter values that are decorated as "sensitive" in the API will not
 15378  // be included in the string output. The member name will be present, but the
 15379  // value will be replaced with "sensitive".
 15380  func (s DeleteIntegrationAssociationInput) String() string {
 15381  	return awsutil.Prettify(s)
 15382  }
 15383  
 15384  // GoString returns the string representation.
 15385  //
 15386  // API parameter values that are decorated as "sensitive" in the API will not
 15387  // be included in the string output. The member name will be present, but the
 15388  // value will be replaced with "sensitive".
 15389  func (s DeleteIntegrationAssociationInput) GoString() string {
 15390  	return s.String()
 15391  }
 15392  
 15393  // Validate inspects the fields of the type to determine if they are valid.
 15394  func (s *DeleteIntegrationAssociationInput) Validate() error {
 15395  	invalidParams := request.ErrInvalidParams{Context: "DeleteIntegrationAssociationInput"}
 15396  	if s.InstanceId == nil {
 15397  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15398  	}
 15399  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15400  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15401  	}
 15402  	if s.IntegrationAssociationId == nil {
 15403  		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
 15404  	}
 15405  	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
 15406  		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
 15407  	}
 15408  
 15409  	if invalidParams.Len() > 0 {
 15410  		return invalidParams
 15411  	}
 15412  	return nil
 15413  }
 15414  
 15415  // SetInstanceId sets the InstanceId field's value.
 15416  func (s *DeleteIntegrationAssociationInput) SetInstanceId(v string) *DeleteIntegrationAssociationInput {
 15417  	s.InstanceId = &v
 15418  	return s
 15419  }
 15420  
 15421  // SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
 15422  func (s *DeleteIntegrationAssociationInput) SetIntegrationAssociationId(v string) *DeleteIntegrationAssociationInput {
 15423  	s.IntegrationAssociationId = &v
 15424  	return s
 15425  }
 15426  
 15427  type DeleteIntegrationAssociationOutput struct {
 15428  	_ struct{} `type:"structure" nopayload:"true"`
 15429  }
 15430  
 15431  // String returns the string representation.
 15432  //
 15433  // API parameter values that are decorated as "sensitive" in the API will not
 15434  // be included in the string output. The member name will be present, but the
 15435  // value will be replaced with "sensitive".
 15436  func (s DeleteIntegrationAssociationOutput) String() string {
 15437  	return awsutil.Prettify(s)
 15438  }
 15439  
 15440  // GoString returns the string representation.
 15441  //
 15442  // API parameter values that are decorated as "sensitive" in the API will not
 15443  // be included in the string output. The member name will be present, but the
 15444  // value will be replaced with "sensitive".
 15445  func (s DeleteIntegrationAssociationOutput) GoString() string {
 15446  	return s.String()
 15447  }
 15448  
 15449  type DeleteQuickConnectInput struct {
 15450  	_ struct{} `type:"structure" nopayload:"true"`
 15451  
 15452  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15453  	// in the ARN of the instance.
 15454  	//
 15455  	// InstanceId is a required field
 15456  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15457  
 15458  	// The identifier for the quick connect.
 15459  	//
 15460  	// QuickConnectId is a required field
 15461  	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
 15462  }
 15463  
 15464  // String returns the string representation.
 15465  //
 15466  // API parameter values that are decorated as "sensitive" in the API will not
 15467  // be included in the string output. The member name will be present, but the
 15468  // value will be replaced with "sensitive".
 15469  func (s DeleteQuickConnectInput) String() string {
 15470  	return awsutil.Prettify(s)
 15471  }
 15472  
 15473  // GoString returns the string representation.
 15474  //
 15475  // API parameter values that are decorated as "sensitive" in the API will not
 15476  // be included in the string output. The member name will be present, but the
 15477  // value will be replaced with "sensitive".
 15478  func (s DeleteQuickConnectInput) GoString() string {
 15479  	return s.String()
 15480  }
 15481  
 15482  // Validate inspects the fields of the type to determine if they are valid.
 15483  func (s *DeleteQuickConnectInput) Validate() error {
 15484  	invalidParams := request.ErrInvalidParams{Context: "DeleteQuickConnectInput"}
 15485  	if s.InstanceId == nil {
 15486  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15487  	}
 15488  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15489  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15490  	}
 15491  	if s.QuickConnectId == nil {
 15492  		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
 15493  	}
 15494  	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
 15495  		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
 15496  	}
 15497  
 15498  	if invalidParams.Len() > 0 {
 15499  		return invalidParams
 15500  	}
 15501  	return nil
 15502  }
 15503  
 15504  // SetInstanceId sets the InstanceId field's value.
 15505  func (s *DeleteQuickConnectInput) SetInstanceId(v string) *DeleteQuickConnectInput {
 15506  	s.InstanceId = &v
 15507  	return s
 15508  }
 15509  
 15510  // SetQuickConnectId sets the QuickConnectId field's value.
 15511  func (s *DeleteQuickConnectInput) SetQuickConnectId(v string) *DeleteQuickConnectInput {
 15512  	s.QuickConnectId = &v
 15513  	return s
 15514  }
 15515  
 15516  type DeleteQuickConnectOutput struct {
 15517  	_ struct{} `type:"structure" nopayload:"true"`
 15518  }
 15519  
 15520  // String returns the string representation.
 15521  //
 15522  // API parameter values that are decorated as "sensitive" in the API will not
 15523  // be included in the string output. The member name will be present, but the
 15524  // value will be replaced with "sensitive".
 15525  func (s DeleteQuickConnectOutput) String() string {
 15526  	return awsutil.Prettify(s)
 15527  }
 15528  
 15529  // GoString returns the string representation.
 15530  //
 15531  // API parameter values that are decorated as "sensitive" in the API will not
 15532  // be included in the string output. The member name will be present, but the
 15533  // value will be replaced with "sensitive".
 15534  func (s DeleteQuickConnectOutput) GoString() string {
 15535  	return s.String()
 15536  }
 15537  
 15538  type DeleteUseCaseInput struct {
 15539  	_ struct{} `type:"structure" nopayload:"true"`
 15540  
 15541  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15542  	// in the ARN of the instance.
 15543  	//
 15544  	// InstanceId is a required field
 15545  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15546  
 15547  	// The identifier for the integration association.
 15548  	//
 15549  	// IntegrationAssociationId is a required field
 15550  	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
 15551  
 15552  	// The identifier for the use case.
 15553  	//
 15554  	// UseCaseId is a required field
 15555  	UseCaseId *string `location:"uri" locationName:"UseCaseId" min:"1" type:"string" required:"true"`
 15556  }
 15557  
 15558  // String returns the string representation.
 15559  //
 15560  // API parameter values that are decorated as "sensitive" in the API will not
 15561  // be included in the string output. The member name will be present, but the
 15562  // value will be replaced with "sensitive".
 15563  func (s DeleteUseCaseInput) String() string {
 15564  	return awsutil.Prettify(s)
 15565  }
 15566  
 15567  // GoString returns the string representation.
 15568  //
 15569  // API parameter values that are decorated as "sensitive" in the API will not
 15570  // be included in the string output. The member name will be present, but the
 15571  // value will be replaced with "sensitive".
 15572  func (s DeleteUseCaseInput) GoString() string {
 15573  	return s.String()
 15574  }
 15575  
 15576  // Validate inspects the fields of the type to determine if they are valid.
 15577  func (s *DeleteUseCaseInput) Validate() error {
 15578  	invalidParams := request.ErrInvalidParams{Context: "DeleteUseCaseInput"}
 15579  	if s.InstanceId == nil {
 15580  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15581  	}
 15582  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15583  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15584  	}
 15585  	if s.IntegrationAssociationId == nil {
 15586  		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
 15587  	}
 15588  	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
 15589  		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
 15590  	}
 15591  	if s.UseCaseId == nil {
 15592  		invalidParams.Add(request.NewErrParamRequired("UseCaseId"))
 15593  	}
 15594  	if s.UseCaseId != nil && len(*s.UseCaseId) < 1 {
 15595  		invalidParams.Add(request.NewErrParamMinLen("UseCaseId", 1))
 15596  	}
 15597  
 15598  	if invalidParams.Len() > 0 {
 15599  		return invalidParams
 15600  	}
 15601  	return nil
 15602  }
 15603  
 15604  // SetInstanceId sets the InstanceId field's value.
 15605  func (s *DeleteUseCaseInput) SetInstanceId(v string) *DeleteUseCaseInput {
 15606  	s.InstanceId = &v
 15607  	return s
 15608  }
 15609  
 15610  // SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
 15611  func (s *DeleteUseCaseInput) SetIntegrationAssociationId(v string) *DeleteUseCaseInput {
 15612  	s.IntegrationAssociationId = &v
 15613  	return s
 15614  }
 15615  
 15616  // SetUseCaseId sets the UseCaseId field's value.
 15617  func (s *DeleteUseCaseInput) SetUseCaseId(v string) *DeleteUseCaseInput {
 15618  	s.UseCaseId = &v
 15619  	return s
 15620  }
 15621  
 15622  type DeleteUseCaseOutput struct {
 15623  	_ struct{} `type:"structure" nopayload:"true"`
 15624  }
 15625  
 15626  // String returns the string representation.
 15627  //
 15628  // API parameter values that are decorated as "sensitive" in the API will not
 15629  // be included in the string output. The member name will be present, but the
 15630  // value will be replaced with "sensitive".
 15631  func (s DeleteUseCaseOutput) String() string {
 15632  	return awsutil.Prettify(s)
 15633  }
 15634  
 15635  // GoString returns the string representation.
 15636  //
 15637  // API parameter values that are decorated as "sensitive" in the API will not
 15638  // be included in the string output. The member name will be present, but the
 15639  // value will be replaced with "sensitive".
 15640  func (s DeleteUseCaseOutput) GoString() string {
 15641  	return s.String()
 15642  }
 15643  
 15644  type DeleteUserHierarchyGroupInput struct {
 15645  	_ struct{} `type:"structure" nopayload:"true"`
 15646  
 15647  	// The identifier of the hierarchy group.
 15648  	//
 15649  	// HierarchyGroupId is a required field
 15650  	HierarchyGroupId *string `location:"uri" locationName:"HierarchyGroupId" type:"string" required:"true"`
 15651  
 15652  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15653  	// in the ARN of the instance.
 15654  	//
 15655  	// InstanceId is a required field
 15656  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15657  }
 15658  
 15659  // String returns the string representation.
 15660  //
 15661  // API parameter values that are decorated as "sensitive" in the API will not
 15662  // be included in the string output. The member name will be present, but the
 15663  // value will be replaced with "sensitive".
 15664  func (s DeleteUserHierarchyGroupInput) String() string {
 15665  	return awsutil.Prettify(s)
 15666  }
 15667  
 15668  // GoString returns the string representation.
 15669  //
 15670  // API parameter values that are decorated as "sensitive" in the API will not
 15671  // be included in the string output. The member name will be present, but the
 15672  // value will be replaced with "sensitive".
 15673  func (s DeleteUserHierarchyGroupInput) GoString() string {
 15674  	return s.String()
 15675  }
 15676  
 15677  // Validate inspects the fields of the type to determine if they are valid.
 15678  func (s *DeleteUserHierarchyGroupInput) Validate() error {
 15679  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserHierarchyGroupInput"}
 15680  	if s.HierarchyGroupId == nil {
 15681  		invalidParams.Add(request.NewErrParamRequired("HierarchyGroupId"))
 15682  	}
 15683  	if s.HierarchyGroupId != nil && len(*s.HierarchyGroupId) < 1 {
 15684  		invalidParams.Add(request.NewErrParamMinLen("HierarchyGroupId", 1))
 15685  	}
 15686  	if s.InstanceId == nil {
 15687  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15688  	}
 15689  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15690  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15691  	}
 15692  
 15693  	if invalidParams.Len() > 0 {
 15694  		return invalidParams
 15695  	}
 15696  	return nil
 15697  }
 15698  
 15699  // SetHierarchyGroupId sets the HierarchyGroupId field's value.
 15700  func (s *DeleteUserHierarchyGroupInput) SetHierarchyGroupId(v string) *DeleteUserHierarchyGroupInput {
 15701  	s.HierarchyGroupId = &v
 15702  	return s
 15703  }
 15704  
 15705  // SetInstanceId sets the InstanceId field's value.
 15706  func (s *DeleteUserHierarchyGroupInput) SetInstanceId(v string) *DeleteUserHierarchyGroupInput {
 15707  	s.InstanceId = &v
 15708  	return s
 15709  }
 15710  
 15711  type DeleteUserHierarchyGroupOutput struct {
 15712  	_ struct{} `type:"structure" nopayload:"true"`
 15713  }
 15714  
 15715  // String returns the string representation.
 15716  //
 15717  // API parameter values that are decorated as "sensitive" in the API will not
 15718  // be included in the string output. The member name will be present, but the
 15719  // value will be replaced with "sensitive".
 15720  func (s DeleteUserHierarchyGroupOutput) String() string {
 15721  	return awsutil.Prettify(s)
 15722  }
 15723  
 15724  // GoString returns the string representation.
 15725  //
 15726  // API parameter values that are decorated as "sensitive" in the API will not
 15727  // be included in the string output. The member name will be present, but the
 15728  // value will be replaced with "sensitive".
 15729  func (s DeleteUserHierarchyGroupOutput) GoString() string {
 15730  	return s.String()
 15731  }
 15732  
 15733  type DeleteUserInput struct {
 15734  	_ struct{} `type:"structure" nopayload:"true"`
 15735  
 15736  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15737  	// in the ARN of the instance.
 15738  	//
 15739  	// InstanceId is a required field
 15740  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15741  
 15742  	// The identifier of the user.
 15743  	//
 15744  	// UserId is a required field
 15745  	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
 15746  }
 15747  
 15748  // String returns the string representation.
 15749  //
 15750  // API parameter values that are decorated as "sensitive" in the API will not
 15751  // be included in the string output. The member name will be present, but the
 15752  // value will be replaced with "sensitive".
 15753  func (s DeleteUserInput) String() string {
 15754  	return awsutil.Prettify(s)
 15755  }
 15756  
 15757  // GoString returns the string representation.
 15758  //
 15759  // API parameter values that are decorated as "sensitive" in the API will not
 15760  // be included in the string output. The member name will be present, but the
 15761  // value will be replaced with "sensitive".
 15762  func (s DeleteUserInput) GoString() string {
 15763  	return s.String()
 15764  }
 15765  
 15766  // Validate inspects the fields of the type to determine if they are valid.
 15767  func (s *DeleteUserInput) Validate() error {
 15768  	invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"}
 15769  	if s.InstanceId == nil {
 15770  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15771  	}
 15772  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15773  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15774  	}
 15775  	if s.UserId == nil {
 15776  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 15777  	}
 15778  	if s.UserId != nil && len(*s.UserId) < 1 {
 15779  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 15780  	}
 15781  
 15782  	if invalidParams.Len() > 0 {
 15783  		return invalidParams
 15784  	}
 15785  	return nil
 15786  }
 15787  
 15788  // SetInstanceId sets the InstanceId field's value.
 15789  func (s *DeleteUserInput) SetInstanceId(v string) *DeleteUserInput {
 15790  	s.InstanceId = &v
 15791  	return s
 15792  }
 15793  
 15794  // SetUserId sets the UserId field's value.
 15795  func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput {
 15796  	s.UserId = &v
 15797  	return s
 15798  }
 15799  
 15800  type DeleteUserOutput struct {
 15801  	_ struct{} `type:"structure" nopayload:"true"`
 15802  }
 15803  
 15804  // String returns the string representation.
 15805  //
 15806  // API parameter values that are decorated as "sensitive" in the API will not
 15807  // be included in the string output. The member name will be present, but the
 15808  // value will be replaced with "sensitive".
 15809  func (s DeleteUserOutput) String() string {
 15810  	return awsutil.Prettify(s)
 15811  }
 15812  
 15813  // GoString returns the string representation.
 15814  //
 15815  // API parameter values that are decorated as "sensitive" in the API will not
 15816  // be included in the string output. The member name will be present, but the
 15817  // value will be replaced with "sensitive".
 15818  func (s DeleteUserOutput) GoString() string {
 15819  	return s.String()
 15820  }
 15821  
 15822  type DescribeAgentStatusInput struct {
 15823  	_ struct{} `type:"structure" nopayload:"true"`
 15824  
 15825  	// The identifier for the agent status.
 15826  	//
 15827  	// AgentStatusId is a required field
 15828  	AgentStatusId *string `location:"uri" locationName:"AgentStatusId" type:"string" required:"true"`
 15829  
 15830  	// The identifier of the Amazon Connect instance. You can find the instanceId
 15831  	// in the ARN of the instance.
 15832  	//
 15833  	// InstanceId is a required field
 15834  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15835  }
 15836  
 15837  // String returns the string representation.
 15838  //
 15839  // API parameter values that are decorated as "sensitive" in the API will not
 15840  // be included in the string output. The member name will be present, but the
 15841  // value will be replaced with "sensitive".
 15842  func (s DescribeAgentStatusInput) String() string {
 15843  	return awsutil.Prettify(s)
 15844  }
 15845  
 15846  // GoString returns the string representation.
 15847  //
 15848  // API parameter values that are decorated as "sensitive" in the API will not
 15849  // be included in the string output. The member name will be present, but the
 15850  // value will be replaced with "sensitive".
 15851  func (s DescribeAgentStatusInput) GoString() string {
 15852  	return s.String()
 15853  }
 15854  
 15855  // Validate inspects the fields of the type to determine if they are valid.
 15856  func (s *DescribeAgentStatusInput) Validate() error {
 15857  	invalidParams := request.ErrInvalidParams{Context: "DescribeAgentStatusInput"}
 15858  	if s.AgentStatusId == nil {
 15859  		invalidParams.Add(request.NewErrParamRequired("AgentStatusId"))
 15860  	}
 15861  	if s.AgentStatusId != nil && len(*s.AgentStatusId) < 1 {
 15862  		invalidParams.Add(request.NewErrParamMinLen("AgentStatusId", 1))
 15863  	}
 15864  	if s.InstanceId == nil {
 15865  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15866  	}
 15867  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15868  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15869  	}
 15870  
 15871  	if invalidParams.Len() > 0 {
 15872  		return invalidParams
 15873  	}
 15874  	return nil
 15875  }
 15876  
 15877  // SetAgentStatusId sets the AgentStatusId field's value.
 15878  func (s *DescribeAgentStatusInput) SetAgentStatusId(v string) *DescribeAgentStatusInput {
 15879  	s.AgentStatusId = &v
 15880  	return s
 15881  }
 15882  
 15883  // SetInstanceId sets the InstanceId field's value.
 15884  func (s *DescribeAgentStatusInput) SetInstanceId(v string) *DescribeAgentStatusInput {
 15885  	s.InstanceId = &v
 15886  	return s
 15887  }
 15888  
 15889  type DescribeAgentStatusOutput struct {
 15890  	_ struct{} `type:"structure"`
 15891  
 15892  	// The agent status.
 15893  	AgentStatus *AgentStatus `type:"structure"`
 15894  }
 15895  
 15896  // String returns the string representation.
 15897  //
 15898  // API parameter values that are decorated as "sensitive" in the API will not
 15899  // be included in the string output. The member name will be present, but the
 15900  // value will be replaced with "sensitive".
 15901  func (s DescribeAgentStatusOutput) String() string {
 15902  	return awsutil.Prettify(s)
 15903  }
 15904  
 15905  // GoString returns the string representation.
 15906  //
 15907  // API parameter values that are decorated as "sensitive" in the API will not
 15908  // be included in the string output. The member name will be present, but the
 15909  // value will be replaced with "sensitive".
 15910  func (s DescribeAgentStatusOutput) GoString() string {
 15911  	return s.String()
 15912  }
 15913  
 15914  // SetAgentStatus sets the AgentStatus field's value.
 15915  func (s *DescribeAgentStatusOutput) SetAgentStatus(v *AgentStatus) *DescribeAgentStatusOutput {
 15916  	s.AgentStatus = v
 15917  	return s
 15918  }
 15919  
 15920  type DescribeContactFlowInput struct {
 15921  	_ struct{} `type:"structure" nopayload:"true"`
 15922  
 15923  	// The identifier of the contact flow.
 15924  	//
 15925  	// ContactFlowId is a required field
 15926  	ContactFlowId *string `location:"uri" locationName:"ContactFlowId" type:"string" required:"true"`
 15927  
 15928  	// The identifier of the Amazon Connect instance.
 15929  	//
 15930  	// InstanceId is a required field
 15931  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 15932  }
 15933  
 15934  // String returns the string representation.
 15935  //
 15936  // API parameter values that are decorated as "sensitive" in the API will not
 15937  // be included in the string output. The member name will be present, but the
 15938  // value will be replaced with "sensitive".
 15939  func (s DescribeContactFlowInput) String() string {
 15940  	return awsutil.Prettify(s)
 15941  }
 15942  
 15943  // GoString returns the string representation.
 15944  //
 15945  // API parameter values that are decorated as "sensitive" in the API will not
 15946  // be included in the string output. The member name will be present, but the
 15947  // value will be replaced with "sensitive".
 15948  func (s DescribeContactFlowInput) GoString() string {
 15949  	return s.String()
 15950  }
 15951  
 15952  // Validate inspects the fields of the type to determine if they are valid.
 15953  func (s *DescribeContactFlowInput) Validate() error {
 15954  	invalidParams := request.ErrInvalidParams{Context: "DescribeContactFlowInput"}
 15955  	if s.ContactFlowId == nil {
 15956  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 15957  	}
 15958  	if s.ContactFlowId != nil && len(*s.ContactFlowId) < 1 {
 15959  		invalidParams.Add(request.NewErrParamMinLen("ContactFlowId", 1))
 15960  	}
 15961  	if s.InstanceId == nil {
 15962  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 15963  	}
 15964  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 15965  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 15966  	}
 15967  
 15968  	if invalidParams.Len() > 0 {
 15969  		return invalidParams
 15970  	}
 15971  	return nil
 15972  }
 15973  
 15974  // SetContactFlowId sets the ContactFlowId field's value.
 15975  func (s *DescribeContactFlowInput) SetContactFlowId(v string) *DescribeContactFlowInput {
 15976  	s.ContactFlowId = &v
 15977  	return s
 15978  }
 15979  
 15980  // SetInstanceId sets the InstanceId field's value.
 15981  func (s *DescribeContactFlowInput) SetInstanceId(v string) *DescribeContactFlowInput {
 15982  	s.InstanceId = &v
 15983  	return s
 15984  }
 15985  
 15986  type DescribeContactFlowOutput struct {
 15987  	_ struct{} `type:"structure"`
 15988  
 15989  	// Information about the contact flow.
 15990  	ContactFlow *ContactFlow `type:"structure"`
 15991  }
 15992  
 15993  // String returns the string representation.
 15994  //
 15995  // API parameter values that are decorated as "sensitive" in the API will not
 15996  // be included in the string output. The member name will be present, but the
 15997  // value will be replaced with "sensitive".
 15998  func (s DescribeContactFlowOutput) String() string {
 15999  	return awsutil.Prettify(s)
 16000  }
 16001  
 16002  // GoString returns the string representation.
 16003  //
 16004  // API parameter values that are decorated as "sensitive" in the API will not
 16005  // be included in the string output. The member name will be present, but the
 16006  // value will be replaced with "sensitive".
 16007  func (s DescribeContactFlowOutput) GoString() string {
 16008  	return s.String()
 16009  }
 16010  
 16011  // SetContactFlow sets the ContactFlow field's value.
 16012  func (s *DescribeContactFlowOutput) SetContactFlow(v *ContactFlow) *DescribeContactFlowOutput {
 16013  	s.ContactFlow = v
 16014  	return s
 16015  }
 16016  
 16017  type DescribeHoursOfOperationInput struct {
 16018  	_ struct{} `type:"structure" nopayload:"true"`
 16019  
 16020  	// The identifier for the hours of operation.
 16021  	//
 16022  	// HoursOfOperationId is a required field
 16023  	HoursOfOperationId *string `location:"uri" locationName:"HoursOfOperationId" type:"string" required:"true"`
 16024  
 16025  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16026  	// in the ARN of the instance.
 16027  	//
 16028  	// InstanceId is a required field
 16029  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16030  }
 16031  
 16032  // String returns the string representation.
 16033  //
 16034  // API parameter values that are decorated as "sensitive" in the API will not
 16035  // be included in the string output. The member name will be present, but the
 16036  // value will be replaced with "sensitive".
 16037  func (s DescribeHoursOfOperationInput) String() string {
 16038  	return awsutil.Prettify(s)
 16039  }
 16040  
 16041  // GoString returns the string representation.
 16042  //
 16043  // API parameter values that are decorated as "sensitive" in the API will not
 16044  // be included in the string output. The member name will be present, but the
 16045  // value will be replaced with "sensitive".
 16046  func (s DescribeHoursOfOperationInput) GoString() string {
 16047  	return s.String()
 16048  }
 16049  
 16050  // Validate inspects the fields of the type to determine if they are valid.
 16051  func (s *DescribeHoursOfOperationInput) Validate() error {
 16052  	invalidParams := request.ErrInvalidParams{Context: "DescribeHoursOfOperationInput"}
 16053  	if s.HoursOfOperationId == nil {
 16054  		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
 16055  	}
 16056  	if s.HoursOfOperationId != nil && len(*s.HoursOfOperationId) < 1 {
 16057  		invalidParams.Add(request.NewErrParamMinLen("HoursOfOperationId", 1))
 16058  	}
 16059  	if s.InstanceId == nil {
 16060  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16061  	}
 16062  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16063  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16064  	}
 16065  
 16066  	if invalidParams.Len() > 0 {
 16067  		return invalidParams
 16068  	}
 16069  	return nil
 16070  }
 16071  
 16072  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 16073  func (s *DescribeHoursOfOperationInput) SetHoursOfOperationId(v string) *DescribeHoursOfOperationInput {
 16074  	s.HoursOfOperationId = &v
 16075  	return s
 16076  }
 16077  
 16078  // SetInstanceId sets the InstanceId field's value.
 16079  func (s *DescribeHoursOfOperationInput) SetInstanceId(v string) *DescribeHoursOfOperationInput {
 16080  	s.InstanceId = &v
 16081  	return s
 16082  }
 16083  
 16084  type DescribeHoursOfOperationOutput struct {
 16085  	_ struct{} `type:"structure"`
 16086  
 16087  	// The hours of operation.
 16088  	HoursOfOperation *HoursOfOperation `type:"structure"`
 16089  }
 16090  
 16091  // String returns the string representation.
 16092  //
 16093  // API parameter values that are decorated as "sensitive" in the API will not
 16094  // be included in the string output. The member name will be present, but the
 16095  // value will be replaced with "sensitive".
 16096  func (s DescribeHoursOfOperationOutput) String() string {
 16097  	return awsutil.Prettify(s)
 16098  }
 16099  
 16100  // GoString returns the string representation.
 16101  //
 16102  // API parameter values that are decorated as "sensitive" in the API will not
 16103  // be included in the string output. The member name will be present, but the
 16104  // value will be replaced with "sensitive".
 16105  func (s DescribeHoursOfOperationOutput) GoString() string {
 16106  	return s.String()
 16107  }
 16108  
 16109  // SetHoursOfOperation sets the HoursOfOperation field's value.
 16110  func (s *DescribeHoursOfOperationOutput) SetHoursOfOperation(v *HoursOfOperation) *DescribeHoursOfOperationOutput {
 16111  	s.HoursOfOperation = v
 16112  	return s
 16113  }
 16114  
 16115  type DescribeInstanceAttributeInput struct {
 16116  	_ struct{} `type:"structure" nopayload:"true"`
 16117  
 16118  	// The type of attribute.
 16119  	//
 16120  	// AttributeType is a required field
 16121  	AttributeType *string `location:"uri" locationName:"AttributeType" type:"string" required:"true" enum:"InstanceAttributeType"`
 16122  
 16123  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16124  	// in the ARN of the instance.
 16125  	//
 16126  	// InstanceId is a required field
 16127  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16128  }
 16129  
 16130  // String returns the string representation.
 16131  //
 16132  // API parameter values that are decorated as "sensitive" in the API will not
 16133  // be included in the string output. The member name will be present, but the
 16134  // value will be replaced with "sensitive".
 16135  func (s DescribeInstanceAttributeInput) String() string {
 16136  	return awsutil.Prettify(s)
 16137  }
 16138  
 16139  // GoString returns the string representation.
 16140  //
 16141  // API parameter values that are decorated as "sensitive" in the API will not
 16142  // be included in the string output. The member name will be present, but the
 16143  // value will be replaced with "sensitive".
 16144  func (s DescribeInstanceAttributeInput) GoString() string {
 16145  	return s.String()
 16146  }
 16147  
 16148  // Validate inspects the fields of the type to determine if they are valid.
 16149  func (s *DescribeInstanceAttributeInput) Validate() error {
 16150  	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
 16151  	if s.AttributeType == nil {
 16152  		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
 16153  	}
 16154  	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
 16155  		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
 16156  	}
 16157  	if s.InstanceId == nil {
 16158  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16159  	}
 16160  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16161  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16162  	}
 16163  
 16164  	if invalidParams.Len() > 0 {
 16165  		return invalidParams
 16166  	}
 16167  	return nil
 16168  }
 16169  
 16170  // SetAttributeType sets the AttributeType field's value.
 16171  func (s *DescribeInstanceAttributeInput) SetAttributeType(v string) *DescribeInstanceAttributeInput {
 16172  	s.AttributeType = &v
 16173  	return s
 16174  }
 16175  
 16176  // SetInstanceId sets the InstanceId field's value.
 16177  func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
 16178  	s.InstanceId = &v
 16179  	return s
 16180  }
 16181  
 16182  type DescribeInstanceAttributeOutput struct {
 16183  	_ struct{} `type:"structure"`
 16184  
 16185  	// The type of attribute.
 16186  	Attribute *Attribute `type:"structure"`
 16187  }
 16188  
 16189  // String returns the string representation.
 16190  //
 16191  // API parameter values that are decorated as "sensitive" in the API will not
 16192  // be included in the string output. The member name will be present, but the
 16193  // value will be replaced with "sensitive".
 16194  func (s DescribeInstanceAttributeOutput) String() string {
 16195  	return awsutil.Prettify(s)
 16196  }
 16197  
 16198  // GoString returns the string representation.
 16199  //
 16200  // API parameter values that are decorated as "sensitive" in the API will not
 16201  // be included in the string output. The member name will be present, but the
 16202  // value will be replaced with "sensitive".
 16203  func (s DescribeInstanceAttributeOutput) GoString() string {
 16204  	return s.String()
 16205  }
 16206  
 16207  // SetAttribute sets the Attribute field's value.
 16208  func (s *DescribeInstanceAttributeOutput) SetAttribute(v *Attribute) *DescribeInstanceAttributeOutput {
 16209  	s.Attribute = v
 16210  	return s
 16211  }
 16212  
 16213  type DescribeInstanceInput struct {
 16214  	_ struct{} `type:"structure" nopayload:"true"`
 16215  
 16216  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16217  	// in the ARN of the instance.
 16218  	//
 16219  	// InstanceId is a required field
 16220  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16221  }
 16222  
 16223  // String returns the string representation.
 16224  //
 16225  // API parameter values that are decorated as "sensitive" in the API will not
 16226  // be included in the string output. The member name will be present, but the
 16227  // value will be replaced with "sensitive".
 16228  func (s DescribeInstanceInput) String() string {
 16229  	return awsutil.Prettify(s)
 16230  }
 16231  
 16232  // GoString returns the string representation.
 16233  //
 16234  // API parameter values that are decorated as "sensitive" in the API will not
 16235  // be included in the string output. The member name will be present, but the
 16236  // value will be replaced with "sensitive".
 16237  func (s DescribeInstanceInput) GoString() string {
 16238  	return s.String()
 16239  }
 16240  
 16241  // Validate inspects the fields of the type to determine if they are valid.
 16242  func (s *DescribeInstanceInput) Validate() error {
 16243  	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceInput"}
 16244  	if s.InstanceId == nil {
 16245  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16246  	}
 16247  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16248  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16249  	}
 16250  
 16251  	if invalidParams.Len() > 0 {
 16252  		return invalidParams
 16253  	}
 16254  	return nil
 16255  }
 16256  
 16257  // SetInstanceId sets the InstanceId field's value.
 16258  func (s *DescribeInstanceInput) SetInstanceId(v string) *DescribeInstanceInput {
 16259  	s.InstanceId = &v
 16260  	return s
 16261  }
 16262  
 16263  type DescribeInstanceOutput struct {
 16264  	_ struct{} `type:"structure"`
 16265  
 16266  	// The name of the instance.
 16267  	Instance *Instance `type:"structure"`
 16268  }
 16269  
 16270  // String returns the string representation.
 16271  //
 16272  // API parameter values that are decorated as "sensitive" in the API will not
 16273  // be included in the string output. The member name will be present, but the
 16274  // value will be replaced with "sensitive".
 16275  func (s DescribeInstanceOutput) String() string {
 16276  	return awsutil.Prettify(s)
 16277  }
 16278  
 16279  // GoString returns the string representation.
 16280  //
 16281  // API parameter values that are decorated as "sensitive" in the API will not
 16282  // be included in the string output. The member name will be present, but the
 16283  // value will be replaced with "sensitive".
 16284  func (s DescribeInstanceOutput) GoString() string {
 16285  	return s.String()
 16286  }
 16287  
 16288  // SetInstance sets the Instance field's value.
 16289  func (s *DescribeInstanceOutput) SetInstance(v *Instance) *DescribeInstanceOutput {
 16290  	s.Instance = v
 16291  	return s
 16292  }
 16293  
 16294  type DescribeInstanceStorageConfigInput struct {
 16295  	_ struct{} `type:"structure" nopayload:"true"`
 16296  
 16297  	// The existing association identifier that uniquely identifies the resource
 16298  	// type and storage config for the given instance ID.
 16299  	//
 16300  	// AssociationId is a required field
 16301  	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
 16302  
 16303  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16304  	// in the ARN of the instance.
 16305  	//
 16306  	// InstanceId is a required field
 16307  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16308  
 16309  	// A valid resource type.
 16310  	//
 16311  	// ResourceType is a required field
 16312  	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
 16313  }
 16314  
 16315  // String returns the string representation.
 16316  //
 16317  // API parameter values that are decorated as "sensitive" in the API will not
 16318  // be included in the string output. The member name will be present, but the
 16319  // value will be replaced with "sensitive".
 16320  func (s DescribeInstanceStorageConfigInput) String() string {
 16321  	return awsutil.Prettify(s)
 16322  }
 16323  
 16324  // GoString returns the string representation.
 16325  //
 16326  // API parameter values that are decorated as "sensitive" in the API will not
 16327  // be included in the string output. The member name will be present, but the
 16328  // value will be replaced with "sensitive".
 16329  func (s DescribeInstanceStorageConfigInput) GoString() string {
 16330  	return s.String()
 16331  }
 16332  
 16333  // Validate inspects the fields of the type to determine if they are valid.
 16334  func (s *DescribeInstanceStorageConfigInput) Validate() error {
 16335  	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceStorageConfigInput"}
 16336  	if s.AssociationId == nil {
 16337  		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
 16338  	}
 16339  	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
 16340  		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
 16341  	}
 16342  	if s.InstanceId == nil {
 16343  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16344  	}
 16345  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16346  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16347  	}
 16348  	if s.ResourceType == nil {
 16349  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 16350  	}
 16351  
 16352  	if invalidParams.Len() > 0 {
 16353  		return invalidParams
 16354  	}
 16355  	return nil
 16356  }
 16357  
 16358  // SetAssociationId sets the AssociationId field's value.
 16359  func (s *DescribeInstanceStorageConfigInput) SetAssociationId(v string) *DescribeInstanceStorageConfigInput {
 16360  	s.AssociationId = &v
 16361  	return s
 16362  }
 16363  
 16364  // SetInstanceId sets the InstanceId field's value.
 16365  func (s *DescribeInstanceStorageConfigInput) SetInstanceId(v string) *DescribeInstanceStorageConfigInput {
 16366  	s.InstanceId = &v
 16367  	return s
 16368  }
 16369  
 16370  // SetResourceType sets the ResourceType field's value.
 16371  func (s *DescribeInstanceStorageConfigInput) SetResourceType(v string) *DescribeInstanceStorageConfigInput {
 16372  	s.ResourceType = &v
 16373  	return s
 16374  }
 16375  
 16376  type DescribeInstanceStorageConfigOutput struct {
 16377  	_ struct{} `type:"structure"`
 16378  
 16379  	// A valid storage type.
 16380  	StorageConfig *InstanceStorageConfig `type:"structure"`
 16381  }
 16382  
 16383  // String returns the string representation.
 16384  //
 16385  // API parameter values that are decorated as "sensitive" in the API will not
 16386  // be included in the string output. The member name will be present, but the
 16387  // value will be replaced with "sensitive".
 16388  func (s DescribeInstanceStorageConfigOutput) String() string {
 16389  	return awsutil.Prettify(s)
 16390  }
 16391  
 16392  // GoString returns the string representation.
 16393  //
 16394  // API parameter values that are decorated as "sensitive" in the API will not
 16395  // be included in the string output. The member name will be present, but the
 16396  // value will be replaced with "sensitive".
 16397  func (s DescribeInstanceStorageConfigOutput) GoString() string {
 16398  	return s.String()
 16399  }
 16400  
 16401  // SetStorageConfig sets the StorageConfig field's value.
 16402  func (s *DescribeInstanceStorageConfigOutput) SetStorageConfig(v *InstanceStorageConfig) *DescribeInstanceStorageConfigOutput {
 16403  	s.StorageConfig = v
 16404  	return s
 16405  }
 16406  
 16407  type DescribeQueueInput struct {
 16408  	_ struct{} `type:"structure" nopayload:"true"`
 16409  
 16410  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16411  	// in the ARN of the instance.
 16412  	//
 16413  	// InstanceId is a required field
 16414  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16415  
 16416  	// The identifier for the queue.
 16417  	//
 16418  	// QueueId is a required field
 16419  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 16420  }
 16421  
 16422  // String returns the string representation.
 16423  //
 16424  // API parameter values that are decorated as "sensitive" in the API will not
 16425  // be included in the string output. The member name will be present, but the
 16426  // value will be replaced with "sensitive".
 16427  func (s DescribeQueueInput) String() string {
 16428  	return awsutil.Prettify(s)
 16429  }
 16430  
 16431  // GoString returns the string representation.
 16432  //
 16433  // API parameter values that are decorated as "sensitive" in the API will not
 16434  // be included in the string output. The member name will be present, but the
 16435  // value will be replaced with "sensitive".
 16436  func (s DescribeQueueInput) GoString() string {
 16437  	return s.String()
 16438  }
 16439  
 16440  // Validate inspects the fields of the type to determine if they are valid.
 16441  func (s *DescribeQueueInput) Validate() error {
 16442  	invalidParams := request.ErrInvalidParams{Context: "DescribeQueueInput"}
 16443  	if s.InstanceId == nil {
 16444  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16445  	}
 16446  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16447  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16448  	}
 16449  	if s.QueueId == nil {
 16450  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 16451  	}
 16452  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 16453  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 16454  	}
 16455  
 16456  	if invalidParams.Len() > 0 {
 16457  		return invalidParams
 16458  	}
 16459  	return nil
 16460  }
 16461  
 16462  // SetInstanceId sets the InstanceId field's value.
 16463  func (s *DescribeQueueInput) SetInstanceId(v string) *DescribeQueueInput {
 16464  	s.InstanceId = &v
 16465  	return s
 16466  }
 16467  
 16468  // SetQueueId sets the QueueId field's value.
 16469  func (s *DescribeQueueInput) SetQueueId(v string) *DescribeQueueInput {
 16470  	s.QueueId = &v
 16471  	return s
 16472  }
 16473  
 16474  type DescribeQueueOutput struct {
 16475  	_ struct{} `type:"structure"`
 16476  
 16477  	// The name of the queue.
 16478  	Queue *Queue `type:"structure"`
 16479  }
 16480  
 16481  // String returns the string representation.
 16482  //
 16483  // API parameter values that are decorated as "sensitive" in the API will not
 16484  // be included in the string output. The member name will be present, but the
 16485  // value will be replaced with "sensitive".
 16486  func (s DescribeQueueOutput) String() string {
 16487  	return awsutil.Prettify(s)
 16488  }
 16489  
 16490  // GoString returns the string representation.
 16491  //
 16492  // API parameter values that are decorated as "sensitive" in the API will not
 16493  // be included in the string output. The member name will be present, but the
 16494  // value will be replaced with "sensitive".
 16495  func (s DescribeQueueOutput) GoString() string {
 16496  	return s.String()
 16497  }
 16498  
 16499  // SetQueue sets the Queue field's value.
 16500  func (s *DescribeQueueOutput) SetQueue(v *Queue) *DescribeQueueOutput {
 16501  	s.Queue = v
 16502  	return s
 16503  }
 16504  
 16505  type DescribeQuickConnectInput struct {
 16506  	_ struct{} `type:"structure" nopayload:"true"`
 16507  
 16508  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16509  	// in the ARN of the instance.
 16510  	//
 16511  	// InstanceId is a required field
 16512  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16513  
 16514  	// The identifier for the quick connect.
 16515  	//
 16516  	// QuickConnectId is a required field
 16517  	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
 16518  }
 16519  
 16520  // String returns the string representation.
 16521  //
 16522  // API parameter values that are decorated as "sensitive" in the API will not
 16523  // be included in the string output. The member name will be present, but the
 16524  // value will be replaced with "sensitive".
 16525  func (s DescribeQuickConnectInput) String() string {
 16526  	return awsutil.Prettify(s)
 16527  }
 16528  
 16529  // GoString returns the string representation.
 16530  //
 16531  // API parameter values that are decorated as "sensitive" in the API will not
 16532  // be included in the string output. The member name will be present, but the
 16533  // value will be replaced with "sensitive".
 16534  func (s DescribeQuickConnectInput) GoString() string {
 16535  	return s.String()
 16536  }
 16537  
 16538  // Validate inspects the fields of the type to determine if they are valid.
 16539  func (s *DescribeQuickConnectInput) Validate() error {
 16540  	invalidParams := request.ErrInvalidParams{Context: "DescribeQuickConnectInput"}
 16541  	if s.InstanceId == nil {
 16542  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16543  	}
 16544  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16545  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16546  	}
 16547  	if s.QuickConnectId == nil {
 16548  		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
 16549  	}
 16550  	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
 16551  		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
 16552  	}
 16553  
 16554  	if invalidParams.Len() > 0 {
 16555  		return invalidParams
 16556  	}
 16557  	return nil
 16558  }
 16559  
 16560  // SetInstanceId sets the InstanceId field's value.
 16561  func (s *DescribeQuickConnectInput) SetInstanceId(v string) *DescribeQuickConnectInput {
 16562  	s.InstanceId = &v
 16563  	return s
 16564  }
 16565  
 16566  // SetQuickConnectId sets the QuickConnectId field's value.
 16567  func (s *DescribeQuickConnectInput) SetQuickConnectId(v string) *DescribeQuickConnectInput {
 16568  	s.QuickConnectId = &v
 16569  	return s
 16570  }
 16571  
 16572  type DescribeQuickConnectOutput struct {
 16573  	_ struct{} `type:"structure"`
 16574  
 16575  	// Information about the quick connect.
 16576  	QuickConnect *QuickConnect `type:"structure"`
 16577  }
 16578  
 16579  // String returns the string representation.
 16580  //
 16581  // API parameter values that are decorated as "sensitive" in the API will not
 16582  // be included in the string output. The member name will be present, but the
 16583  // value will be replaced with "sensitive".
 16584  func (s DescribeQuickConnectOutput) String() string {
 16585  	return awsutil.Prettify(s)
 16586  }
 16587  
 16588  // GoString returns the string representation.
 16589  //
 16590  // API parameter values that are decorated as "sensitive" in the API will not
 16591  // be included in the string output. The member name will be present, but the
 16592  // value will be replaced with "sensitive".
 16593  func (s DescribeQuickConnectOutput) GoString() string {
 16594  	return s.String()
 16595  }
 16596  
 16597  // SetQuickConnect sets the QuickConnect field's value.
 16598  func (s *DescribeQuickConnectOutput) SetQuickConnect(v *QuickConnect) *DescribeQuickConnectOutput {
 16599  	s.QuickConnect = v
 16600  	return s
 16601  }
 16602  
 16603  type DescribeRoutingProfileInput struct {
 16604  	_ struct{} `type:"structure" nopayload:"true"`
 16605  
 16606  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16607  	// in the ARN of the instance.
 16608  	//
 16609  	// InstanceId is a required field
 16610  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16611  
 16612  	// The identifier of the routing profile.
 16613  	//
 16614  	// RoutingProfileId is a required field
 16615  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 16616  }
 16617  
 16618  // String returns the string representation.
 16619  //
 16620  // API parameter values that are decorated as "sensitive" in the API will not
 16621  // be included in the string output. The member name will be present, but the
 16622  // value will be replaced with "sensitive".
 16623  func (s DescribeRoutingProfileInput) String() string {
 16624  	return awsutil.Prettify(s)
 16625  }
 16626  
 16627  // GoString returns the string representation.
 16628  //
 16629  // API parameter values that are decorated as "sensitive" in the API will not
 16630  // be included in the string output. The member name will be present, but the
 16631  // value will be replaced with "sensitive".
 16632  func (s DescribeRoutingProfileInput) GoString() string {
 16633  	return s.String()
 16634  }
 16635  
 16636  // Validate inspects the fields of the type to determine if they are valid.
 16637  func (s *DescribeRoutingProfileInput) Validate() error {
 16638  	invalidParams := request.ErrInvalidParams{Context: "DescribeRoutingProfileInput"}
 16639  	if s.InstanceId == nil {
 16640  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16641  	}
 16642  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16643  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16644  	}
 16645  	if s.RoutingProfileId == nil {
 16646  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 16647  	}
 16648  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 16649  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 16650  	}
 16651  
 16652  	if invalidParams.Len() > 0 {
 16653  		return invalidParams
 16654  	}
 16655  	return nil
 16656  }
 16657  
 16658  // SetInstanceId sets the InstanceId field's value.
 16659  func (s *DescribeRoutingProfileInput) SetInstanceId(v string) *DescribeRoutingProfileInput {
 16660  	s.InstanceId = &v
 16661  	return s
 16662  }
 16663  
 16664  // SetRoutingProfileId sets the RoutingProfileId field's value.
 16665  func (s *DescribeRoutingProfileInput) SetRoutingProfileId(v string) *DescribeRoutingProfileInput {
 16666  	s.RoutingProfileId = &v
 16667  	return s
 16668  }
 16669  
 16670  type DescribeRoutingProfileOutput struct {
 16671  	_ struct{} `type:"structure"`
 16672  
 16673  	// The routing profile.
 16674  	RoutingProfile *RoutingProfile `type:"structure"`
 16675  }
 16676  
 16677  // String returns the string representation.
 16678  //
 16679  // API parameter values that are decorated as "sensitive" in the API will not
 16680  // be included in the string output. The member name will be present, but the
 16681  // value will be replaced with "sensitive".
 16682  func (s DescribeRoutingProfileOutput) String() string {
 16683  	return awsutil.Prettify(s)
 16684  }
 16685  
 16686  // GoString returns the string representation.
 16687  //
 16688  // API parameter values that are decorated as "sensitive" in the API will not
 16689  // be included in the string output. The member name will be present, but the
 16690  // value will be replaced with "sensitive".
 16691  func (s DescribeRoutingProfileOutput) GoString() string {
 16692  	return s.String()
 16693  }
 16694  
 16695  // SetRoutingProfile sets the RoutingProfile field's value.
 16696  func (s *DescribeRoutingProfileOutput) SetRoutingProfile(v *RoutingProfile) *DescribeRoutingProfileOutput {
 16697  	s.RoutingProfile = v
 16698  	return s
 16699  }
 16700  
 16701  type DescribeUserHierarchyGroupInput struct {
 16702  	_ struct{} `type:"structure" nopayload:"true"`
 16703  
 16704  	// The identifier of the hierarchy group.
 16705  	//
 16706  	// HierarchyGroupId is a required field
 16707  	HierarchyGroupId *string `location:"uri" locationName:"HierarchyGroupId" type:"string" required:"true"`
 16708  
 16709  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16710  	// in the ARN of the instance.
 16711  	//
 16712  	// InstanceId is a required field
 16713  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16714  }
 16715  
 16716  // String returns the string representation.
 16717  //
 16718  // API parameter values that are decorated as "sensitive" in the API will not
 16719  // be included in the string output. The member name will be present, but the
 16720  // value will be replaced with "sensitive".
 16721  func (s DescribeUserHierarchyGroupInput) String() string {
 16722  	return awsutil.Prettify(s)
 16723  }
 16724  
 16725  // GoString returns the string representation.
 16726  //
 16727  // API parameter values that are decorated as "sensitive" in the API will not
 16728  // be included in the string output. The member name will be present, but the
 16729  // value will be replaced with "sensitive".
 16730  func (s DescribeUserHierarchyGroupInput) GoString() string {
 16731  	return s.String()
 16732  }
 16733  
 16734  // Validate inspects the fields of the type to determine if they are valid.
 16735  func (s *DescribeUserHierarchyGroupInput) Validate() error {
 16736  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserHierarchyGroupInput"}
 16737  	if s.HierarchyGroupId == nil {
 16738  		invalidParams.Add(request.NewErrParamRequired("HierarchyGroupId"))
 16739  	}
 16740  	if s.HierarchyGroupId != nil && len(*s.HierarchyGroupId) < 1 {
 16741  		invalidParams.Add(request.NewErrParamMinLen("HierarchyGroupId", 1))
 16742  	}
 16743  	if s.InstanceId == nil {
 16744  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16745  	}
 16746  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16747  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16748  	}
 16749  
 16750  	if invalidParams.Len() > 0 {
 16751  		return invalidParams
 16752  	}
 16753  	return nil
 16754  }
 16755  
 16756  // SetHierarchyGroupId sets the HierarchyGroupId field's value.
 16757  func (s *DescribeUserHierarchyGroupInput) SetHierarchyGroupId(v string) *DescribeUserHierarchyGroupInput {
 16758  	s.HierarchyGroupId = &v
 16759  	return s
 16760  }
 16761  
 16762  // SetInstanceId sets the InstanceId field's value.
 16763  func (s *DescribeUserHierarchyGroupInput) SetInstanceId(v string) *DescribeUserHierarchyGroupInput {
 16764  	s.InstanceId = &v
 16765  	return s
 16766  }
 16767  
 16768  type DescribeUserHierarchyGroupOutput struct {
 16769  	_ struct{} `type:"structure"`
 16770  
 16771  	// Information about the hierarchy group.
 16772  	HierarchyGroup *HierarchyGroup `type:"structure"`
 16773  }
 16774  
 16775  // String returns the string representation.
 16776  //
 16777  // API parameter values that are decorated as "sensitive" in the API will not
 16778  // be included in the string output. The member name will be present, but the
 16779  // value will be replaced with "sensitive".
 16780  func (s DescribeUserHierarchyGroupOutput) String() string {
 16781  	return awsutil.Prettify(s)
 16782  }
 16783  
 16784  // GoString returns the string representation.
 16785  //
 16786  // API parameter values that are decorated as "sensitive" in the API will not
 16787  // be included in the string output. The member name will be present, but the
 16788  // value will be replaced with "sensitive".
 16789  func (s DescribeUserHierarchyGroupOutput) GoString() string {
 16790  	return s.String()
 16791  }
 16792  
 16793  // SetHierarchyGroup sets the HierarchyGroup field's value.
 16794  func (s *DescribeUserHierarchyGroupOutput) SetHierarchyGroup(v *HierarchyGroup) *DescribeUserHierarchyGroupOutput {
 16795  	s.HierarchyGroup = v
 16796  	return s
 16797  }
 16798  
 16799  type DescribeUserHierarchyStructureInput struct {
 16800  	_ struct{} `type:"structure" nopayload:"true"`
 16801  
 16802  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16803  	// in the ARN of the instance.
 16804  	//
 16805  	// InstanceId is a required field
 16806  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16807  }
 16808  
 16809  // String returns the string representation.
 16810  //
 16811  // API parameter values that are decorated as "sensitive" in the API will not
 16812  // be included in the string output. The member name will be present, but the
 16813  // value will be replaced with "sensitive".
 16814  func (s DescribeUserHierarchyStructureInput) String() string {
 16815  	return awsutil.Prettify(s)
 16816  }
 16817  
 16818  // GoString returns the string representation.
 16819  //
 16820  // API parameter values that are decorated as "sensitive" in the API will not
 16821  // be included in the string output. The member name will be present, but the
 16822  // value will be replaced with "sensitive".
 16823  func (s DescribeUserHierarchyStructureInput) GoString() string {
 16824  	return s.String()
 16825  }
 16826  
 16827  // Validate inspects the fields of the type to determine if they are valid.
 16828  func (s *DescribeUserHierarchyStructureInput) Validate() error {
 16829  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserHierarchyStructureInput"}
 16830  	if s.InstanceId == nil {
 16831  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16832  	}
 16833  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16834  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16835  	}
 16836  
 16837  	if invalidParams.Len() > 0 {
 16838  		return invalidParams
 16839  	}
 16840  	return nil
 16841  }
 16842  
 16843  // SetInstanceId sets the InstanceId field's value.
 16844  func (s *DescribeUserHierarchyStructureInput) SetInstanceId(v string) *DescribeUserHierarchyStructureInput {
 16845  	s.InstanceId = &v
 16846  	return s
 16847  }
 16848  
 16849  type DescribeUserHierarchyStructureOutput struct {
 16850  	_ struct{} `type:"structure"`
 16851  
 16852  	// Information about the hierarchy structure.
 16853  	HierarchyStructure *HierarchyStructure `type:"structure"`
 16854  }
 16855  
 16856  // String returns the string representation.
 16857  //
 16858  // API parameter values that are decorated as "sensitive" in the API will not
 16859  // be included in the string output. The member name will be present, but the
 16860  // value will be replaced with "sensitive".
 16861  func (s DescribeUserHierarchyStructureOutput) String() string {
 16862  	return awsutil.Prettify(s)
 16863  }
 16864  
 16865  // GoString returns the string representation.
 16866  //
 16867  // API parameter values that are decorated as "sensitive" in the API will not
 16868  // be included in the string output. The member name will be present, but the
 16869  // value will be replaced with "sensitive".
 16870  func (s DescribeUserHierarchyStructureOutput) GoString() string {
 16871  	return s.String()
 16872  }
 16873  
 16874  // SetHierarchyStructure sets the HierarchyStructure field's value.
 16875  func (s *DescribeUserHierarchyStructureOutput) SetHierarchyStructure(v *HierarchyStructure) *DescribeUserHierarchyStructureOutput {
 16876  	s.HierarchyStructure = v
 16877  	return s
 16878  }
 16879  
 16880  type DescribeUserInput struct {
 16881  	_ struct{} `type:"structure" nopayload:"true"`
 16882  
 16883  	// The identifier of the Amazon Connect instance. You can find the instanceId
 16884  	// in the ARN of the instance.
 16885  	//
 16886  	// InstanceId is a required field
 16887  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 16888  
 16889  	// The identifier of the user account.
 16890  	//
 16891  	// UserId is a required field
 16892  	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
 16893  }
 16894  
 16895  // String returns the string representation.
 16896  //
 16897  // API parameter values that are decorated as "sensitive" in the API will not
 16898  // be included in the string output. The member name will be present, but the
 16899  // value will be replaced with "sensitive".
 16900  func (s DescribeUserInput) String() string {
 16901  	return awsutil.Prettify(s)
 16902  }
 16903  
 16904  // GoString returns the string representation.
 16905  //
 16906  // API parameter values that are decorated as "sensitive" in the API will not
 16907  // be included in the string output. The member name will be present, but the
 16908  // value will be replaced with "sensitive".
 16909  func (s DescribeUserInput) GoString() string {
 16910  	return s.String()
 16911  }
 16912  
 16913  // Validate inspects the fields of the type to determine if they are valid.
 16914  func (s *DescribeUserInput) Validate() error {
 16915  	invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"}
 16916  	if s.InstanceId == nil {
 16917  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 16918  	}
 16919  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 16920  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 16921  	}
 16922  	if s.UserId == nil {
 16923  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 16924  	}
 16925  	if s.UserId != nil && len(*s.UserId) < 1 {
 16926  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 16927  	}
 16928  
 16929  	if invalidParams.Len() > 0 {
 16930  		return invalidParams
 16931  	}
 16932  	return nil
 16933  }
 16934  
 16935  // SetInstanceId sets the InstanceId field's value.
 16936  func (s *DescribeUserInput) SetInstanceId(v string) *DescribeUserInput {
 16937  	s.InstanceId = &v
 16938  	return s
 16939  }
 16940  
 16941  // SetUserId sets the UserId field's value.
 16942  func (s *DescribeUserInput) SetUserId(v string) *DescribeUserInput {
 16943  	s.UserId = &v
 16944  	return s
 16945  }
 16946  
 16947  type DescribeUserOutput struct {
 16948  	_ struct{} `type:"structure"`
 16949  
 16950  	// Information about the user account and configuration settings.
 16951  	User *User `type:"structure"`
 16952  }
 16953  
 16954  // String returns the string representation.
 16955  //
 16956  // API parameter values that are decorated as "sensitive" in the API will not
 16957  // be included in the string output. The member name will be present, but the
 16958  // value will be replaced with "sensitive".
 16959  func (s DescribeUserOutput) String() string {
 16960  	return awsutil.Prettify(s)
 16961  }
 16962  
 16963  // GoString returns the string representation.
 16964  //
 16965  // API parameter values that are decorated as "sensitive" in the API will not
 16966  // be included in the string output. The member name will be present, but the
 16967  // value will be replaced with "sensitive".
 16968  func (s DescribeUserOutput) GoString() string {
 16969  	return s.String()
 16970  }
 16971  
 16972  // SetUser sets the User field's value.
 16973  func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput {
 16974  	s.User = v
 16975  	return s
 16976  }
 16977  
 16978  // Outbound calls to the destination number are not allowed.
 16979  type DestinationNotAllowedException struct {
 16980  	_            struct{}                  `type:"structure"`
 16981  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 16982  
 16983  	// The message about the outbound calls.
 16984  	Message_ *string `locationName:"Message" type:"string"`
 16985  }
 16986  
 16987  // String returns the string representation.
 16988  //
 16989  // API parameter values that are decorated as "sensitive" in the API will not
 16990  // be included in the string output. The member name will be present, but the
 16991  // value will be replaced with "sensitive".
 16992  func (s DestinationNotAllowedException) String() string {
 16993  	return awsutil.Prettify(s)
 16994  }
 16995  
 16996  // GoString returns the string representation.
 16997  //
 16998  // API parameter values that are decorated as "sensitive" in the API will not
 16999  // be included in the string output. The member name will be present, but the
 17000  // value will be replaced with "sensitive".
 17001  func (s DestinationNotAllowedException) GoString() string {
 17002  	return s.String()
 17003  }
 17004  
 17005  func newErrorDestinationNotAllowedException(v protocol.ResponseMetadata) error {
 17006  	return &DestinationNotAllowedException{
 17007  		RespMetadata: v,
 17008  	}
 17009  }
 17010  
 17011  // Code returns the exception type name.
 17012  func (s *DestinationNotAllowedException) Code() string {
 17013  	return "DestinationNotAllowedException"
 17014  }
 17015  
 17016  // Message returns the exception's message.
 17017  func (s *DestinationNotAllowedException) Message() string {
 17018  	if s.Message_ != nil {
 17019  		return *s.Message_
 17020  	}
 17021  	return ""
 17022  }
 17023  
 17024  // OrigErr always returns nil, satisfies awserr.Error interface.
 17025  func (s *DestinationNotAllowedException) OrigErr() error {
 17026  	return nil
 17027  }
 17028  
 17029  func (s *DestinationNotAllowedException) Error() string {
 17030  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 17031  }
 17032  
 17033  // Status code returns the HTTP status code for the request's response error.
 17034  func (s *DestinationNotAllowedException) StatusCode() int {
 17035  	return s.RespMetadata.StatusCode
 17036  }
 17037  
 17038  // RequestID returns the service's response RequestID for request.
 17039  func (s *DestinationNotAllowedException) RequestID() string {
 17040  	return s.RespMetadata.RequestID
 17041  }
 17042  
 17043  // Contains information about the dimensions for a set of metrics.
 17044  type Dimensions struct {
 17045  	_ struct{} `type:"structure"`
 17046  
 17047  	// The channel used for grouping and filters.
 17048  	Channel *string `type:"string" enum:"Channel"`
 17049  
 17050  	// Information about the queue for which metrics are returned.
 17051  	Queue *QueueReference `type:"structure"`
 17052  }
 17053  
 17054  // String returns the string representation.
 17055  //
 17056  // API parameter values that are decorated as "sensitive" in the API will not
 17057  // be included in the string output. The member name will be present, but the
 17058  // value will be replaced with "sensitive".
 17059  func (s Dimensions) String() string {
 17060  	return awsutil.Prettify(s)
 17061  }
 17062  
 17063  // GoString returns the string representation.
 17064  //
 17065  // API parameter values that are decorated as "sensitive" in the API will not
 17066  // be included in the string output. The member name will be present, but the
 17067  // value will be replaced with "sensitive".
 17068  func (s Dimensions) GoString() string {
 17069  	return s.String()
 17070  }
 17071  
 17072  // SetChannel sets the Channel field's value.
 17073  func (s *Dimensions) SetChannel(v string) *Dimensions {
 17074  	s.Channel = &v
 17075  	return s
 17076  }
 17077  
 17078  // SetQueue sets the Queue field's value.
 17079  func (s *Dimensions) SetQueue(v *QueueReference) *Dimensions {
 17080  	s.Queue = v
 17081  	return s
 17082  }
 17083  
 17084  type DisassociateApprovedOriginInput struct {
 17085  	_ struct{} `type:"structure" nopayload:"true"`
 17086  
 17087  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17088  	// in the ARN of the instance.
 17089  	//
 17090  	// InstanceId is a required field
 17091  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17092  
 17093  	// The domain URL of the integrated application.
 17094  	//
 17095  	// Origin is a required field
 17096  	Origin *string `location:"querystring" locationName:"origin" type:"string" required:"true"`
 17097  }
 17098  
 17099  // String returns the string representation.
 17100  //
 17101  // API parameter values that are decorated as "sensitive" in the API will not
 17102  // be included in the string output. The member name will be present, but the
 17103  // value will be replaced with "sensitive".
 17104  func (s DisassociateApprovedOriginInput) String() string {
 17105  	return awsutil.Prettify(s)
 17106  }
 17107  
 17108  // GoString returns the string representation.
 17109  //
 17110  // API parameter values that are decorated as "sensitive" in the API will not
 17111  // be included in the string output. The member name will be present, but the
 17112  // value will be replaced with "sensitive".
 17113  func (s DisassociateApprovedOriginInput) GoString() string {
 17114  	return s.String()
 17115  }
 17116  
 17117  // Validate inspects the fields of the type to determine if they are valid.
 17118  func (s *DisassociateApprovedOriginInput) Validate() error {
 17119  	invalidParams := request.ErrInvalidParams{Context: "DisassociateApprovedOriginInput"}
 17120  	if s.InstanceId == nil {
 17121  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17122  	}
 17123  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17124  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17125  	}
 17126  	if s.Origin == nil {
 17127  		invalidParams.Add(request.NewErrParamRequired("Origin"))
 17128  	}
 17129  
 17130  	if invalidParams.Len() > 0 {
 17131  		return invalidParams
 17132  	}
 17133  	return nil
 17134  }
 17135  
 17136  // SetInstanceId sets the InstanceId field's value.
 17137  func (s *DisassociateApprovedOriginInput) SetInstanceId(v string) *DisassociateApprovedOriginInput {
 17138  	s.InstanceId = &v
 17139  	return s
 17140  }
 17141  
 17142  // SetOrigin sets the Origin field's value.
 17143  func (s *DisassociateApprovedOriginInput) SetOrigin(v string) *DisassociateApprovedOriginInput {
 17144  	s.Origin = &v
 17145  	return s
 17146  }
 17147  
 17148  type DisassociateApprovedOriginOutput struct {
 17149  	_ struct{} `type:"structure" nopayload:"true"`
 17150  }
 17151  
 17152  // String returns the string representation.
 17153  //
 17154  // API parameter values that are decorated as "sensitive" in the API will not
 17155  // be included in the string output. The member name will be present, but the
 17156  // value will be replaced with "sensitive".
 17157  func (s DisassociateApprovedOriginOutput) String() string {
 17158  	return awsutil.Prettify(s)
 17159  }
 17160  
 17161  // GoString returns the string representation.
 17162  //
 17163  // API parameter values that are decorated as "sensitive" in the API will not
 17164  // be included in the string output. The member name will be present, but the
 17165  // value will be replaced with "sensitive".
 17166  func (s DisassociateApprovedOriginOutput) GoString() string {
 17167  	return s.String()
 17168  }
 17169  
 17170  type DisassociateBotInput struct {
 17171  	_ struct{} `type:"structure"`
 17172  
 17173  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17174  	// in the ARN of the instance.
 17175  	//
 17176  	// InstanceId is a required field
 17177  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17178  
 17179  	// Configuration information of an Amazon Lex bot.
 17180  	LexBot *LexBot `type:"structure"`
 17181  
 17182  	// The Amazon Lex V2 bot to disassociate from the instance.
 17183  	LexV2Bot *LexV2Bot `type:"structure"`
 17184  }
 17185  
 17186  // String returns the string representation.
 17187  //
 17188  // API parameter values that are decorated as "sensitive" in the API will not
 17189  // be included in the string output. The member name will be present, but the
 17190  // value will be replaced with "sensitive".
 17191  func (s DisassociateBotInput) String() string {
 17192  	return awsutil.Prettify(s)
 17193  }
 17194  
 17195  // GoString returns the string representation.
 17196  //
 17197  // API parameter values that are decorated as "sensitive" in the API will not
 17198  // be included in the string output. The member name will be present, but the
 17199  // value will be replaced with "sensitive".
 17200  func (s DisassociateBotInput) GoString() string {
 17201  	return s.String()
 17202  }
 17203  
 17204  // Validate inspects the fields of the type to determine if they are valid.
 17205  func (s *DisassociateBotInput) Validate() error {
 17206  	invalidParams := request.ErrInvalidParams{Context: "DisassociateBotInput"}
 17207  	if s.InstanceId == nil {
 17208  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17209  	}
 17210  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17211  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17212  	}
 17213  	if s.LexV2Bot != nil {
 17214  		if err := s.LexV2Bot.Validate(); err != nil {
 17215  			invalidParams.AddNested("LexV2Bot", err.(request.ErrInvalidParams))
 17216  		}
 17217  	}
 17218  
 17219  	if invalidParams.Len() > 0 {
 17220  		return invalidParams
 17221  	}
 17222  	return nil
 17223  }
 17224  
 17225  // SetInstanceId sets the InstanceId field's value.
 17226  func (s *DisassociateBotInput) SetInstanceId(v string) *DisassociateBotInput {
 17227  	s.InstanceId = &v
 17228  	return s
 17229  }
 17230  
 17231  // SetLexBot sets the LexBot field's value.
 17232  func (s *DisassociateBotInput) SetLexBot(v *LexBot) *DisassociateBotInput {
 17233  	s.LexBot = v
 17234  	return s
 17235  }
 17236  
 17237  // SetLexV2Bot sets the LexV2Bot field's value.
 17238  func (s *DisassociateBotInput) SetLexV2Bot(v *LexV2Bot) *DisassociateBotInput {
 17239  	s.LexV2Bot = v
 17240  	return s
 17241  }
 17242  
 17243  type DisassociateBotOutput struct {
 17244  	_ struct{} `type:"structure" nopayload:"true"`
 17245  }
 17246  
 17247  // String returns the string representation.
 17248  //
 17249  // API parameter values that are decorated as "sensitive" in the API will not
 17250  // be included in the string output. The member name will be present, but the
 17251  // value will be replaced with "sensitive".
 17252  func (s DisassociateBotOutput) String() string {
 17253  	return awsutil.Prettify(s)
 17254  }
 17255  
 17256  // GoString returns the string representation.
 17257  //
 17258  // API parameter values that are decorated as "sensitive" in the API will not
 17259  // be included in the string output. The member name will be present, but the
 17260  // value will be replaced with "sensitive".
 17261  func (s DisassociateBotOutput) GoString() string {
 17262  	return s.String()
 17263  }
 17264  
 17265  type DisassociateInstanceStorageConfigInput struct {
 17266  	_ struct{} `type:"structure" nopayload:"true"`
 17267  
 17268  	// The existing association identifier that uniquely identifies the resource
 17269  	// type and storage config for the given instance ID.
 17270  	//
 17271  	// AssociationId is a required field
 17272  	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
 17273  
 17274  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17275  	// in the ARN of the instance.
 17276  	//
 17277  	// InstanceId is a required field
 17278  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17279  
 17280  	// A valid resource type.
 17281  	//
 17282  	// ResourceType is a required field
 17283  	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
 17284  }
 17285  
 17286  // String returns the string representation.
 17287  //
 17288  // API parameter values that are decorated as "sensitive" in the API will not
 17289  // be included in the string output. The member name will be present, but the
 17290  // value will be replaced with "sensitive".
 17291  func (s DisassociateInstanceStorageConfigInput) String() string {
 17292  	return awsutil.Prettify(s)
 17293  }
 17294  
 17295  // GoString returns the string representation.
 17296  //
 17297  // API parameter values that are decorated as "sensitive" in the API will not
 17298  // be included in the string output. The member name will be present, but the
 17299  // value will be replaced with "sensitive".
 17300  func (s DisassociateInstanceStorageConfigInput) GoString() string {
 17301  	return s.String()
 17302  }
 17303  
 17304  // Validate inspects the fields of the type to determine if they are valid.
 17305  func (s *DisassociateInstanceStorageConfigInput) Validate() error {
 17306  	invalidParams := request.ErrInvalidParams{Context: "DisassociateInstanceStorageConfigInput"}
 17307  	if s.AssociationId == nil {
 17308  		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
 17309  	}
 17310  	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
 17311  		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
 17312  	}
 17313  	if s.InstanceId == nil {
 17314  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17315  	}
 17316  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17317  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17318  	}
 17319  	if s.ResourceType == nil {
 17320  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 17321  	}
 17322  
 17323  	if invalidParams.Len() > 0 {
 17324  		return invalidParams
 17325  	}
 17326  	return nil
 17327  }
 17328  
 17329  // SetAssociationId sets the AssociationId field's value.
 17330  func (s *DisassociateInstanceStorageConfigInput) SetAssociationId(v string) *DisassociateInstanceStorageConfigInput {
 17331  	s.AssociationId = &v
 17332  	return s
 17333  }
 17334  
 17335  // SetInstanceId sets the InstanceId field's value.
 17336  func (s *DisassociateInstanceStorageConfigInput) SetInstanceId(v string) *DisassociateInstanceStorageConfigInput {
 17337  	s.InstanceId = &v
 17338  	return s
 17339  }
 17340  
 17341  // SetResourceType sets the ResourceType field's value.
 17342  func (s *DisassociateInstanceStorageConfigInput) SetResourceType(v string) *DisassociateInstanceStorageConfigInput {
 17343  	s.ResourceType = &v
 17344  	return s
 17345  }
 17346  
 17347  type DisassociateInstanceStorageConfigOutput struct {
 17348  	_ struct{} `type:"structure" nopayload:"true"`
 17349  }
 17350  
 17351  // String returns the string representation.
 17352  //
 17353  // API parameter values that are decorated as "sensitive" in the API will not
 17354  // be included in the string output. The member name will be present, but the
 17355  // value will be replaced with "sensitive".
 17356  func (s DisassociateInstanceStorageConfigOutput) String() string {
 17357  	return awsutil.Prettify(s)
 17358  }
 17359  
 17360  // GoString returns the string representation.
 17361  //
 17362  // API parameter values that are decorated as "sensitive" in the API will not
 17363  // be included in the string output. The member name will be present, but the
 17364  // value will be replaced with "sensitive".
 17365  func (s DisassociateInstanceStorageConfigOutput) GoString() string {
 17366  	return s.String()
 17367  }
 17368  
 17369  type DisassociateLambdaFunctionInput struct {
 17370  	_ struct{} `type:"structure" nopayload:"true"`
 17371  
 17372  	// The Amazon Resource Name (ARN) of the Lambda function being disassociated.
 17373  	//
 17374  	// FunctionArn is a required field
 17375  	FunctionArn *string `location:"querystring" locationName:"functionArn" min:"1" type:"string" required:"true"`
 17376  
 17377  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17378  	// in the ARN of the instance..
 17379  	//
 17380  	// InstanceId is a required field
 17381  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17382  }
 17383  
 17384  // String returns the string representation.
 17385  //
 17386  // API parameter values that are decorated as "sensitive" in the API will not
 17387  // be included in the string output. The member name will be present, but the
 17388  // value will be replaced with "sensitive".
 17389  func (s DisassociateLambdaFunctionInput) String() string {
 17390  	return awsutil.Prettify(s)
 17391  }
 17392  
 17393  // GoString returns the string representation.
 17394  //
 17395  // API parameter values that are decorated as "sensitive" in the API will not
 17396  // be included in the string output. The member name will be present, but the
 17397  // value will be replaced with "sensitive".
 17398  func (s DisassociateLambdaFunctionInput) GoString() string {
 17399  	return s.String()
 17400  }
 17401  
 17402  // Validate inspects the fields of the type to determine if they are valid.
 17403  func (s *DisassociateLambdaFunctionInput) Validate() error {
 17404  	invalidParams := request.ErrInvalidParams{Context: "DisassociateLambdaFunctionInput"}
 17405  	if s.FunctionArn == nil {
 17406  		invalidParams.Add(request.NewErrParamRequired("FunctionArn"))
 17407  	}
 17408  	if s.FunctionArn != nil && len(*s.FunctionArn) < 1 {
 17409  		invalidParams.Add(request.NewErrParamMinLen("FunctionArn", 1))
 17410  	}
 17411  	if s.InstanceId == nil {
 17412  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17413  	}
 17414  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17415  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17416  	}
 17417  
 17418  	if invalidParams.Len() > 0 {
 17419  		return invalidParams
 17420  	}
 17421  	return nil
 17422  }
 17423  
 17424  // SetFunctionArn sets the FunctionArn field's value.
 17425  func (s *DisassociateLambdaFunctionInput) SetFunctionArn(v string) *DisassociateLambdaFunctionInput {
 17426  	s.FunctionArn = &v
 17427  	return s
 17428  }
 17429  
 17430  // SetInstanceId sets the InstanceId field's value.
 17431  func (s *DisassociateLambdaFunctionInput) SetInstanceId(v string) *DisassociateLambdaFunctionInput {
 17432  	s.InstanceId = &v
 17433  	return s
 17434  }
 17435  
 17436  type DisassociateLambdaFunctionOutput struct {
 17437  	_ struct{} `type:"structure" nopayload:"true"`
 17438  }
 17439  
 17440  // String returns the string representation.
 17441  //
 17442  // API parameter values that are decorated as "sensitive" in the API will not
 17443  // be included in the string output. The member name will be present, but the
 17444  // value will be replaced with "sensitive".
 17445  func (s DisassociateLambdaFunctionOutput) String() string {
 17446  	return awsutil.Prettify(s)
 17447  }
 17448  
 17449  // GoString returns the string representation.
 17450  //
 17451  // API parameter values that are decorated as "sensitive" in the API will not
 17452  // be included in the string output. The member name will be present, but the
 17453  // value will be replaced with "sensitive".
 17454  func (s DisassociateLambdaFunctionOutput) GoString() string {
 17455  	return s.String()
 17456  }
 17457  
 17458  type DisassociateLexBotInput struct {
 17459  	_ struct{} `type:"structure" nopayload:"true"`
 17460  
 17461  	// The name of the Amazon Lex bot. Maximum character limit of 50.
 17462  	//
 17463  	// BotName is a required field
 17464  	BotName *string `location:"querystring" locationName:"botName" type:"string" required:"true"`
 17465  
 17466  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17467  	// in the ARN of the instance.
 17468  	//
 17469  	// InstanceId is a required field
 17470  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17471  
 17472  	// The Region in which the Amazon Lex bot has been created.
 17473  	//
 17474  	// LexRegion is a required field
 17475  	LexRegion *string `location:"querystring" locationName:"lexRegion" type:"string" required:"true"`
 17476  }
 17477  
 17478  // String returns the string representation.
 17479  //
 17480  // API parameter values that are decorated as "sensitive" in the API will not
 17481  // be included in the string output. The member name will be present, but the
 17482  // value will be replaced with "sensitive".
 17483  func (s DisassociateLexBotInput) String() string {
 17484  	return awsutil.Prettify(s)
 17485  }
 17486  
 17487  // GoString returns the string representation.
 17488  //
 17489  // API parameter values that are decorated as "sensitive" in the API will not
 17490  // be included in the string output. The member name will be present, but the
 17491  // value will be replaced with "sensitive".
 17492  func (s DisassociateLexBotInput) GoString() string {
 17493  	return s.String()
 17494  }
 17495  
 17496  // Validate inspects the fields of the type to determine if they are valid.
 17497  func (s *DisassociateLexBotInput) Validate() error {
 17498  	invalidParams := request.ErrInvalidParams{Context: "DisassociateLexBotInput"}
 17499  	if s.BotName == nil {
 17500  		invalidParams.Add(request.NewErrParamRequired("BotName"))
 17501  	}
 17502  	if s.InstanceId == nil {
 17503  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17504  	}
 17505  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17506  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17507  	}
 17508  	if s.LexRegion == nil {
 17509  		invalidParams.Add(request.NewErrParamRequired("LexRegion"))
 17510  	}
 17511  
 17512  	if invalidParams.Len() > 0 {
 17513  		return invalidParams
 17514  	}
 17515  	return nil
 17516  }
 17517  
 17518  // SetBotName sets the BotName field's value.
 17519  func (s *DisassociateLexBotInput) SetBotName(v string) *DisassociateLexBotInput {
 17520  	s.BotName = &v
 17521  	return s
 17522  }
 17523  
 17524  // SetInstanceId sets the InstanceId field's value.
 17525  func (s *DisassociateLexBotInput) SetInstanceId(v string) *DisassociateLexBotInput {
 17526  	s.InstanceId = &v
 17527  	return s
 17528  }
 17529  
 17530  // SetLexRegion sets the LexRegion field's value.
 17531  func (s *DisassociateLexBotInput) SetLexRegion(v string) *DisassociateLexBotInput {
 17532  	s.LexRegion = &v
 17533  	return s
 17534  }
 17535  
 17536  type DisassociateLexBotOutput struct {
 17537  	_ struct{} `type:"structure" nopayload:"true"`
 17538  }
 17539  
 17540  // String returns the string representation.
 17541  //
 17542  // API parameter values that are decorated as "sensitive" in the API will not
 17543  // be included in the string output. The member name will be present, but the
 17544  // value will be replaced with "sensitive".
 17545  func (s DisassociateLexBotOutput) String() string {
 17546  	return awsutil.Prettify(s)
 17547  }
 17548  
 17549  // GoString returns the string representation.
 17550  //
 17551  // API parameter values that are decorated as "sensitive" in the API will not
 17552  // be included in the string output. The member name will be present, but the
 17553  // value will be replaced with "sensitive".
 17554  func (s DisassociateLexBotOutput) GoString() string {
 17555  	return s.String()
 17556  }
 17557  
 17558  type DisassociateQueueQuickConnectsInput struct {
 17559  	_ struct{} `type:"structure"`
 17560  
 17561  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17562  	// in the ARN of the instance.
 17563  	//
 17564  	// InstanceId is a required field
 17565  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17566  
 17567  	// The identifier for the queue.
 17568  	//
 17569  	// QueueId is a required field
 17570  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 17571  
 17572  	// The quick connects to disassociate from the queue.
 17573  	//
 17574  	// QuickConnectIds is a required field
 17575  	QuickConnectIds []*string `min:"1" type:"list" required:"true"`
 17576  }
 17577  
 17578  // String returns the string representation.
 17579  //
 17580  // API parameter values that are decorated as "sensitive" in the API will not
 17581  // be included in the string output. The member name will be present, but the
 17582  // value will be replaced with "sensitive".
 17583  func (s DisassociateQueueQuickConnectsInput) String() string {
 17584  	return awsutil.Prettify(s)
 17585  }
 17586  
 17587  // GoString returns the string representation.
 17588  //
 17589  // API parameter values that are decorated as "sensitive" in the API will not
 17590  // be included in the string output. The member name will be present, but the
 17591  // value will be replaced with "sensitive".
 17592  func (s DisassociateQueueQuickConnectsInput) GoString() string {
 17593  	return s.String()
 17594  }
 17595  
 17596  // Validate inspects the fields of the type to determine if they are valid.
 17597  func (s *DisassociateQueueQuickConnectsInput) Validate() error {
 17598  	invalidParams := request.ErrInvalidParams{Context: "DisassociateQueueQuickConnectsInput"}
 17599  	if s.InstanceId == nil {
 17600  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17601  	}
 17602  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17603  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17604  	}
 17605  	if s.QueueId == nil {
 17606  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 17607  	}
 17608  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 17609  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 17610  	}
 17611  	if s.QuickConnectIds == nil {
 17612  		invalidParams.Add(request.NewErrParamRequired("QuickConnectIds"))
 17613  	}
 17614  	if s.QuickConnectIds != nil && len(s.QuickConnectIds) < 1 {
 17615  		invalidParams.Add(request.NewErrParamMinLen("QuickConnectIds", 1))
 17616  	}
 17617  
 17618  	if invalidParams.Len() > 0 {
 17619  		return invalidParams
 17620  	}
 17621  	return nil
 17622  }
 17623  
 17624  // SetInstanceId sets the InstanceId field's value.
 17625  func (s *DisassociateQueueQuickConnectsInput) SetInstanceId(v string) *DisassociateQueueQuickConnectsInput {
 17626  	s.InstanceId = &v
 17627  	return s
 17628  }
 17629  
 17630  // SetQueueId sets the QueueId field's value.
 17631  func (s *DisassociateQueueQuickConnectsInput) SetQueueId(v string) *DisassociateQueueQuickConnectsInput {
 17632  	s.QueueId = &v
 17633  	return s
 17634  }
 17635  
 17636  // SetQuickConnectIds sets the QuickConnectIds field's value.
 17637  func (s *DisassociateQueueQuickConnectsInput) SetQuickConnectIds(v []*string) *DisassociateQueueQuickConnectsInput {
 17638  	s.QuickConnectIds = v
 17639  	return s
 17640  }
 17641  
 17642  type DisassociateQueueQuickConnectsOutput struct {
 17643  	_ struct{} `type:"structure" nopayload:"true"`
 17644  }
 17645  
 17646  // String returns the string representation.
 17647  //
 17648  // API parameter values that are decorated as "sensitive" in the API will not
 17649  // be included in the string output. The member name will be present, but the
 17650  // value will be replaced with "sensitive".
 17651  func (s DisassociateQueueQuickConnectsOutput) String() string {
 17652  	return awsutil.Prettify(s)
 17653  }
 17654  
 17655  // GoString returns the string representation.
 17656  //
 17657  // API parameter values that are decorated as "sensitive" in the API will not
 17658  // be included in the string output. The member name will be present, but the
 17659  // value will be replaced with "sensitive".
 17660  func (s DisassociateQueueQuickConnectsOutput) GoString() string {
 17661  	return s.String()
 17662  }
 17663  
 17664  type DisassociateRoutingProfileQueuesInput struct {
 17665  	_ struct{} `type:"structure"`
 17666  
 17667  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17668  	// in the ARN of the instance.
 17669  	//
 17670  	// InstanceId is a required field
 17671  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17672  
 17673  	// The queues to disassociate from this routing profile.
 17674  	//
 17675  	// QueueReferences is a required field
 17676  	QueueReferences []*RoutingProfileQueueReference `type:"list" required:"true"`
 17677  
 17678  	// The identifier of the routing profile.
 17679  	//
 17680  	// RoutingProfileId is a required field
 17681  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 17682  }
 17683  
 17684  // String returns the string representation.
 17685  //
 17686  // API parameter values that are decorated as "sensitive" in the API will not
 17687  // be included in the string output. The member name will be present, but the
 17688  // value will be replaced with "sensitive".
 17689  func (s DisassociateRoutingProfileQueuesInput) String() string {
 17690  	return awsutil.Prettify(s)
 17691  }
 17692  
 17693  // GoString returns the string representation.
 17694  //
 17695  // API parameter values that are decorated as "sensitive" in the API will not
 17696  // be included in the string output. The member name will be present, but the
 17697  // value will be replaced with "sensitive".
 17698  func (s DisassociateRoutingProfileQueuesInput) GoString() string {
 17699  	return s.String()
 17700  }
 17701  
 17702  // Validate inspects the fields of the type to determine if they are valid.
 17703  func (s *DisassociateRoutingProfileQueuesInput) Validate() error {
 17704  	invalidParams := request.ErrInvalidParams{Context: "DisassociateRoutingProfileQueuesInput"}
 17705  	if s.InstanceId == nil {
 17706  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17707  	}
 17708  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17709  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17710  	}
 17711  	if s.QueueReferences == nil {
 17712  		invalidParams.Add(request.NewErrParamRequired("QueueReferences"))
 17713  	}
 17714  	if s.RoutingProfileId == nil {
 17715  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 17716  	}
 17717  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 17718  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 17719  	}
 17720  	if s.QueueReferences != nil {
 17721  		for i, v := range s.QueueReferences {
 17722  			if v == nil {
 17723  				continue
 17724  			}
 17725  			if err := v.Validate(); err != nil {
 17726  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueReferences", i), err.(request.ErrInvalidParams))
 17727  			}
 17728  		}
 17729  	}
 17730  
 17731  	if invalidParams.Len() > 0 {
 17732  		return invalidParams
 17733  	}
 17734  	return nil
 17735  }
 17736  
 17737  // SetInstanceId sets the InstanceId field's value.
 17738  func (s *DisassociateRoutingProfileQueuesInput) SetInstanceId(v string) *DisassociateRoutingProfileQueuesInput {
 17739  	s.InstanceId = &v
 17740  	return s
 17741  }
 17742  
 17743  // SetQueueReferences sets the QueueReferences field's value.
 17744  func (s *DisassociateRoutingProfileQueuesInput) SetQueueReferences(v []*RoutingProfileQueueReference) *DisassociateRoutingProfileQueuesInput {
 17745  	s.QueueReferences = v
 17746  	return s
 17747  }
 17748  
 17749  // SetRoutingProfileId sets the RoutingProfileId field's value.
 17750  func (s *DisassociateRoutingProfileQueuesInput) SetRoutingProfileId(v string) *DisassociateRoutingProfileQueuesInput {
 17751  	s.RoutingProfileId = &v
 17752  	return s
 17753  }
 17754  
 17755  type DisassociateRoutingProfileQueuesOutput struct {
 17756  	_ struct{} `type:"structure" nopayload:"true"`
 17757  }
 17758  
 17759  // String returns the string representation.
 17760  //
 17761  // API parameter values that are decorated as "sensitive" in the API will not
 17762  // be included in the string output. The member name will be present, but the
 17763  // value will be replaced with "sensitive".
 17764  func (s DisassociateRoutingProfileQueuesOutput) String() string {
 17765  	return awsutil.Prettify(s)
 17766  }
 17767  
 17768  // GoString returns the string representation.
 17769  //
 17770  // API parameter values that are decorated as "sensitive" in the API will not
 17771  // be included in the string output. The member name will be present, but the
 17772  // value will be replaced with "sensitive".
 17773  func (s DisassociateRoutingProfileQueuesOutput) GoString() string {
 17774  	return s.String()
 17775  }
 17776  
 17777  type DisassociateSecurityKeyInput struct {
 17778  	_ struct{} `type:"structure" nopayload:"true"`
 17779  
 17780  	// The existing association identifier that uniquely identifies the resource
 17781  	// type and storage config for the given instance ID.
 17782  	//
 17783  	// AssociationId is a required field
 17784  	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
 17785  
 17786  	// The identifier of the Amazon Connect instance. You can find the instanceId
 17787  	// in the ARN of the instance.
 17788  	//
 17789  	// InstanceId is a required field
 17790  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 17791  }
 17792  
 17793  // String returns the string representation.
 17794  //
 17795  // API parameter values that are decorated as "sensitive" in the API will not
 17796  // be included in the string output. The member name will be present, but the
 17797  // value will be replaced with "sensitive".
 17798  func (s DisassociateSecurityKeyInput) String() string {
 17799  	return awsutil.Prettify(s)
 17800  }
 17801  
 17802  // GoString returns the string representation.
 17803  //
 17804  // API parameter values that are decorated as "sensitive" in the API will not
 17805  // be included in the string output. The member name will be present, but the
 17806  // value will be replaced with "sensitive".
 17807  func (s DisassociateSecurityKeyInput) GoString() string {
 17808  	return s.String()
 17809  }
 17810  
 17811  // Validate inspects the fields of the type to determine if they are valid.
 17812  func (s *DisassociateSecurityKeyInput) Validate() error {
 17813  	invalidParams := request.ErrInvalidParams{Context: "DisassociateSecurityKeyInput"}
 17814  	if s.AssociationId == nil {
 17815  		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
 17816  	}
 17817  	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
 17818  		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
 17819  	}
 17820  	if s.InstanceId == nil {
 17821  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 17822  	}
 17823  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 17824  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 17825  	}
 17826  
 17827  	if invalidParams.Len() > 0 {
 17828  		return invalidParams
 17829  	}
 17830  	return nil
 17831  }
 17832  
 17833  // SetAssociationId sets the AssociationId field's value.
 17834  func (s *DisassociateSecurityKeyInput) SetAssociationId(v string) *DisassociateSecurityKeyInput {
 17835  	s.AssociationId = &v
 17836  	return s
 17837  }
 17838  
 17839  // SetInstanceId sets the InstanceId field's value.
 17840  func (s *DisassociateSecurityKeyInput) SetInstanceId(v string) *DisassociateSecurityKeyInput {
 17841  	s.InstanceId = &v
 17842  	return s
 17843  }
 17844  
 17845  type DisassociateSecurityKeyOutput struct {
 17846  	_ struct{} `type:"structure" nopayload:"true"`
 17847  }
 17848  
 17849  // String returns the string representation.
 17850  //
 17851  // API parameter values that are decorated as "sensitive" in the API will not
 17852  // be included in the string output. The member name will be present, but the
 17853  // value will be replaced with "sensitive".
 17854  func (s DisassociateSecurityKeyOutput) String() string {
 17855  	return awsutil.Prettify(s)
 17856  }
 17857  
 17858  // GoString returns the string representation.
 17859  //
 17860  // API parameter values that are decorated as "sensitive" in the API will not
 17861  // be included in the string output. The member name will be present, but the
 17862  // value will be replaced with "sensitive".
 17863  func (s DisassociateSecurityKeyOutput) GoString() string {
 17864  	return s.String()
 17865  }
 17866  
 17867  // A resource with the specified name already exists.
 17868  type DuplicateResourceException struct {
 17869  	_            struct{}                  `type:"structure"`
 17870  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 17871  
 17872  	Message_ *string `locationName:"Message" type:"string"`
 17873  }
 17874  
 17875  // String returns the string representation.
 17876  //
 17877  // API parameter values that are decorated as "sensitive" in the API will not
 17878  // be included in the string output. The member name will be present, but the
 17879  // value will be replaced with "sensitive".
 17880  func (s DuplicateResourceException) String() string {
 17881  	return awsutil.Prettify(s)
 17882  }
 17883  
 17884  // GoString returns the string representation.
 17885  //
 17886  // API parameter values that are decorated as "sensitive" in the API will not
 17887  // be included in the string output. The member name will be present, but the
 17888  // value will be replaced with "sensitive".
 17889  func (s DuplicateResourceException) GoString() string {
 17890  	return s.String()
 17891  }
 17892  
 17893  func newErrorDuplicateResourceException(v protocol.ResponseMetadata) error {
 17894  	return &DuplicateResourceException{
 17895  		RespMetadata: v,
 17896  	}
 17897  }
 17898  
 17899  // Code returns the exception type name.
 17900  func (s *DuplicateResourceException) Code() string {
 17901  	return "DuplicateResourceException"
 17902  }
 17903  
 17904  // Message returns the exception's message.
 17905  func (s *DuplicateResourceException) Message() string {
 17906  	if s.Message_ != nil {
 17907  		return *s.Message_
 17908  	}
 17909  	return ""
 17910  }
 17911  
 17912  // OrigErr always returns nil, satisfies awserr.Error interface.
 17913  func (s *DuplicateResourceException) OrigErr() error {
 17914  	return nil
 17915  }
 17916  
 17917  func (s *DuplicateResourceException) Error() string {
 17918  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 17919  }
 17920  
 17921  // Status code returns the HTTP status code for the request's response error.
 17922  func (s *DuplicateResourceException) StatusCode() int {
 17923  	return s.RespMetadata.StatusCode
 17924  }
 17925  
 17926  // RequestID returns the service's response RequestID for request.
 17927  func (s *DuplicateResourceException) RequestID() string {
 17928  	return s.RespMetadata.RequestID
 17929  }
 17930  
 17931  // The encryption configuration.
 17932  type EncryptionConfig struct {
 17933  	_ struct{} `type:"structure"`
 17934  
 17935  	// The type of encryption.
 17936  	//
 17937  	// EncryptionType is a required field
 17938  	EncryptionType *string `type:"string" required:"true" enum:"EncryptionType"`
 17939  
 17940  	// The full ARN of the encryption key.
 17941  	//
 17942  	// Be sure to provide the full ARN of the encryption key, not just the ID.
 17943  	//
 17944  	// KeyId is a required field
 17945  	KeyId *string `min:"1" type:"string" required:"true"`
 17946  }
 17947  
 17948  // String returns the string representation.
 17949  //
 17950  // API parameter values that are decorated as "sensitive" in the API will not
 17951  // be included in the string output. The member name will be present, but the
 17952  // value will be replaced with "sensitive".
 17953  func (s EncryptionConfig) String() string {
 17954  	return awsutil.Prettify(s)
 17955  }
 17956  
 17957  // GoString returns the string representation.
 17958  //
 17959  // API parameter values that are decorated as "sensitive" in the API will not
 17960  // be included in the string output. The member name will be present, but the
 17961  // value will be replaced with "sensitive".
 17962  func (s EncryptionConfig) GoString() string {
 17963  	return s.String()
 17964  }
 17965  
 17966  // Validate inspects the fields of the type to determine if they are valid.
 17967  func (s *EncryptionConfig) Validate() error {
 17968  	invalidParams := request.ErrInvalidParams{Context: "EncryptionConfig"}
 17969  	if s.EncryptionType == nil {
 17970  		invalidParams.Add(request.NewErrParamRequired("EncryptionType"))
 17971  	}
 17972  	if s.KeyId == nil {
 17973  		invalidParams.Add(request.NewErrParamRequired("KeyId"))
 17974  	}
 17975  	if s.KeyId != nil && len(*s.KeyId) < 1 {
 17976  		invalidParams.Add(request.NewErrParamMinLen("KeyId", 1))
 17977  	}
 17978  
 17979  	if invalidParams.Len() > 0 {
 17980  		return invalidParams
 17981  	}
 17982  	return nil
 17983  }
 17984  
 17985  // SetEncryptionType sets the EncryptionType field's value.
 17986  func (s *EncryptionConfig) SetEncryptionType(v string) *EncryptionConfig {
 17987  	s.EncryptionType = &v
 17988  	return s
 17989  }
 17990  
 17991  // SetKeyId sets the KeyId field's value.
 17992  func (s *EncryptionConfig) SetKeyId(v string) *EncryptionConfig {
 17993  	s.KeyId = &v
 17994  	return s
 17995  }
 17996  
 17997  // Contains the filter to apply when retrieving metrics.
 17998  type Filters struct {
 17999  	_ struct{} `type:"structure"`
 18000  
 18001  	// The channel to use to filter the metrics.
 18002  	Channels []*string `type:"list"`
 18003  
 18004  	// The queues to use to filter the metrics. You can specify up to 100 queues
 18005  	// per request.
 18006  	Queues []*string `min:"1" type:"list"`
 18007  }
 18008  
 18009  // String returns the string representation.
 18010  //
 18011  // API parameter values that are decorated as "sensitive" in the API will not
 18012  // be included in the string output. The member name will be present, but the
 18013  // value will be replaced with "sensitive".
 18014  func (s Filters) String() string {
 18015  	return awsutil.Prettify(s)
 18016  }
 18017  
 18018  // GoString returns the string representation.
 18019  //
 18020  // API parameter values that are decorated as "sensitive" in the API will not
 18021  // be included in the string output. The member name will be present, but the
 18022  // value will be replaced with "sensitive".
 18023  func (s Filters) GoString() string {
 18024  	return s.String()
 18025  }
 18026  
 18027  // Validate inspects the fields of the type to determine if they are valid.
 18028  func (s *Filters) Validate() error {
 18029  	invalidParams := request.ErrInvalidParams{Context: "Filters"}
 18030  	if s.Queues != nil && len(s.Queues) < 1 {
 18031  		invalidParams.Add(request.NewErrParamMinLen("Queues", 1))
 18032  	}
 18033  
 18034  	if invalidParams.Len() > 0 {
 18035  		return invalidParams
 18036  	}
 18037  	return nil
 18038  }
 18039  
 18040  // SetChannels sets the Channels field's value.
 18041  func (s *Filters) SetChannels(v []*string) *Filters {
 18042  	s.Channels = v
 18043  	return s
 18044  }
 18045  
 18046  // SetQueues sets the Queues field's value.
 18047  func (s *Filters) SetQueues(v []*string) *Filters {
 18048  	s.Queues = v
 18049  	return s
 18050  }
 18051  
 18052  type GetContactAttributesInput struct {
 18053  	_ struct{} `type:"structure" nopayload:"true"`
 18054  
 18055  	// The identifier of the initial contact.
 18056  	//
 18057  	// InitialContactId is a required field
 18058  	InitialContactId *string `location:"uri" locationName:"InitialContactId" min:"1" type:"string" required:"true"`
 18059  
 18060  	// The identifier of the Amazon Connect instance.
 18061  	//
 18062  	// InstanceId is a required field
 18063  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 18064  }
 18065  
 18066  // String returns the string representation.
 18067  //
 18068  // API parameter values that are decorated as "sensitive" in the API will not
 18069  // be included in the string output. The member name will be present, but the
 18070  // value will be replaced with "sensitive".
 18071  func (s GetContactAttributesInput) String() string {
 18072  	return awsutil.Prettify(s)
 18073  }
 18074  
 18075  // GoString returns the string representation.
 18076  //
 18077  // API parameter values that are decorated as "sensitive" in the API will not
 18078  // be included in the string output. The member name will be present, but the
 18079  // value will be replaced with "sensitive".
 18080  func (s GetContactAttributesInput) GoString() string {
 18081  	return s.String()
 18082  }
 18083  
 18084  // Validate inspects the fields of the type to determine if they are valid.
 18085  func (s *GetContactAttributesInput) Validate() error {
 18086  	invalidParams := request.ErrInvalidParams{Context: "GetContactAttributesInput"}
 18087  	if s.InitialContactId == nil {
 18088  		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
 18089  	}
 18090  	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
 18091  		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
 18092  	}
 18093  	if s.InstanceId == nil {
 18094  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 18095  	}
 18096  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 18097  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 18098  	}
 18099  
 18100  	if invalidParams.Len() > 0 {
 18101  		return invalidParams
 18102  	}
 18103  	return nil
 18104  }
 18105  
 18106  // SetInitialContactId sets the InitialContactId field's value.
 18107  func (s *GetContactAttributesInput) SetInitialContactId(v string) *GetContactAttributesInput {
 18108  	s.InitialContactId = &v
 18109  	return s
 18110  }
 18111  
 18112  // SetInstanceId sets the InstanceId field's value.
 18113  func (s *GetContactAttributesInput) SetInstanceId(v string) *GetContactAttributesInput {
 18114  	s.InstanceId = &v
 18115  	return s
 18116  }
 18117  
 18118  type GetContactAttributesOutput struct {
 18119  	_ struct{} `type:"structure"`
 18120  
 18121  	// Information about the attributes.
 18122  	Attributes map[string]*string `type:"map"`
 18123  }
 18124  
 18125  // String returns the string representation.
 18126  //
 18127  // API parameter values that are decorated as "sensitive" in the API will not
 18128  // be included in the string output. The member name will be present, but the
 18129  // value will be replaced with "sensitive".
 18130  func (s GetContactAttributesOutput) String() string {
 18131  	return awsutil.Prettify(s)
 18132  }
 18133  
 18134  // GoString returns the string representation.
 18135  //
 18136  // API parameter values that are decorated as "sensitive" in the API will not
 18137  // be included in the string output. The member name will be present, but the
 18138  // value will be replaced with "sensitive".
 18139  func (s GetContactAttributesOutput) GoString() string {
 18140  	return s.String()
 18141  }
 18142  
 18143  // SetAttributes sets the Attributes field's value.
 18144  func (s *GetContactAttributesOutput) SetAttributes(v map[string]*string) *GetContactAttributesOutput {
 18145  	s.Attributes = v
 18146  	return s
 18147  }
 18148  
 18149  type GetCurrentMetricDataInput struct {
 18150  	_ struct{} `type:"structure"`
 18151  
 18152  	// The metrics to retrieve. Specify the name and unit for each metric. The following
 18153  	// metrics are available. For a description of all the metrics, see Real-time
 18154  	// Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html)
 18155  	// in the Amazon Connect Administrator Guide.
 18156  	//
 18157  	// AGENTS_AFTER_CONTACT_WORK
 18158  	//
 18159  	// Unit: COUNT
 18160  	//
 18161  	// Name in real-time metrics report: ACW (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#aftercallwork-real-time)
 18162  	//
 18163  	// AGENTS_AVAILABLE
 18164  	//
 18165  	// Unit: COUNT
 18166  	//
 18167  	// Name in real-time metrics report: Available (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#available-real-time)
 18168  	//
 18169  	// AGENTS_ERROR
 18170  	//
 18171  	// Unit: COUNT
 18172  	//
 18173  	// Name in real-time metrics report: Error (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#error-real-time)
 18174  	//
 18175  	// AGENTS_NON_PRODUCTIVE
 18176  	//
 18177  	// Unit: COUNT
 18178  	//
 18179  	// Name in real-time metrics report: NPT (Non-Productive Time) (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#non-productive-time-real-time)
 18180  	//
 18181  	// AGENTS_ON_CALL
 18182  	//
 18183  	// Unit: COUNT
 18184  	//
 18185  	// Name in real-time metrics report: On contact (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#on-call-real-time)
 18186  	//
 18187  	// AGENTS_ON_CONTACT
 18188  	//
 18189  	// Unit: COUNT
 18190  	//
 18191  	// Name in real-time metrics report: On contact (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#on-call-real-time)
 18192  	//
 18193  	// AGENTS_ONLINE
 18194  	//
 18195  	// Unit: COUNT
 18196  	//
 18197  	// Name in real-time metrics report: Online (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#online-real-time)
 18198  	//
 18199  	// AGENTS_STAFFED
 18200  	//
 18201  	// Unit: COUNT
 18202  	//
 18203  	// Name in real-time metrics report: Staffed (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#staffed-real-time)
 18204  	//
 18205  	// CONTACTS_IN_QUEUE
 18206  	//
 18207  	// Unit: COUNT
 18208  	//
 18209  	// Name in real-time metrics report: In queue (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#in-queue-real-time)
 18210  	//
 18211  	// CONTACTS_SCHEDULED
 18212  	//
 18213  	// Unit: COUNT
 18214  	//
 18215  	// Name in real-time metrics report: Scheduled (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#scheduled-real-time)
 18216  	//
 18217  	// OLDEST_CONTACT_AGE
 18218  	//
 18219  	// Unit: SECONDS
 18220  	//
 18221  	// When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.
 18222  	//
 18223  	// When you do not use groupings, Unit says SECONDS but the Value is returned
 18224  	// in MILLISECONDS. For example, if you get a response like this:
 18225  	//
 18226  	// { "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value":
 18227  	// 24113.0 }
 18228  	//
 18229  	// The actual OLDEST_CONTACT_AGE is 24 seconds.
 18230  	//
 18231  	// Name in real-time metrics report: Oldest (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#oldest-real-time)
 18232  	//
 18233  	// SLOTS_ACTIVE
 18234  	//
 18235  	// Unit: COUNT
 18236  	//
 18237  	// Name in real-time metrics report: Active (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#active-real-time)
 18238  	//
 18239  	// SLOTS_AVAILABLE
 18240  	//
 18241  	// Unit: COUNT
 18242  	//
 18243  	// Name in real-time metrics report: Availability (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#availability-real-time)
 18244  	//
 18245  	// CurrentMetrics is a required field
 18246  	CurrentMetrics []*CurrentMetric `type:"list" required:"true"`
 18247  
 18248  	// The queues, up to 100, or channels, to use to filter the metrics returned.
 18249  	// Metric data is retrieved only for the resources associated with the queues
 18250  	// or channels included in the filter. You can include both queue IDs and queue
 18251  	// ARNs in the same request. VOICE, CHAT, and TASK channels are supported.
 18252  	//
 18253  	// Filters is a required field
 18254  	Filters *Filters `type:"structure" required:"true"`
 18255  
 18256  	// The grouping applied to the metrics returned. For example, when grouped by
 18257  	// QUEUE, the metrics returned apply to each queue rather than aggregated for
 18258  	// all queues. If you group by CHANNEL, you should include a Channels filter.
 18259  	// VOICE, CHAT, and TASK channels are supported.
 18260  	//
 18261  	// If no Grouping is included in the request, a summary of metrics is returned.
 18262  	Groupings []*string `type:"list"`
 18263  
 18264  	// The identifier of the Amazon Connect instance. You can find the instanceId
 18265  	// in the ARN of the instance.
 18266  	//
 18267  	// InstanceId is a required field
 18268  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 18269  
 18270  	// The maximum number of results to return per page.
 18271  	MaxResults *int64 `min:"1" type:"integer"`
 18272  
 18273  	// The token for the next set of results. Use the value returned in the previous
 18274  	// response in the next request to retrieve the next set of results.
 18275  	//
 18276  	// The token expires after 5 minutes from the time it is created. Subsequent
 18277  	// requests that use the token must use the same request parameters as the request
 18278  	// that generated the token.
 18279  	NextToken *string `type:"string"`
 18280  }
 18281  
 18282  // String returns the string representation.
 18283  //
 18284  // API parameter values that are decorated as "sensitive" in the API will not
 18285  // be included in the string output. The member name will be present, but the
 18286  // value will be replaced with "sensitive".
 18287  func (s GetCurrentMetricDataInput) String() string {
 18288  	return awsutil.Prettify(s)
 18289  }
 18290  
 18291  // GoString returns the string representation.
 18292  //
 18293  // API parameter values that are decorated as "sensitive" in the API will not
 18294  // be included in the string output. The member name will be present, but the
 18295  // value will be replaced with "sensitive".
 18296  func (s GetCurrentMetricDataInput) GoString() string {
 18297  	return s.String()
 18298  }
 18299  
 18300  // Validate inspects the fields of the type to determine if they are valid.
 18301  func (s *GetCurrentMetricDataInput) Validate() error {
 18302  	invalidParams := request.ErrInvalidParams{Context: "GetCurrentMetricDataInput"}
 18303  	if s.CurrentMetrics == nil {
 18304  		invalidParams.Add(request.NewErrParamRequired("CurrentMetrics"))
 18305  	}
 18306  	if s.Filters == nil {
 18307  		invalidParams.Add(request.NewErrParamRequired("Filters"))
 18308  	}
 18309  	if s.InstanceId == nil {
 18310  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 18311  	}
 18312  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 18313  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 18314  	}
 18315  	if s.MaxResults != nil && *s.MaxResults < 1 {
 18316  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 18317  	}
 18318  	if s.Filters != nil {
 18319  		if err := s.Filters.Validate(); err != nil {
 18320  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 18321  		}
 18322  	}
 18323  
 18324  	if invalidParams.Len() > 0 {
 18325  		return invalidParams
 18326  	}
 18327  	return nil
 18328  }
 18329  
 18330  // SetCurrentMetrics sets the CurrentMetrics field's value.
 18331  func (s *GetCurrentMetricDataInput) SetCurrentMetrics(v []*CurrentMetric) *GetCurrentMetricDataInput {
 18332  	s.CurrentMetrics = v
 18333  	return s
 18334  }
 18335  
 18336  // SetFilters sets the Filters field's value.
 18337  func (s *GetCurrentMetricDataInput) SetFilters(v *Filters) *GetCurrentMetricDataInput {
 18338  	s.Filters = v
 18339  	return s
 18340  }
 18341  
 18342  // SetGroupings sets the Groupings field's value.
 18343  func (s *GetCurrentMetricDataInput) SetGroupings(v []*string) *GetCurrentMetricDataInput {
 18344  	s.Groupings = v
 18345  	return s
 18346  }
 18347  
 18348  // SetInstanceId sets the InstanceId field's value.
 18349  func (s *GetCurrentMetricDataInput) SetInstanceId(v string) *GetCurrentMetricDataInput {
 18350  	s.InstanceId = &v
 18351  	return s
 18352  }
 18353  
 18354  // SetMaxResults sets the MaxResults field's value.
 18355  func (s *GetCurrentMetricDataInput) SetMaxResults(v int64) *GetCurrentMetricDataInput {
 18356  	s.MaxResults = &v
 18357  	return s
 18358  }
 18359  
 18360  // SetNextToken sets the NextToken field's value.
 18361  func (s *GetCurrentMetricDataInput) SetNextToken(v string) *GetCurrentMetricDataInput {
 18362  	s.NextToken = &v
 18363  	return s
 18364  }
 18365  
 18366  type GetCurrentMetricDataOutput struct {
 18367  	_ struct{} `type:"structure"`
 18368  
 18369  	// The time at which the metrics were retrieved and cached for pagination.
 18370  	DataSnapshotTime *time.Time `type:"timestamp"`
 18371  
 18372  	// Information about the real-time metrics.
 18373  	MetricResults []*CurrentMetricResult `type:"list"`
 18374  
 18375  	// If there are additional results, this is the token for the next set of results.
 18376  	//
 18377  	// The token expires after 5 minutes from the time it is created. Subsequent
 18378  	// requests that use the token must use the same request parameters as the request
 18379  	// that generated the token.
 18380  	NextToken *string `type:"string"`
 18381  }
 18382  
 18383  // String returns the string representation.
 18384  //
 18385  // API parameter values that are decorated as "sensitive" in the API will not
 18386  // be included in the string output. The member name will be present, but the
 18387  // value will be replaced with "sensitive".
 18388  func (s GetCurrentMetricDataOutput) String() string {
 18389  	return awsutil.Prettify(s)
 18390  }
 18391  
 18392  // GoString returns the string representation.
 18393  //
 18394  // API parameter values that are decorated as "sensitive" in the API will not
 18395  // be included in the string output. The member name will be present, but the
 18396  // value will be replaced with "sensitive".
 18397  func (s GetCurrentMetricDataOutput) GoString() string {
 18398  	return s.String()
 18399  }
 18400  
 18401  // SetDataSnapshotTime sets the DataSnapshotTime field's value.
 18402  func (s *GetCurrentMetricDataOutput) SetDataSnapshotTime(v time.Time) *GetCurrentMetricDataOutput {
 18403  	s.DataSnapshotTime = &v
 18404  	return s
 18405  }
 18406  
 18407  // SetMetricResults sets the MetricResults field's value.
 18408  func (s *GetCurrentMetricDataOutput) SetMetricResults(v []*CurrentMetricResult) *GetCurrentMetricDataOutput {
 18409  	s.MetricResults = v
 18410  	return s
 18411  }
 18412  
 18413  // SetNextToken sets the NextToken field's value.
 18414  func (s *GetCurrentMetricDataOutput) SetNextToken(v string) *GetCurrentMetricDataOutput {
 18415  	s.NextToken = &v
 18416  	return s
 18417  }
 18418  
 18419  type GetFederationTokenInput struct {
 18420  	_ struct{} `type:"structure" nopayload:"true"`
 18421  
 18422  	// The identifier of the Amazon Connect instance. You can find the instanceId
 18423  	// in the ARN of the instance.
 18424  	//
 18425  	// InstanceId is a required field
 18426  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 18427  }
 18428  
 18429  // String returns the string representation.
 18430  //
 18431  // API parameter values that are decorated as "sensitive" in the API will not
 18432  // be included in the string output. The member name will be present, but the
 18433  // value will be replaced with "sensitive".
 18434  func (s GetFederationTokenInput) String() string {
 18435  	return awsutil.Prettify(s)
 18436  }
 18437  
 18438  // GoString returns the string representation.
 18439  //
 18440  // API parameter values that are decorated as "sensitive" in the API will not
 18441  // be included in the string output. The member name will be present, but the
 18442  // value will be replaced with "sensitive".
 18443  func (s GetFederationTokenInput) GoString() string {
 18444  	return s.String()
 18445  }
 18446  
 18447  // Validate inspects the fields of the type to determine if they are valid.
 18448  func (s *GetFederationTokenInput) Validate() error {
 18449  	invalidParams := request.ErrInvalidParams{Context: "GetFederationTokenInput"}
 18450  	if s.InstanceId == nil {
 18451  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 18452  	}
 18453  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 18454  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 18455  	}
 18456  
 18457  	if invalidParams.Len() > 0 {
 18458  		return invalidParams
 18459  	}
 18460  	return nil
 18461  }
 18462  
 18463  // SetInstanceId sets the InstanceId field's value.
 18464  func (s *GetFederationTokenInput) SetInstanceId(v string) *GetFederationTokenInput {
 18465  	s.InstanceId = &v
 18466  	return s
 18467  }
 18468  
 18469  type GetFederationTokenOutput struct {
 18470  	_ struct{} `type:"structure"`
 18471  
 18472  	// The credentials to use for federation.
 18473  	Credentials *Credentials `type:"structure"`
 18474  }
 18475  
 18476  // String returns the string representation.
 18477  //
 18478  // API parameter values that are decorated as "sensitive" in the API will not
 18479  // be included in the string output. The member name will be present, but the
 18480  // value will be replaced with "sensitive".
 18481  func (s GetFederationTokenOutput) String() string {
 18482  	return awsutil.Prettify(s)
 18483  }
 18484  
 18485  // GoString returns the string representation.
 18486  //
 18487  // API parameter values that are decorated as "sensitive" in the API will not
 18488  // be included in the string output. The member name will be present, but the
 18489  // value will be replaced with "sensitive".
 18490  func (s GetFederationTokenOutput) GoString() string {
 18491  	return s.String()
 18492  }
 18493  
 18494  // SetCredentials sets the Credentials field's value.
 18495  func (s *GetFederationTokenOutput) SetCredentials(v *Credentials) *GetFederationTokenOutput {
 18496  	s.Credentials = v
 18497  	return s
 18498  }
 18499  
 18500  type GetMetricDataInput struct {
 18501  	_ struct{} `type:"structure"`
 18502  
 18503  	// The timestamp, in UNIX Epoch time format, at which to end the reporting interval
 18504  	// for the retrieval of historical metrics data. The time must be specified
 18505  	// using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be
 18506  	// later than the start time timestamp.
 18507  	//
 18508  	// The time range between the start and end time must be less than 24 hours.
 18509  	//
 18510  	// EndTime is a required field
 18511  	EndTime *time.Time `type:"timestamp" required:"true"`
 18512  
 18513  	// The queues, up to 100, or channels, to use to filter the metrics returned.
 18514  	// Metric data is retrieved only for the resources associated with the queues
 18515  	// or channels included in the filter. You can include both queue IDs and queue
 18516  	// ARNs in the same request. VOICE, CHAT, and TASK channels are supported.
 18517  	//
 18518  	// To filter by Queues, enter the queue ID/ARN, not the name of the queue.
 18519  	//
 18520  	// Filters is a required field
 18521  	Filters *Filters `type:"structure" required:"true"`
 18522  
 18523  	// The grouping applied to the metrics returned. For example, when results are
 18524  	// grouped by queue, the metrics returned are grouped by queue. The values returned
 18525  	// apply to the metrics for each queue rather than aggregated for all queues.
 18526  	//
 18527  	// If no grouping is specified, a summary of metrics for all queues is returned.
 18528  	Groupings []*string `type:"list"`
 18529  
 18530  	// The metrics to retrieve. Specify the name, unit, and statistic for each metric.
 18531  	// The following historical metrics are available. For a description of each
 18532  	// metric, see Historical Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html)
 18533  	// in the Amazon Connect Administrator Guide.
 18534  	//
 18535  	// This API does not support a contacts incoming metric (there's no CONTACTS_INCOMING
 18536  	// metric missing from the documented list).
 18537  	//
 18538  	// ABANDON_TIME
 18539  	//
 18540  	// Unit: SECONDS
 18541  	//
 18542  	// Statistic: AVG
 18543  	//
 18544  	// AFTER_CONTACT_WORK_TIME
 18545  	//
 18546  	// Unit: SECONDS
 18547  	//
 18548  	// Statistic: AVG
 18549  	//
 18550  	// API_CONTACTS_HANDLED
 18551  	//
 18552  	// Unit: COUNT
 18553  	//
 18554  	// Statistic: SUM
 18555  	//
 18556  	// CALLBACK_CONTACTS_HANDLED
 18557  	//
 18558  	// Unit: COUNT
 18559  	//
 18560  	// Statistic: SUM
 18561  	//
 18562  	// CONTACTS_ABANDONED
 18563  	//
 18564  	// Unit: COUNT
 18565  	//
 18566  	// Statistic: SUM
 18567  	//
 18568  	// CONTACTS_AGENT_HUNG_UP_FIRST
 18569  	//
 18570  	// Unit: COUNT
 18571  	//
 18572  	// Statistic: SUM
 18573  	//
 18574  	// CONTACTS_CONSULTED
 18575  	//
 18576  	// Unit: COUNT
 18577  	//
 18578  	// Statistic: SUM
 18579  	//
 18580  	// CONTACTS_HANDLED
 18581  	//
 18582  	// Unit: COUNT
 18583  	//
 18584  	// Statistic: SUM
 18585  	//
 18586  	// CONTACTS_HANDLED_INCOMING
 18587  	//
 18588  	// Unit: COUNT
 18589  	//
 18590  	// Statistic: SUM
 18591  	//
 18592  	// CONTACTS_HANDLED_OUTBOUND
 18593  	//
 18594  	// Unit: COUNT
 18595  	//
 18596  	// Statistic: SUM
 18597  	//
 18598  	// CONTACTS_HOLD_ABANDONS
 18599  	//
 18600  	// Unit: COUNT
 18601  	//
 18602  	// Statistic: SUM
 18603  	//
 18604  	// CONTACTS_MISSED
 18605  	//
 18606  	// Unit: COUNT
 18607  	//
 18608  	// Statistic: SUM
 18609  	//
 18610  	// CONTACTS_QUEUED
 18611  	//
 18612  	// Unit: COUNT
 18613  	//
 18614  	// Statistic: SUM
 18615  	//
 18616  	// CONTACTS_TRANSFERRED_IN
 18617  	//
 18618  	// Unit: COUNT
 18619  	//
 18620  	// Statistic: SUM
 18621  	//
 18622  	// CONTACTS_TRANSFERRED_IN_FROM_QUEUE
 18623  	//
 18624  	// Unit: COUNT
 18625  	//
 18626  	// Statistic: SUM
 18627  	//
 18628  	// CONTACTS_TRANSFERRED_OUT
 18629  	//
 18630  	// Unit: COUNT
 18631  	//
 18632  	// Statistic: SUM
 18633  	//
 18634  	// CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
 18635  	//
 18636  	// Unit: COUNT
 18637  	//
 18638  	// Statistic: SUM
 18639  	//
 18640  	// HANDLE_TIME
 18641  	//
 18642  	// Unit: SECONDS
 18643  	//
 18644  	// Statistic: AVG
 18645  	//
 18646  	// HOLD_TIME
 18647  	//
 18648  	// Unit: SECONDS
 18649  	//
 18650  	// Statistic: AVG
 18651  	//
 18652  	// INTERACTION_AND_HOLD_TIME
 18653  	//
 18654  	// Unit: SECONDS
 18655  	//
 18656  	// Statistic: AVG
 18657  	//
 18658  	// INTERACTION_TIME
 18659  	//
 18660  	// Unit: SECONDS
 18661  	//
 18662  	// Statistic: AVG
 18663  	//
 18664  	// OCCUPANCY
 18665  	//
 18666  	// Unit: PERCENT
 18667  	//
 18668  	// Statistic: AVG
 18669  	//
 18670  	// QUEUE_ANSWER_TIME
 18671  	//
 18672  	// Unit: SECONDS
 18673  	//
 18674  	// Statistic: AVG
 18675  	//
 18676  	// QUEUED_TIME
 18677  	//
 18678  	// Unit: SECONDS
 18679  	//
 18680  	// Statistic: MAX
 18681  	//
 18682  	// SERVICE_LEVEL
 18683  	//
 18684  	// You can include up to 20 SERVICE_LEVEL metrics in a request.
 18685  	//
 18686  	// Unit: PERCENT
 18687  	//
 18688  	// Statistic: AVG
 18689  	//
 18690  	// Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive),
 18691  	// in seconds. For Comparison, you must enter LT (for "Less than").
 18692  	//
 18693  	// HistoricalMetrics is a required field
 18694  	HistoricalMetrics []*HistoricalMetric `type:"list" required:"true"`
 18695  
 18696  	// The identifier of the Amazon Connect instance. You can find the instanceId
 18697  	// in the ARN of the instance.
 18698  	//
 18699  	// InstanceId is a required field
 18700  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 18701  
 18702  	// The maximum number of results to return per page.
 18703  	MaxResults *int64 `min:"1" type:"integer"`
 18704  
 18705  	// The token for the next set of results. Use the value returned in the previous
 18706  	// response in the next request to retrieve the next set of results.
 18707  	NextToken *string `type:"string"`
 18708  
 18709  	// The timestamp, in UNIX Epoch time format, at which to start the reporting
 18710  	// interval for the retrieval of historical metrics data. The time must be specified
 18711  	// using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.
 18712  	//
 18713  	// The start time cannot be earlier than 24 hours before the time of the request.
 18714  	// Historical metrics are available only for 24 hours.
 18715  	//
 18716  	// StartTime is a required field
 18717  	StartTime *time.Time `type:"timestamp" required:"true"`
 18718  }
 18719  
 18720  // String returns the string representation.
 18721  //
 18722  // API parameter values that are decorated as "sensitive" in the API will not
 18723  // be included in the string output. The member name will be present, but the
 18724  // value will be replaced with "sensitive".
 18725  func (s GetMetricDataInput) String() string {
 18726  	return awsutil.Prettify(s)
 18727  }
 18728  
 18729  // GoString returns the string representation.
 18730  //
 18731  // API parameter values that are decorated as "sensitive" in the API will not
 18732  // be included in the string output. The member name will be present, but the
 18733  // value will be replaced with "sensitive".
 18734  func (s GetMetricDataInput) GoString() string {
 18735  	return s.String()
 18736  }
 18737  
 18738  // Validate inspects the fields of the type to determine if they are valid.
 18739  func (s *GetMetricDataInput) Validate() error {
 18740  	invalidParams := request.ErrInvalidParams{Context: "GetMetricDataInput"}
 18741  	if s.EndTime == nil {
 18742  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 18743  	}
 18744  	if s.Filters == nil {
 18745  		invalidParams.Add(request.NewErrParamRequired("Filters"))
 18746  	}
 18747  	if s.HistoricalMetrics == nil {
 18748  		invalidParams.Add(request.NewErrParamRequired("HistoricalMetrics"))
 18749  	}
 18750  	if s.InstanceId == nil {
 18751  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 18752  	}
 18753  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 18754  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 18755  	}
 18756  	if s.MaxResults != nil && *s.MaxResults < 1 {
 18757  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 18758  	}
 18759  	if s.StartTime == nil {
 18760  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 18761  	}
 18762  	if s.Filters != nil {
 18763  		if err := s.Filters.Validate(); err != nil {
 18764  			invalidParams.AddNested("Filters", err.(request.ErrInvalidParams))
 18765  		}
 18766  	}
 18767  
 18768  	if invalidParams.Len() > 0 {
 18769  		return invalidParams
 18770  	}
 18771  	return nil
 18772  }
 18773  
 18774  // SetEndTime sets the EndTime field's value.
 18775  func (s *GetMetricDataInput) SetEndTime(v time.Time) *GetMetricDataInput {
 18776  	s.EndTime = &v
 18777  	return s
 18778  }
 18779  
 18780  // SetFilters sets the Filters field's value.
 18781  func (s *GetMetricDataInput) SetFilters(v *Filters) *GetMetricDataInput {
 18782  	s.Filters = v
 18783  	return s
 18784  }
 18785  
 18786  // SetGroupings sets the Groupings field's value.
 18787  func (s *GetMetricDataInput) SetGroupings(v []*string) *GetMetricDataInput {
 18788  	s.Groupings = v
 18789  	return s
 18790  }
 18791  
 18792  // SetHistoricalMetrics sets the HistoricalMetrics field's value.
 18793  func (s *GetMetricDataInput) SetHistoricalMetrics(v []*HistoricalMetric) *GetMetricDataInput {
 18794  	s.HistoricalMetrics = v
 18795  	return s
 18796  }
 18797  
 18798  // SetInstanceId sets the InstanceId field's value.
 18799  func (s *GetMetricDataInput) SetInstanceId(v string) *GetMetricDataInput {
 18800  	s.InstanceId = &v
 18801  	return s
 18802  }
 18803  
 18804  // SetMaxResults sets the MaxResults field's value.
 18805  func (s *GetMetricDataInput) SetMaxResults(v int64) *GetMetricDataInput {
 18806  	s.MaxResults = &v
 18807  	return s
 18808  }
 18809  
 18810  // SetNextToken sets the NextToken field's value.
 18811  func (s *GetMetricDataInput) SetNextToken(v string) *GetMetricDataInput {
 18812  	s.NextToken = &v
 18813  	return s
 18814  }
 18815  
 18816  // SetStartTime sets the StartTime field's value.
 18817  func (s *GetMetricDataInput) SetStartTime(v time.Time) *GetMetricDataInput {
 18818  	s.StartTime = &v
 18819  	return s
 18820  }
 18821  
 18822  type GetMetricDataOutput struct {
 18823  	_ struct{} `type:"structure"`
 18824  
 18825  	// Information about the historical metrics.
 18826  	//
 18827  	// If no grouping is specified, a summary of metric data is returned.
 18828  	MetricResults []*HistoricalMetricResult `type:"list"`
 18829  
 18830  	// If there are additional results, this is the token for the next set of results.
 18831  	//
 18832  	// The token expires after 5 minutes from the time it is created. Subsequent
 18833  	// requests that use the token must use the same request parameters as the request
 18834  	// that generated the token.
 18835  	NextToken *string `type:"string"`
 18836  }
 18837  
 18838  // String returns the string representation.
 18839  //
 18840  // API parameter values that are decorated as "sensitive" in the API will not
 18841  // be included in the string output. The member name will be present, but the
 18842  // value will be replaced with "sensitive".
 18843  func (s GetMetricDataOutput) String() string {
 18844  	return awsutil.Prettify(s)
 18845  }
 18846  
 18847  // GoString returns the string representation.
 18848  //
 18849  // API parameter values that are decorated as "sensitive" in the API will not
 18850  // be included in the string output. The member name will be present, but the
 18851  // value will be replaced with "sensitive".
 18852  func (s GetMetricDataOutput) GoString() string {
 18853  	return s.String()
 18854  }
 18855  
 18856  // SetMetricResults sets the MetricResults field's value.
 18857  func (s *GetMetricDataOutput) SetMetricResults(v []*HistoricalMetricResult) *GetMetricDataOutput {
 18858  	s.MetricResults = v
 18859  	return s
 18860  }
 18861  
 18862  // SetNextToken sets the NextToken field's value.
 18863  func (s *GetMetricDataOutput) SetNextToken(v string) *GetMetricDataOutput {
 18864  	s.NextToken = &v
 18865  	return s
 18866  }
 18867  
 18868  // Contains information about a hierarchy group.
 18869  type HierarchyGroup struct {
 18870  	_ struct{} `type:"structure"`
 18871  
 18872  	// The Amazon Resource Name (ARN) of the hierarchy group.
 18873  	Arn *string `type:"string"`
 18874  
 18875  	// Information about the levels in the hierarchy group.
 18876  	HierarchyPath *HierarchyPath `type:"structure"`
 18877  
 18878  	// The identifier of the hierarchy group.
 18879  	Id *string `type:"string"`
 18880  
 18881  	// The identifier of the level in the hierarchy group.
 18882  	LevelId *string `type:"string"`
 18883  
 18884  	// The name of the hierarchy group.
 18885  	Name *string `type:"string"`
 18886  }
 18887  
 18888  // String returns the string representation.
 18889  //
 18890  // API parameter values that are decorated as "sensitive" in the API will not
 18891  // be included in the string output. The member name will be present, but the
 18892  // value will be replaced with "sensitive".
 18893  func (s HierarchyGroup) String() string {
 18894  	return awsutil.Prettify(s)
 18895  }
 18896  
 18897  // GoString returns the string representation.
 18898  //
 18899  // API parameter values that are decorated as "sensitive" in the API will not
 18900  // be included in the string output. The member name will be present, but the
 18901  // value will be replaced with "sensitive".
 18902  func (s HierarchyGroup) GoString() string {
 18903  	return s.String()
 18904  }
 18905  
 18906  // SetArn sets the Arn field's value.
 18907  func (s *HierarchyGroup) SetArn(v string) *HierarchyGroup {
 18908  	s.Arn = &v
 18909  	return s
 18910  }
 18911  
 18912  // SetHierarchyPath sets the HierarchyPath field's value.
 18913  func (s *HierarchyGroup) SetHierarchyPath(v *HierarchyPath) *HierarchyGroup {
 18914  	s.HierarchyPath = v
 18915  	return s
 18916  }
 18917  
 18918  // SetId sets the Id field's value.
 18919  func (s *HierarchyGroup) SetId(v string) *HierarchyGroup {
 18920  	s.Id = &v
 18921  	return s
 18922  }
 18923  
 18924  // SetLevelId sets the LevelId field's value.
 18925  func (s *HierarchyGroup) SetLevelId(v string) *HierarchyGroup {
 18926  	s.LevelId = &v
 18927  	return s
 18928  }
 18929  
 18930  // SetName sets the Name field's value.
 18931  func (s *HierarchyGroup) SetName(v string) *HierarchyGroup {
 18932  	s.Name = &v
 18933  	return s
 18934  }
 18935  
 18936  // Contains summary information about a hierarchy group.
 18937  type HierarchyGroupSummary struct {
 18938  	_ struct{} `type:"structure"`
 18939  
 18940  	// The Amazon Resource Name (ARN) of the hierarchy group.
 18941  	Arn *string `type:"string"`
 18942  
 18943  	// The identifier of the hierarchy group.
 18944  	Id *string `type:"string"`
 18945  
 18946  	// The name of the hierarchy group.
 18947  	Name *string `type:"string"`
 18948  }
 18949  
 18950  // String returns the string representation.
 18951  //
 18952  // API parameter values that are decorated as "sensitive" in the API will not
 18953  // be included in the string output. The member name will be present, but the
 18954  // value will be replaced with "sensitive".
 18955  func (s HierarchyGroupSummary) String() string {
 18956  	return awsutil.Prettify(s)
 18957  }
 18958  
 18959  // GoString returns the string representation.
 18960  //
 18961  // API parameter values that are decorated as "sensitive" in the API will not
 18962  // be included in the string output. The member name will be present, but the
 18963  // value will be replaced with "sensitive".
 18964  func (s HierarchyGroupSummary) GoString() string {
 18965  	return s.String()
 18966  }
 18967  
 18968  // SetArn sets the Arn field's value.
 18969  func (s *HierarchyGroupSummary) SetArn(v string) *HierarchyGroupSummary {
 18970  	s.Arn = &v
 18971  	return s
 18972  }
 18973  
 18974  // SetId sets the Id field's value.
 18975  func (s *HierarchyGroupSummary) SetId(v string) *HierarchyGroupSummary {
 18976  	s.Id = &v
 18977  	return s
 18978  }
 18979  
 18980  // SetName sets the Name field's value.
 18981  func (s *HierarchyGroupSummary) SetName(v string) *HierarchyGroupSummary {
 18982  	s.Name = &v
 18983  	return s
 18984  }
 18985  
 18986  // Contains information about a hierarchy level.
 18987  type HierarchyLevel struct {
 18988  	_ struct{} `type:"structure"`
 18989  
 18990  	// The Amazon Resource Name (ARN) of the hierarchy level.
 18991  	Arn *string `type:"string"`
 18992  
 18993  	// The identifier of the hierarchy level.
 18994  	Id *string `type:"string"`
 18995  
 18996  	// The name of the hierarchy level.
 18997  	Name *string `type:"string"`
 18998  }
 18999  
 19000  // String returns the string representation.
 19001  //
 19002  // API parameter values that are decorated as "sensitive" in the API will not
 19003  // be included in the string output. The member name will be present, but the
 19004  // value will be replaced with "sensitive".
 19005  func (s HierarchyLevel) String() string {
 19006  	return awsutil.Prettify(s)
 19007  }
 19008  
 19009  // GoString returns the string representation.
 19010  //
 19011  // API parameter values that are decorated as "sensitive" in the API will not
 19012  // be included in the string output. The member name will be present, but the
 19013  // value will be replaced with "sensitive".
 19014  func (s HierarchyLevel) GoString() string {
 19015  	return s.String()
 19016  }
 19017  
 19018  // SetArn sets the Arn field's value.
 19019  func (s *HierarchyLevel) SetArn(v string) *HierarchyLevel {
 19020  	s.Arn = &v
 19021  	return s
 19022  }
 19023  
 19024  // SetId sets the Id field's value.
 19025  func (s *HierarchyLevel) SetId(v string) *HierarchyLevel {
 19026  	s.Id = &v
 19027  	return s
 19028  }
 19029  
 19030  // SetName sets the Name field's value.
 19031  func (s *HierarchyLevel) SetName(v string) *HierarchyLevel {
 19032  	s.Name = &v
 19033  	return s
 19034  }
 19035  
 19036  // Contains information about the hierarchy level to update.
 19037  type HierarchyLevelUpdate struct {
 19038  	_ struct{} `type:"structure"`
 19039  
 19040  	// The name of the user hierarchy level. Must not be more than 50 characters.
 19041  	//
 19042  	// Name is a required field
 19043  	Name *string `type:"string" required:"true"`
 19044  }
 19045  
 19046  // String returns the string representation.
 19047  //
 19048  // API parameter values that are decorated as "sensitive" in the API will not
 19049  // be included in the string output. The member name will be present, but the
 19050  // value will be replaced with "sensitive".
 19051  func (s HierarchyLevelUpdate) String() string {
 19052  	return awsutil.Prettify(s)
 19053  }
 19054  
 19055  // GoString returns the string representation.
 19056  //
 19057  // API parameter values that are decorated as "sensitive" in the API will not
 19058  // be included in the string output. The member name will be present, but the
 19059  // value will be replaced with "sensitive".
 19060  func (s HierarchyLevelUpdate) GoString() string {
 19061  	return s.String()
 19062  }
 19063  
 19064  // Validate inspects the fields of the type to determine if they are valid.
 19065  func (s *HierarchyLevelUpdate) Validate() error {
 19066  	invalidParams := request.ErrInvalidParams{Context: "HierarchyLevelUpdate"}
 19067  	if s.Name == nil {
 19068  		invalidParams.Add(request.NewErrParamRequired("Name"))
 19069  	}
 19070  
 19071  	if invalidParams.Len() > 0 {
 19072  		return invalidParams
 19073  	}
 19074  	return nil
 19075  }
 19076  
 19077  // SetName sets the Name field's value.
 19078  func (s *HierarchyLevelUpdate) SetName(v string) *HierarchyLevelUpdate {
 19079  	s.Name = &v
 19080  	return s
 19081  }
 19082  
 19083  // Contains information about the levels of a hierarchy group.
 19084  type HierarchyPath struct {
 19085  	_ struct{} `type:"structure"`
 19086  
 19087  	// Information about level five.
 19088  	LevelFive *HierarchyGroupSummary `type:"structure"`
 19089  
 19090  	// Information about level four.
 19091  	LevelFour *HierarchyGroupSummary `type:"structure"`
 19092  
 19093  	// Information about level one.
 19094  	LevelOne *HierarchyGroupSummary `type:"structure"`
 19095  
 19096  	// Information about level three.
 19097  	LevelThree *HierarchyGroupSummary `type:"structure"`
 19098  
 19099  	// Information about level two.
 19100  	LevelTwo *HierarchyGroupSummary `type:"structure"`
 19101  }
 19102  
 19103  // String returns the string representation.
 19104  //
 19105  // API parameter values that are decorated as "sensitive" in the API will not
 19106  // be included in the string output. The member name will be present, but the
 19107  // value will be replaced with "sensitive".
 19108  func (s HierarchyPath) String() string {
 19109  	return awsutil.Prettify(s)
 19110  }
 19111  
 19112  // GoString returns the string representation.
 19113  //
 19114  // API parameter values that are decorated as "sensitive" in the API will not
 19115  // be included in the string output. The member name will be present, but the
 19116  // value will be replaced with "sensitive".
 19117  func (s HierarchyPath) GoString() string {
 19118  	return s.String()
 19119  }
 19120  
 19121  // SetLevelFive sets the LevelFive field's value.
 19122  func (s *HierarchyPath) SetLevelFive(v *HierarchyGroupSummary) *HierarchyPath {
 19123  	s.LevelFive = v
 19124  	return s
 19125  }
 19126  
 19127  // SetLevelFour sets the LevelFour field's value.
 19128  func (s *HierarchyPath) SetLevelFour(v *HierarchyGroupSummary) *HierarchyPath {
 19129  	s.LevelFour = v
 19130  	return s
 19131  }
 19132  
 19133  // SetLevelOne sets the LevelOne field's value.
 19134  func (s *HierarchyPath) SetLevelOne(v *HierarchyGroupSummary) *HierarchyPath {
 19135  	s.LevelOne = v
 19136  	return s
 19137  }
 19138  
 19139  // SetLevelThree sets the LevelThree field's value.
 19140  func (s *HierarchyPath) SetLevelThree(v *HierarchyGroupSummary) *HierarchyPath {
 19141  	s.LevelThree = v
 19142  	return s
 19143  }
 19144  
 19145  // SetLevelTwo sets the LevelTwo field's value.
 19146  func (s *HierarchyPath) SetLevelTwo(v *HierarchyGroupSummary) *HierarchyPath {
 19147  	s.LevelTwo = v
 19148  	return s
 19149  }
 19150  
 19151  // Contains information about a hierarchy structure.
 19152  type HierarchyStructure struct {
 19153  	_ struct{} `type:"structure"`
 19154  
 19155  	// Information about level five.
 19156  	LevelFive *HierarchyLevel `type:"structure"`
 19157  
 19158  	// Information about level four.
 19159  	LevelFour *HierarchyLevel `type:"structure"`
 19160  
 19161  	// Information about level one.
 19162  	LevelOne *HierarchyLevel `type:"structure"`
 19163  
 19164  	// Information about level three.
 19165  	LevelThree *HierarchyLevel `type:"structure"`
 19166  
 19167  	// Information about level two.
 19168  	LevelTwo *HierarchyLevel `type:"structure"`
 19169  }
 19170  
 19171  // String returns the string representation.
 19172  //
 19173  // API parameter values that are decorated as "sensitive" in the API will not
 19174  // be included in the string output. The member name will be present, but the
 19175  // value will be replaced with "sensitive".
 19176  func (s HierarchyStructure) String() string {
 19177  	return awsutil.Prettify(s)
 19178  }
 19179  
 19180  // GoString returns the string representation.
 19181  //
 19182  // API parameter values that are decorated as "sensitive" in the API will not
 19183  // be included in the string output. The member name will be present, but the
 19184  // value will be replaced with "sensitive".
 19185  func (s HierarchyStructure) GoString() string {
 19186  	return s.String()
 19187  }
 19188  
 19189  // SetLevelFive sets the LevelFive field's value.
 19190  func (s *HierarchyStructure) SetLevelFive(v *HierarchyLevel) *HierarchyStructure {
 19191  	s.LevelFive = v
 19192  	return s
 19193  }
 19194  
 19195  // SetLevelFour sets the LevelFour field's value.
 19196  func (s *HierarchyStructure) SetLevelFour(v *HierarchyLevel) *HierarchyStructure {
 19197  	s.LevelFour = v
 19198  	return s
 19199  }
 19200  
 19201  // SetLevelOne sets the LevelOne field's value.
 19202  func (s *HierarchyStructure) SetLevelOne(v *HierarchyLevel) *HierarchyStructure {
 19203  	s.LevelOne = v
 19204  	return s
 19205  }
 19206  
 19207  // SetLevelThree sets the LevelThree field's value.
 19208  func (s *HierarchyStructure) SetLevelThree(v *HierarchyLevel) *HierarchyStructure {
 19209  	s.LevelThree = v
 19210  	return s
 19211  }
 19212  
 19213  // SetLevelTwo sets the LevelTwo field's value.
 19214  func (s *HierarchyStructure) SetLevelTwo(v *HierarchyLevel) *HierarchyStructure {
 19215  	s.LevelTwo = v
 19216  	return s
 19217  }
 19218  
 19219  // Contains information about the level hierarchy to update.
 19220  type HierarchyStructureUpdate struct {
 19221  	_ struct{} `type:"structure"`
 19222  
 19223  	// The update for level five.
 19224  	LevelFive *HierarchyLevelUpdate `type:"structure"`
 19225  
 19226  	// The update for level four.
 19227  	LevelFour *HierarchyLevelUpdate `type:"structure"`
 19228  
 19229  	// The update for level one.
 19230  	LevelOne *HierarchyLevelUpdate `type:"structure"`
 19231  
 19232  	// The update for level three.
 19233  	LevelThree *HierarchyLevelUpdate `type:"structure"`
 19234  
 19235  	// The update for level two.
 19236  	LevelTwo *HierarchyLevelUpdate `type:"structure"`
 19237  }
 19238  
 19239  // String returns the string representation.
 19240  //
 19241  // API parameter values that are decorated as "sensitive" in the API will not
 19242  // be included in the string output. The member name will be present, but the
 19243  // value will be replaced with "sensitive".
 19244  func (s HierarchyStructureUpdate) String() string {
 19245  	return awsutil.Prettify(s)
 19246  }
 19247  
 19248  // GoString returns the string representation.
 19249  //
 19250  // API parameter values that are decorated as "sensitive" in the API will not
 19251  // be included in the string output. The member name will be present, but the
 19252  // value will be replaced with "sensitive".
 19253  func (s HierarchyStructureUpdate) GoString() string {
 19254  	return s.String()
 19255  }
 19256  
 19257  // Validate inspects the fields of the type to determine if they are valid.
 19258  func (s *HierarchyStructureUpdate) Validate() error {
 19259  	invalidParams := request.ErrInvalidParams{Context: "HierarchyStructureUpdate"}
 19260  	if s.LevelFive != nil {
 19261  		if err := s.LevelFive.Validate(); err != nil {
 19262  			invalidParams.AddNested("LevelFive", err.(request.ErrInvalidParams))
 19263  		}
 19264  	}
 19265  	if s.LevelFour != nil {
 19266  		if err := s.LevelFour.Validate(); err != nil {
 19267  			invalidParams.AddNested("LevelFour", err.(request.ErrInvalidParams))
 19268  		}
 19269  	}
 19270  	if s.LevelOne != nil {
 19271  		if err := s.LevelOne.Validate(); err != nil {
 19272  			invalidParams.AddNested("LevelOne", err.(request.ErrInvalidParams))
 19273  		}
 19274  	}
 19275  	if s.LevelThree != nil {
 19276  		if err := s.LevelThree.Validate(); err != nil {
 19277  			invalidParams.AddNested("LevelThree", err.(request.ErrInvalidParams))
 19278  		}
 19279  	}
 19280  	if s.LevelTwo != nil {
 19281  		if err := s.LevelTwo.Validate(); err != nil {
 19282  			invalidParams.AddNested("LevelTwo", err.(request.ErrInvalidParams))
 19283  		}
 19284  	}
 19285  
 19286  	if invalidParams.Len() > 0 {
 19287  		return invalidParams
 19288  	}
 19289  	return nil
 19290  }
 19291  
 19292  // SetLevelFive sets the LevelFive field's value.
 19293  func (s *HierarchyStructureUpdate) SetLevelFive(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
 19294  	s.LevelFive = v
 19295  	return s
 19296  }
 19297  
 19298  // SetLevelFour sets the LevelFour field's value.
 19299  func (s *HierarchyStructureUpdate) SetLevelFour(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
 19300  	s.LevelFour = v
 19301  	return s
 19302  }
 19303  
 19304  // SetLevelOne sets the LevelOne field's value.
 19305  func (s *HierarchyStructureUpdate) SetLevelOne(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
 19306  	s.LevelOne = v
 19307  	return s
 19308  }
 19309  
 19310  // SetLevelThree sets the LevelThree field's value.
 19311  func (s *HierarchyStructureUpdate) SetLevelThree(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
 19312  	s.LevelThree = v
 19313  	return s
 19314  }
 19315  
 19316  // SetLevelTwo sets the LevelTwo field's value.
 19317  func (s *HierarchyStructureUpdate) SetLevelTwo(v *HierarchyLevelUpdate) *HierarchyStructureUpdate {
 19318  	s.LevelTwo = v
 19319  	return s
 19320  }
 19321  
 19322  // Contains information about a historical metric. For a description of each
 19323  // metric, see Historical Metrics Definitions (https://docs.aws.amazon.com/connect/latest/adminguide/historical-metrics-definitions.html)
 19324  // in the Amazon Connect Administrator Guide.
 19325  type HistoricalMetric struct {
 19326  	_ struct{} `type:"structure"`
 19327  
 19328  	// The name of the metric.
 19329  	Name *string `type:"string" enum:"HistoricalMetricName"`
 19330  
 19331  	// The statistic for the metric.
 19332  	Statistic *string `type:"string" enum:"Statistic"`
 19333  
 19334  	// The threshold for the metric, used with service level metrics.
 19335  	Threshold *Threshold `type:"structure"`
 19336  
 19337  	// The unit for the metric.
 19338  	Unit *string `type:"string" enum:"Unit"`
 19339  }
 19340  
 19341  // String returns the string representation.
 19342  //
 19343  // API parameter values that are decorated as "sensitive" in the API will not
 19344  // be included in the string output. The member name will be present, but the
 19345  // value will be replaced with "sensitive".
 19346  func (s HistoricalMetric) String() string {
 19347  	return awsutil.Prettify(s)
 19348  }
 19349  
 19350  // GoString returns the string representation.
 19351  //
 19352  // API parameter values that are decorated as "sensitive" in the API will not
 19353  // be included in the string output. The member name will be present, but the
 19354  // value will be replaced with "sensitive".
 19355  func (s HistoricalMetric) GoString() string {
 19356  	return s.String()
 19357  }
 19358  
 19359  // SetName sets the Name field's value.
 19360  func (s *HistoricalMetric) SetName(v string) *HistoricalMetric {
 19361  	s.Name = &v
 19362  	return s
 19363  }
 19364  
 19365  // SetStatistic sets the Statistic field's value.
 19366  func (s *HistoricalMetric) SetStatistic(v string) *HistoricalMetric {
 19367  	s.Statistic = &v
 19368  	return s
 19369  }
 19370  
 19371  // SetThreshold sets the Threshold field's value.
 19372  func (s *HistoricalMetric) SetThreshold(v *Threshold) *HistoricalMetric {
 19373  	s.Threshold = v
 19374  	return s
 19375  }
 19376  
 19377  // SetUnit sets the Unit field's value.
 19378  func (s *HistoricalMetric) SetUnit(v string) *HistoricalMetric {
 19379  	s.Unit = &v
 19380  	return s
 19381  }
 19382  
 19383  // Contains the data for a historical metric.
 19384  type HistoricalMetricData struct {
 19385  	_ struct{} `type:"structure"`
 19386  
 19387  	// Information about the metric.
 19388  	Metric *HistoricalMetric `type:"structure"`
 19389  
 19390  	// The value of the metric.
 19391  	Value *float64 `type:"double"`
 19392  }
 19393  
 19394  // String returns the string representation.
 19395  //
 19396  // API parameter values that are decorated as "sensitive" in the API will not
 19397  // be included in the string output. The member name will be present, but the
 19398  // value will be replaced with "sensitive".
 19399  func (s HistoricalMetricData) String() string {
 19400  	return awsutil.Prettify(s)
 19401  }
 19402  
 19403  // GoString returns the string representation.
 19404  //
 19405  // API parameter values that are decorated as "sensitive" in the API will not
 19406  // be included in the string output. The member name will be present, but the
 19407  // value will be replaced with "sensitive".
 19408  func (s HistoricalMetricData) GoString() string {
 19409  	return s.String()
 19410  }
 19411  
 19412  // SetMetric sets the Metric field's value.
 19413  func (s *HistoricalMetricData) SetMetric(v *HistoricalMetric) *HistoricalMetricData {
 19414  	s.Metric = v
 19415  	return s
 19416  }
 19417  
 19418  // SetValue sets the Value field's value.
 19419  func (s *HistoricalMetricData) SetValue(v float64) *HistoricalMetricData {
 19420  	s.Value = &v
 19421  	return s
 19422  }
 19423  
 19424  // Contains information about the historical metrics retrieved.
 19425  type HistoricalMetricResult struct {
 19426  	_ struct{} `type:"structure"`
 19427  
 19428  	// The set of metrics.
 19429  	Collections []*HistoricalMetricData `type:"list"`
 19430  
 19431  	// The dimension for the metrics.
 19432  	Dimensions *Dimensions `type:"structure"`
 19433  }
 19434  
 19435  // String returns the string representation.
 19436  //
 19437  // API parameter values that are decorated as "sensitive" in the API will not
 19438  // be included in the string output. The member name will be present, but the
 19439  // value will be replaced with "sensitive".
 19440  func (s HistoricalMetricResult) String() string {
 19441  	return awsutil.Prettify(s)
 19442  }
 19443  
 19444  // GoString returns the string representation.
 19445  //
 19446  // API parameter values that are decorated as "sensitive" in the API will not
 19447  // be included in the string output. The member name will be present, but the
 19448  // value will be replaced with "sensitive".
 19449  func (s HistoricalMetricResult) GoString() string {
 19450  	return s.String()
 19451  }
 19452  
 19453  // SetCollections sets the Collections field's value.
 19454  func (s *HistoricalMetricResult) SetCollections(v []*HistoricalMetricData) *HistoricalMetricResult {
 19455  	s.Collections = v
 19456  	return s
 19457  }
 19458  
 19459  // SetDimensions sets the Dimensions field's value.
 19460  func (s *HistoricalMetricResult) SetDimensions(v *Dimensions) *HistoricalMetricResult {
 19461  	s.Dimensions = v
 19462  	return s
 19463  }
 19464  
 19465  // Information about of the hours of operation.
 19466  type HoursOfOperation struct {
 19467  	_ struct{} `type:"structure"`
 19468  
 19469  	// Configuration information for the hours of operation.
 19470  	Config []*HoursOfOperationConfig `type:"list"`
 19471  
 19472  	// The description for the hours of operation.
 19473  	Description *string `min:"1" type:"string"`
 19474  
 19475  	// The Amazon Resource Name (ARN) for the hours of operation.
 19476  	HoursOfOperationArn *string `type:"string"`
 19477  
 19478  	// The identifier for the hours of operation.
 19479  	HoursOfOperationId *string `type:"string"`
 19480  
 19481  	// The name for the hours of operation.
 19482  	Name *string `min:"1" type:"string"`
 19483  
 19484  	// One or more tags.
 19485  	Tags map[string]*string `min:"1" type:"map"`
 19486  
 19487  	// The time zone for the hours of operation.
 19488  	TimeZone *string `type:"string"`
 19489  }
 19490  
 19491  // String returns the string representation.
 19492  //
 19493  // API parameter values that are decorated as "sensitive" in the API will not
 19494  // be included in the string output. The member name will be present, but the
 19495  // value will be replaced with "sensitive".
 19496  func (s HoursOfOperation) String() string {
 19497  	return awsutil.Prettify(s)
 19498  }
 19499  
 19500  // GoString returns the string representation.
 19501  //
 19502  // API parameter values that are decorated as "sensitive" in the API will not
 19503  // be included in the string output. The member name will be present, but the
 19504  // value will be replaced with "sensitive".
 19505  func (s HoursOfOperation) GoString() string {
 19506  	return s.String()
 19507  }
 19508  
 19509  // SetConfig sets the Config field's value.
 19510  func (s *HoursOfOperation) SetConfig(v []*HoursOfOperationConfig) *HoursOfOperation {
 19511  	s.Config = v
 19512  	return s
 19513  }
 19514  
 19515  // SetDescription sets the Description field's value.
 19516  func (s *HoursOfOperation) SetDescription(v string) *HoursOfOperation {
 19517  	s.Description = &v
 19518  	return s
 19519  }
 19520  
 19521  // SetHoursOfOperationArn sets the HoursOfOperationArn field's value.
 19522  func (s *HoursOfOperation) SetHoursOfOperationArn(v string) *HoursOfOperation {
 19523  	s.HoursOfOperationArn = &v
 19524  	return s
 19525  }
 19526  
 19527  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 19528  func (s *HoursOfOperation) SetHoursOfOperationId(v string) *HoursOfOperation {
 19529  	s.HoursOfOperationId = &v
 19530  	return s
 19531  }
 19532  
 19533  // SetName sets the Name field's value.
 19534  func (s *HoursOfOperation) SetName(v string) *HoursOfOperation {
 19535  	s.Name = &v
 19536  	return s
 19537  }
 19538  
 19539  // SetTags sets the Tags field's value.
 19540  func (s *HoursOfOperation) SetTags(v map[string]*string) *HoursOfOperation {
 19541  	s.Tags = v
 19542  	return s
 19543  }
 19544  
 19545  // SetTimeZone sets the TimeZone field's value.
 19546  func (s *HoursOfOperation) SetTimeZone(v string) *HoursOfOperation {
 19547  	s.TimeZone = &v
 19548  	return s
 19549  }
 19550  
 19551  // Contains information about the hours of operation.
 19552  type HoursOfOperationConfig struct {
 19553  	_ struct{} `type:"structure"`
 19554  
 19555  	// The day that the hours of operation applies to.
 19556  	//
 19557  	// Day is a required field
 19558  	Day *string `type:"string" required:"true" enum:"HoursOfOperationDays"`
 19559  
 19560  	// The end time that your contact center is closes.
 19561  	//
 19562  	// EndTime is a required field
 19563  	EndTime *HoursOfOperationTimeSlice `type:"structure" required:"true"`
 19564  
 19565  	// The start time that your contact center is open.
 19566  	//
 19567  	// StartTime is a required field
 19568  	StartTime *HoursOfOperationTimeSlice `type:"structure" required:"true"`
 19569  }
 19570  
 19571  // String returns the string representation.
 19572  //
 19573  // API parameter values that are decorated as "sensitive" in the API will not
 19574  // be included in the string output. The member name will be present, but the
 19575  // value will be replaced with "sensitive".
 19576  func (s HoursOfOperationConfig) String() string {
 19577  	return awsutil.Prettify(s)
 19578  }
 19579  
 19580  // GoString returns the string representation.
 19581  //
 19582  // API parameter values that are decorated as "sensitive" in the API will not
 19583  // be included in the string output. The member name will be present, but the
 19584  // value will be replaced with "sensitive".
 19585  func (s HoursOfOperationConfig) GoString() string {
 19586  	return s.String()
 19587  }
 19588  
 19589  // Validate inspects the fields of the type to determine if they are valid.
 19590  func (s *HoursOfOperationConfig) Validate() error {
 19591  	invalidParams := request.ErrInvalidParams{Context: "HoursOfOperationConfig"}
 19592  	if s.Day == nil {
 19593  		invalidParams.Add(request.NewErrParamRequired("Day"))
 19594  	}
 19595  	if s.EndTime == nil {
 19596  		invalidParams.Add(request.NewErrParamRequired("EndTime"))
 19597  	}
 19598  	if s.StartTime == nil {
 19599  		invalidParams.Add(request.NewErrParamRequired("StartTime"))
 19600  	}
 19601  	if s.EndTime != nil {
 19602  		if err := s.EndTime.Validate(); err != nil {
 19603  			invalidParams.AddNested("EndTime", err.(request.ErrInvalidParams))
 19604  		}
 19605  	}
 19606  	if s.StartTime != nil {
 19607  		if err := s.StartTime.Validate(); err != nil {
 19608  			invalidParams.AddNested("StartTime", err.(request.ErrInvalidParams))
 19609  		}
 19610  	}
 19611  
 19612  	if invalidParams.Len() > 0 {
 19613  		return invalidParams
 19614  	}
 19615  	return nil
 19616  }
 19617  
 19618  // SetDay sets the Day field's value.
 19619  func (s *HoursOfOperationConfig) SetDay(v string) *HoursOfOperationConfig {
 19620  	s.Day = &v
 19621  	return s
 19622  }
 19623  
 19624  // SetEndTime sets the EndTime field's value.
 19625  func (s *HoursOfOperationConfig) SetEndTime(v *HoursOfOperationTimeSlice) *HoursOfOperationConfig {
 19626  	s.EndTime = v
 19627  	return s
 19628  }
 19629  
 19630  // SetStartTime sets the StartTime field's value.
 19631  func (s *HoursOfOperationConfig) SetStartTime(v *HoursOfOperationTimeSlice) *HoursOfOperationConfig {
 19632  	s.StartTime = v
 19633  	return s
 19634  }
 19635  
 19636  // Contains summary information about hours of operation for a contact center.
 19637  type HoursOfOperationSummary struct {
 19638  	_ struct{} `type:"structure"`
 19639  
 19640  	// The Amazon Resource Name (ARN) of the hours of operation.
 19641  	Arn *string `type:"string"`
 19642  
 19643  	// The identifier of the hours of operation.
 19644  	Id *string `type:"string"`
 19645  
 19646  	// The name of the hours of operation.
 19647  	Name *string `type:"string"`
 19648  }
 19649  
 19650  // String returns the string representation.
 19651  //
 19652  // API parameter values that are decorated as "sensitive" in the API will not
 19653  // be included in the string output. The member name will be present, but the
 19654  // value will be replaced with "sensitive".
 19655  func (s HoursOfOperationSummary) String() string {
 19656  	return awsutil.Prettify(s)
 19657  }
 19658  
 19659  // GoString returns the string representation.
 19660  //
 19661  // API parameter values that are decorated as "sensitive" in the API will not
 19662  // be included in the string output. The member name will be present, but the
 19663  // value will be replaced with "sensitive".
 19664  func (s HoursOfOperationSummary) GoString() string {
 19665  	return s.String()
 19666  }
 19667  
 19668  // SetArn sets the Arn field's value.
 19669  func (s *HoursOfOperationSummary) SetArn(v string) *HoursOfOperationSummary {
 19670  	s.Arn = &v
 19671  	return s
 19672  }
 19673  
 19674  // SetId sets the Id field's value.
 19675  func (s *HoursOfOperationSummary) SetId(v string) *HoursOfOperationSummary {
 19676  	s.Id = &v
 19677  	return s
 19678  }
 19679  
 19680  // SetName sets the Name field's value.
 19681  func (s *HoursOfOperationSummary) SetName(v string) *HoursOfOperationSummary {
 19682  	s.Name = &v
 19683  	return s
 19684  }
 19685  
 19686  // The start time or end time for an hours of operation.
 19687  type HoursOfOperationTimeSlice struct {
 19688  	_ struct{} `type:"structure"`
 19689  
 19690  	// The hours.
 19691  	//
 19692  	// Hours is a required field
 19693  	Hours *int64 `type:"integer" required:"true"`
 19694  
 19695  	// The minutes.
 19696  	//
 19697  	// Minutes is a required field
 19698  	Minutes *int64 `type:"integer" required:"true"`
 19699  }
 19700  
 19701  // String returns the string representation.
 19702  //
 19703  // API parameter values that are decorated as "sensitive" in the API will not
 19704  // be included in the string output. The member name will be present, but the
 19705  // value will be replaced with "sensitive".
 19706  func (s HoursOfOperationTimeSlice) String() string {
 19707  	return awsutil.Prettify(s)
 19708  }
 19709  
 19710  // GoString returns the string representation.
 19711  //
 19712  // API parameter values that are decorated as "sensitive" in the API will not
 19713  // be included in the string output. The member name will be present, but the
 19714  // value will be replaced with "sensitive".
 19715  func (s HoursOfOperationTimeSlice) GoString() string {
 19716  	return s.String()
 19717  }
 19718  
 19719  // Validate inspects the fields of the type to determine if they are valid.
 19720  func (s *HoursOfOperationTimeSlice) Validate() error {
 19721  	invalidParams := request.ErrInvalidParams{Context: "HoursOfOperationTimeSlice"}
 19722  	if s.Hours == nil {
 19723  		invalidParams.Add(request.NewErrParamRequired("Hours"))
 19724  	}
 19725  	if s.Minutes == nil {
 19726  		invalidParams.Add(request.NewErrParamRequired("Minutes"))
 19727  	}
 19728  
 19729  	if invalidParams.Len() > 0 {
 19730  		return invalidParams
 19731  	}
 19732  	return nil
 19733  }
 19734  
 19735  // SetHours sets the Hours field's value.
 19736  func (s *HoursOfOperationTimeSlice) SetHours(v int64) *HoursOfOperationTimeSlice {
 19737  	s.Hours = &v
 19738  	return s
 19739  }
 19740  
 19741  // SetMinutes sets the Minutes field's value.
 19742  func (s *HoursOfOperationTimeSlice) SetMinutes(v int64) *HoursOfOperationTimeSlice {
 19743  	s.Minutes = &v
 19744  	return s
 19745  }
 19746  
 19747  // The Amazon Connect instance.
 19748  type Instance struct {
 19749  	_ struct{} `type:"structure"`
 19750  
 19751  	// The Amazon Resource Name (ARN) of the instance.
 19752  	Arn *string `type:"string"`
 19753  
 19754  	// When the instance was created.
 19755  	CreatedTime *time.Time `type:"timestamp"`
 19756  
 19757  	// The identifier of the Amazon Connect instance. You can find the instanceId
 19758  	// in the ARN of the instance.
 19759  	Id *string `min:"1" type:"string"`
 19760  
 19761  	// The identity management type.
 19762  	IdentityManagementType *string `type:"string" enum:"DirectoryType"`
 19763  
 19764  	// Whether inbound calls are enabled.
 19765  	InboundCallsEnabled *bool `type:"boolean"`
 19766  
 19767  	// The alias of instance.
 19768  	//
 19769  	// InstanceAlias is a sensitive parameter and its value will be
 19770  	// replaced with "sensitive" in string returned by Instance's
 19771  	// String and GoString methods.
 19772  	InstanceAlias *string `min:"1" type:"string" sensitive:"true"`
 19773  
 19774  	// The state of the instance.
 19775  	InstanceStatus *string `type:"string" enum:"InstanceStatus"`
 19776  
 19777  	// Whether outbound calls are enabled.
 19778  	OutboundCallsEnabled *bool `type:"boolean"`
 19779  
 19780  	// The service role of the instance.
 19781  	ServiceRole *string `type:"string"`
 19782  
 19783  	// Relevant details why the instance was not successfully created.
 19784  	StatusReason *InstanceStatusReason `type:"structure"`
 19785  }
 19786  
 19787  // String returns the string representation.
 19788  //
 19789  // API parameter values that are decorated as "sensitive" in the API will not
 19790  // be included in the string output. The member name will be present, but the
 19791  // value will be replaced with "sensitive".
 19792  func (s Instance) String() string {
 19793  	return awsutil.Prettify(s)
 19794  }
 19795  
 19796  // GoString returns the string representation.
 19797  //
 19798  // API parameter values that are decorated as "sensitive" in the API will not
 19799  // be included in the string output. The member name will be present, but the
 19800  // value will be replaced with "sensitive".
 19801  func (s Instance) GoString() string {
 19802  	return s.String()
 19803  }
 19804  
 19805  // SetArn sets the Arn field's value.
 19806  func (s *Instance) SetArn(v string) *Instance {
 19807  	s.Arn = &v
 19808  	return s
 19809  }
 19810  
 19811  // SetCreatedTime sets the CreatedTime field's value.
 19812  func (s *Instance) SetCreatedTime(v time.Time) *Instance {
 19813  	s.CreatedTime = &v
 19814  	return s
 19815  }
 19816  
 19817  // SetId sets the Id field's value.
 19818  func (s *Instance) SetId(v string) *Instance {
 19819  	s.Id = &v
 19820  	return s
 19821  }
 19822  
 19823  // SetIdentityManagementType sets the IdentityManagementType field's value.
 19824  func (s *Instance) SetIdentityManagementType(v string) *Instance {
 19825  	s.IdentityManagementType = &v
 19826  	return s
 19827  }
 19828  
 19829  // SetInboundCallsEnabled sets the InboundCallsEnabled field's value.
 19830  func (s *Instance) SetInboundCallsEnabled(v bool) *Instance {
 19831  	s.InboundCallsEnabled = &v
 19832  	return s
 19833  }
 19834  
 19835  // SetInstanceAlias sets the InstanceAlias field's value.
 19836  func (s *Instance) SetInstanceAlias(v string) *Instance {
 19837  	s.InstanceAlias = &v
 19838  	return s
 19839  }
 19840  
 19841  // SetInstanceStatus sets the InstanceStatus field's value.
 19842  func (s *Instance) SetInstanceStatus(v string) *Instance {
 19843  	s.InstanceStatus = &v
 19844  	return s
 19845  }
 19846  
 19847  // SetOutboundCallsEnabled sets the OutboundCallsEnabled field's value.
 19848  func (s *Instance) SetOutboundCallsEnabled(v bool) *Instance {
 19849  	s.OutboundCallsEnabled = &v
 19850  	return s
 19851  }
 19852  
 19853  // SetServiceRole sets the ServiceRole field's value.
 19854  func (s *Instance) SetServiceRole(v string) *Instance {
 19855  	s.ServiceRole = &v
 19856  	return s
 19857  }
 19858  
 19859  // SetStatusReason sets the StatusReason field's value.
 19860  func (s *Instance) SetStatusReason(v *InstanceStatusReason) *Instance {
 19861  	s.StatusReason = v
 19862  	return s
 19863  }
 19864  
 19865  // Relevant details why the instance was not successfully created.
 19866  type InstanceStatusReason struct {
 19867  	_ struct{} `type:"structure"`
 19868  
 19869  	// The message.
 19870  	Message *string `type:"string"`
 19871  }
 19872  
 19873  // String returns the string representation.
 19874  //
 19875  // API parameter values that are decorated as "sensitive" in the API will not
 19876  // be included in the string output. The member name will be present, but the
 19877  // value will be replaced with "sensitive".
 19878  func (s InstanceStatusReason) String() string {
 19879  	return awsutil.Prettify(s)
 19880  }
 19881  
 19882  // GoString returns the string representation.
 19883  //
 19884  // API parameter values that are decorated as "sensitive" in the API will not
 19885  // be included in the string output. The member name will be present, but the
 19886  // value will be replaced with "sensitive".
 19887  func (s InstanceStatusReason) GoString() string {
 19888  	return s.String()
 19889  }
 19890  
 19891  // SetMessage sets the Message field's value.
 19892  func (s *InstanceStatusReason) SetMessage(v string) *InstanceStatusReason {
 19893  	s.Message = &v
 19894  	return s
 19895  }
 19896  
 19897  // The storage configuration for the instance.
 19898  type InstanceStorageConfig struct {
 19899  	_ struct{} `type:"structure"`
 19900  
 19901  	// The existing association identifier that uniquely identifies the resource
 19902  	// type and storage config for the given instance ID.
 19903  	AssociationId *string `min:"1" type:"string"`
 19904  
 19905  	// The configuration of the Kinesis Firehose delivery stream.
 19906  	KinesisFirehoseConfig *KinesisFirehoseConfig `type:"structure"`
 19907  
 19908  	// The configuration of the Kinesis data stream.
 19909  	KinesisStreamConfig *KinesisStreamConfig `type:"structure"`
 19910  
 19911  	// The configuration of the Kinesis video stream.
 19912  	KinesisVideoStreamConfig *KinesisVideoStreamConfig `type:"structure"`
 19913  
 19914  	// The S3 bucket configuration.
 19915  	S3Config *S3Config `type:"structure"`
 19916  
 19917  	// A valid storage type.
 19918  	//
 19919  	// StorageType is a required field
 19920  	StorageType *string `type:"string" required:"true" enum:"StorageType"`
 19921  }
 19922  
 19923  // String returns the string representation.
 19924  //
 19925  // API parameter values that are decorated as "sensitive" in the API will not
 19926  // be included in the string output. The member name will be present, but the
 19927  // value will be replaced with "sensitive".
 19928  func (s InstanceStorageConfig) String() string {
 19929  	return awsutil.Prettify(s)
 19930  }
 19931  
 19932  // GoString returns the string representation.
 19933  //
 19934  // API parameter values that are decorated as "sensitive" in the API will not
 19935  // be included in the string output. The member name will be present, but the
 19936  // value will be replaced with "sensitive".
 19937  func (s InstanceStorageConfig) GoString() string {
 19938  	return s.String()
 19939  }
 19940  
 19941  // Validate inspects the fields of the type to determine if they are valid.
 19942  func (s *InstanceStorageConfig) Validate() error {
 19943  	invalidParams := request.ErrInvalidParams{Context: "InstanceStorageConfig"}
 19944  	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
 19945  		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
 19946  	}
 19947  	if s.StorageType == nil {
 19948  		invalidParams.Add(request.NewErrParamRequired("StorageType"))
 19949  	}
 19950  	if s.KinesisFirehoseConfig != nil {
 19951  		if err := s.KinesisFirehoseConfig.Validate(); err != nil {
 19952  			invalidParams.AddNested("KinesisFirehoseConfig", err.(request.ErrInvalidParams))
 19953  		}
 19954  	}
 19955  	if s.KinesisStreamConfig != nil {
 19956  		if err := s.KinesisStreamConfig.Validate(); err != nil {
 19957  			invalidParams.AddNested("KinesisStreamConfig", err.(request.ErrInvalidParams))
 19958  		}
 19959  	}
 19960  	if s.KinesisVideoStreamConfig != nil {
 19961  		if err := s.KinesisVideoStreamConfig.Validate(); err != nil {
 19962  			invalidParams.AddNested("KinesisVideoStreamConfig", err.(request.ErrInvalidParams))
 19963  		}
 19964  	}
 19965  	if s.S3Config != nil {
 19966  		if err := s.S3Config.Validate(); err != nil {
 19967  			invalidParams.AddNested("S3Config", err.(request.ErrInvalidParams))
 19968  		}
 19969  	}
 19970  
 19971  	if invalidParams.Len() > 0 {
 19972  		return invalidParams
 19973  	}
 19974  	return nil
 19975  }
 19976  
 19977  // SetAssociationId sets the AssociationId field's value.
 19978  func (s *InstanceStorageConfig) SetAssociationId(v string) *InstanceStorageConfig {
 19979  	s.AssociationId = &v
 19980  	return s
 19981  }
 19982  
 19983  // SetKinesisFirehoseConfig sets the KinesisFirehoseConfig field's value.
 19984  func (s *InstanceStorageConfig) SetKinesisFirehoseConfig(v *KinesisFirehoseConfig) *InstanceStorageConfig {
 19985  	s.KinesisFirehoseConfig = v
 19986  	return s
 19987  }
 19988  
 19989  // SetKinesisStreamConfig sets the KinesisStreamConfig field's value.
 19990  func (s *InstanceStorageConfig) SetKinesisStreamConfig(v *KinesisStreamConfig) *InstanceStorageConfig {
 19991  	s.KinesisStreamConfig = v
 19992  	return s
 19993  }
 19994  
 19995  // SetKinesisVideoStreamConfig sets the KinesisVideoStreamConfig field's value.
 19996  func (s *InstanceStorageConfig) SetKinesisVideoStreamConfig(v *KinesisVideoStreamConfig) *InstanceStorageConfig {
 19997  	s.KinesisVideoStreamConfig = v
 19998  	return s
 19999  }
 20000  
 20001  // SetS3Config sets the S3Config field's value.
 20002  func (s *InstanceStorageConfig) SetS3Config(v *S3Config) *InstanceStorageConfig {
 20003  	s.S3Config = v
 20004  	return s
 20005  }
 20006  
 20007  // SetStorageType sets the StorageType field's value.
 20008  func (s *InstanceStorageConfig) SetStorageType(v string) *InstanceStorageConfig {
 20009  	s.StorageType = &v
 20010  	return s
 20011  }
 20012  
 20013  // Information about the instance.
 20014  type InstanceSummary struct {
 20015  	_ struct{} `type:"structure"`
 20016  
 20017  	// The Amazon Resource Name (ARN) of the instance.
 20018  	Arn *string `type:"string"`
 20019  
 20020  	// When the instance was created.
 20021  	CreatedTime *time.Time `type:"timestamp"`
 20022  
 20023  	// The identifier of the instance.
 20024  	Id *string `min:"1" type:"string"`
 20025  
 20026  	// The identity management type of the instance.
 20027  	IdentityManagementType *string `type:"string" enum:"DirectoryType"`
 20028  
 20029  	// Whether inbound calls are enabled.
 20030  	InboundCallsEnabled *bool `type:"boolean"`
 20031  
 20032  	// The alias of the instance.
 20033  	//
 20034  	// InstanceAlias is a sensitive parameter and its value will be
 20035  	// replaced with "sensitive" in string returned by InstanceSummary's
 20036  	// String and GoString methods.
 20037  	InstanceAlias *string `min:"1" type:"string" sensitive:"true"`
 20038  
 20039  	// The state of the instance.
 20040  	InstanceStatus *string `type:"string" enum:"InstanceStatus"`
 20041  
 20042  	// Whether outbound calls are enabled.
 20043  	OutboundCallsEnabled *bool `type:"boolean"`
 20044  
 20045  	// The service role of the instance.
 20046  	ServiceRole *string `type:"string"`
 20047  }
 20048  
 20049  // String returns the string representation.
 20050  //
 20051  // API parameter values that are decorated as "sensitive" in the API will not
 20052  // be included in the string output. The member name will be present, but the
 20053  // value will be replaced with "sensitive".
 20054  func (s InstanceSummary) String() string {
 20055  	return awsutil.Prettify(s)
 20056  }
 20057  
 20058  // GoString returns the string representation.
 20059  //
 20060  // API parameter values that are decorated as "sensitive" in the API will not
 20061  // be included in the string output. The member name will be present, but the
 20062  // value will be replaced with "sensitive".
 20063  func (s InstanceSummary) GoString() string {
 20064  	return s.String()
 20065  }
 20066  
 20067  // SetArn sets the Arn field's value.
 20068  func (s *InstanceSummary) SetArn(v string) *InstanceSummary {
 20069  	s.Arn = &v
 20070  	return s
 20071  }
 20072  
 20073  // SetCreatedTime sets the CreatedTime field's value.
 20074  func (s *InstanceSummary) SetCreatedTime(v time.Time) *InstanceSummary {
 20075  	s.CreatedTime = &v
 20076  	return s
 20077  }
 20078  
 20079  // SetId sets the Id field's value.
 20080  func (s *InstanceSummary) SetId(v string) *InstanceSummary {
 20081  	s.Id = &v
 20082  	return s
 20083  }
 20084  
 20085  // SetIdentityManagementType sets the IdentityManagementType field's value.
 20086  func (s *InstanceSummary) SetIdentityManagementType(v string) *InstanceSummary {
 20087  	s.IdentityManagementType = &v
 20088  	return s
 20089  }
 20090  
 20091  // SetInboundCallsEnabled sets the InboundCallsEnabled field's value.
 20092  func (s *InstanceSummary) SetInboundCallsEnabled(v bool) *InstanceSummary {
 20093  	s.InboundCallsEnabled = &v
 20094  	return s
 20095  }
 20096  
 20097  // SetInstanceAlias sets the InstanceAlias field's value.
 20098  func (s *InstanceSummary) SetInstanceAlias(v string) *InstanceSummary {
 20099  	s.InstanceAlias = &v
 20100  	return s
 20101  }
 20102  
 20103  // SetInstanceStatus sets the InstanceStatus field's value.
 20104  func (s *InstanceSummary) SetInstanceStatus(v string) *InstanceSummary {
 20105  	s.InstanceStatus = &v
 20106  	return s
 20107  }
 20108  
 20109  // SetOutboundCallsEnabled sets the OutboundCallsEnabled field's value.
 20110  func (s *InstanceSummary) SetOutboundCallsEnabled(v bool) *InstanceSummary {
 20111  	s.OutboundCallsEnabled = &v
 20112  	return s
 20113  }
 20114  
 20115  // SetServiceRole sets the ServiceRole field's value.
 20116  func (s *InstanceSummary) SetServiceRole(v string) *InstanceSummary {
 20117  	s.ServiceRole = &v
 20118  	return s
 20119  }
 20120  
 20121  // Contains summary information about the associated AppIntegrations.
 20122  type IntegrationAssociationSummary struct {
 20123  	_ struct{} `type:"structure"`
 20124  
 20125  	// The identifier of the Amazon Connect instance. You can find the instanceId
 20126  	// in the ARN of the instance.
 20127  	InstanceId *string `min:"1" type:"string"`
 20128  
 20129  	// The Amazon Resource Name (ARN) for the AppIntegration.
 20130  	IntegrationArn *string `type:"string"`
 20131  
 20132  	// The Amazon Resource Name (ARN) for the AppIntegration association.
 20133  	IntegrationAssociationArn *string `type:"string"`
 20134  
 20135  	// The identifier for the AppIntegration association.
 20136  	IntegrationAssociationId *string `min:"1" type:"string"`
 20137  
 20138  	// The integration type.
 20139  	IntegrationType *string `type:"string" enum:"IntegrationType"`
 20140  
 20141  	// The user-provided, friendly name for the external application.
 20142  	SourceApplicationName *string `min:"1" type:"string"`
 20143  
 20144  	// The URL for the external application.
 20145  	SourceApplicationUrl *string `min:"1" type:"string"`
 20146  
 20147  	// The name of the source.
 20148  	SourceType *string `type:"string" enum:"SourceType"`
 20149  }
 20150  
 20151  // String returns the string representation.
 20152  //
 20153  // API parameter values that are decorated as "sensitive" in the API will not
 20154  // be included in the string output. The member name will be present, but the
 20155  // value will be replaced with "sensitive".
 20156  func (s IntegrationAssociationSummary) String() string {
 20157  	return awsutil.Prettify(s)
 20158  }
 20159  
 20160  // GoString returns the string representation.
 20161  //
 20162  // API parameter values that are decorated as "sensitive" in the API will not
 20163  // be included in the string output. The member name will be present, but the
 20164  // value will be replaced with "sensitive".
 20165  func (s IntegrationAssociationSummary) GoString() string {
 20166  	return s.String()
 20167  }
 20168  
 20169  // SetInstanceId sets the InstanceId field's value.
 20170  func (s *IntegrationAssociationSummary) SetInstanceId(v string) *IntegrationAssociationSummary {
 20171  	s.InstanceId = &v
 20172  	return s
 20173  }
 20174  
 20175  // SetIntegrationArn sets the IntegrationArn field's value.
 20176  func (s *IntegrationAssociationSummary) SetIntegrationArn(v string) *IntegrationAssociationSummary {
 20177  	s.IntegrationArn = &v
 20178  	return s
 20179  }
 20180  
 20181  // SetIntegrationAssociationArn sets the IntegrationAssociationArn field's value.
 20182  func (s *IntegrationAssociationSummary) SetIntegrationAssociationArn(v string) *IntegrationAssociationSummary {
 20183  	s.IntegrationAssociationArn = &v
 20184  	return s
 20185  }
 20186  
 20187  // SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
 20188  func (s *IntegrationAssociationSummary) SetIntegrationAssociationId(v string) *IntegrationAssociationSummary {
 20189  	s.IntegrationAssociationId = &v
 20190  	return s
 20191  }
 20192  
 20193  // SetIntegrationType sets the IntegrationType field's value.
 20194  func (s *IntegrationAssociationSummary) SetIntegrationType(v string) *IntegrationAssociationSummary {
 20195  	s.IntegrationType = &v
 20196  	return s
 20197  }
 20198  
 20199  // SetSourceApplicationName sets the SourceApplicationName field's value.
 20200  func (s *IntegrationAssociationSummary) SetSourceApplicationName(v string) *IntegrationAssociationSummary {
 20201  	s.SourceApplicationName = &v
 20202  	return s
 20203  }
 20204  
 20205  // SetSourceApplicationUrl sets the SourceApplicationUrl field's value.
 20206  func (s *IntegrationAssociationSummary) SetSourceApplicationUrl(v string) *IntegrationAssociationSummary {
 20207  	s.SourceApplicationUrl = &v
 20208  	return s
 20209  }
 20210  
 20211  // SetSourceType sets the SourceType field's value.
 20212  func (s *IntegrationAssociationSummary) SetSourceType(v string) *IntegrationAssociationSummary {
 20213  	s.SourceType = &v
 20214  	return s
 20215  }
 20216  
 20217  // Request processing failed because of an error or failure with the service.
 20218  type InternalServiceException struct {
 20219  	_            struct{}                  `type:"structure"`
 20220  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20221  
 20222  	// The message.
 20223  	Message_ *string `locationName:"Message" type:"string"`
 20224  }
 20225  
 20226  // String returns the string representation.
 20227  //
 20228  // API parameter values that are decorated as "sensitive" in the API will not
 20229  // be included in the string output. The member name will be present, but the
 20230  // value will be replaced with "sensitive".
 20231  func (s InternalServiceException) String() string {
 20232  	return awsutil.Prettify(s)
 20233  }
 20234  
 20235  // GoString returns the string representation.
 20236  //
 20237  // API parameter values that are decorated as "sensitive" in the API will not
 20238  // be included in the string output. The member name will be present, but the
 20239  // value will be replaced with "sensitive".
 20240  func (s InternalServiceException) GoString() string {
 20241  	return s.String()
 20242  }
 20243  
 20244  func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
 20245  	return &InternalServiceException{
 20246  		RespMetadata: v,
 20247  	}
 20248  }
 20249  
 20250  // Code returns the exception type name.
 20251  func (s *InternalServiceException) Code() string {
 20252  	return "InternalServiceException"
 20253  }
 20254  
 20255  // Message returns the exception's message.
 20256  func (s *InternalServiceException) Message() string {
 20257  	if s.Message_ != nil {
 20258  		return *s.Message_
 20259  	}
 20260  	return ""
 20261  }
 20262  
 20263  // OrigErr always returns nil, satisfies awserr.Error interface.
 20264  func (s *InternalServiceException) OrigErr() error {
 20265  	return nil
 20266  }
 20267  
 20268  func (s *InternalServiceException) Error() string {
 20269  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20270  }
 20271  
 20272  // Status code returns the HTTP status code for the request's response error.
 20273  func (s *InternalServiceException) StatusCode() int {
 20274  	return s.RespMetadata.StatusCode
 20275  }
 20276  
 20277  // RequestID returns the service's response RequestID for request.
 20278  func (s *InternalServiceException) RequestID() string {
 20279  	return s.RespMetadata.RequestID
 20280  }
 20281  
 20282  // The contact flow is not valid.
 20283  type InvalidContactFlowException struct {
 20284  	_            struct{}                  `type:"structure"`
 20285  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20286  
 20287  	Message_ *string `locationName:"message" type:"string"`
 20288  
 20289  	// The problems with the contact flow. Please fix before trying again.
 20290  	Problems []*ProblemDetail `locationName:"problems" min:"1" type:"list"`
 20291  }
 20292  
 20293  // String returns the string representation.
 20294  //
 20295  // API parameter values that are decorated as "sensitive" in the API will not
 20296  // be included in the string output. The member name will be present, but the
 20297  // value will be replaced with "sensitive".
 20298  func (s InvalidContactFlowException) String() string {
 20299  	return awsutil.Prettify(s)
 20300  }
 20301  
 20302  // GoString returns the string representation.
 20303  //
 20304  // API parameter values that are decorated as "sensitive" in the API will not
 20305  // be included in the string output. The member name will be present, but the
 20306  // value will be replaced with "sensitive".
 20307  func (s InvalidContactFlowException) GoString() string {
 20308  	return s.String()
 20309  }
 20310  
 20311  func newErrorInvalidContactFlowException(v protocol.ResponseMetadata) error {
 20312  	return &InvalidContactFlowException{
 20313  		RespMetadata: v,
 20314  	}
 20315  }
 20316  
 20317  // Code returns the exception type name.
 20318  func (s *InvalidContactFlowException) Code() string {
 20319  	return "InvalidContactFlowException"
 20320  }
 20321  
 20322  // Message returns the exception's message.
 20323  func (s *InvalidContactFlowException) Message() string {
 20324  	if s.Message_ != nil {
 20325  		return *s.Message_
 20326  	}
 20327  	return ""
 20328  }
 20329  
 20330  // OrigErr always returns nil, satisfies awserr.Error interface.
 20331  func (s *InvalidContactFlowException) OrigErr() error {
 20332  	return nil
 20333  }
 20334  
 20335  func (s *InvalidContactFlowException) Error() string {
 20336  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 20337  }
 20338  
 20339  // Status code returns the HTTP status code for the request's response error.
 20340  func (s *InvalidContactFlowException) StatusCode() int {
 20341  	return s.RespMetadata.StatusCode
 20342  }
 20343  
 20344  // RequestID returns the service's response RequestID for request.
 20345  func (s *InvalidContactFlowException) RequestID() string {
 20346  	return s.RespMetadata.RequestID
 20347  }
 20348  
 20349  // One or more of the specified parameters are not valid.
 20350  type InvalidParameterException struct {
 20351  	_            struct{}                  `type:"structure"`
 20352  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20353  
 20354  	// The message about the parameters.
 20355  	Message_ *string `locationName:"Message" type:"string"`
 20356  }
 20357  
 20358  // String returns the string representation.
 20359  //
 20360  // API parameter values that are decorated as "sensitive" in the API will not
 20361  // be included in the string output. The member name will be present, but the
 20362  // value will be replaced with "sensitive".
 20363  func (s InvalidParameterException) String() string {
 20364  	return awsutil.Prettify(s)
 20365  }
 20366  
 20367  // GoString returns the string representation.
 20368  //
 20369  // API parameter values that are decorated as "sensitive" in the API will not
 20370  // be included in the string output. The member name will be present, but the
 20371  // value will be replaced with "sensitive".
 20372  func (s InvalidParameterException) GoString() string {
 20373  	return s.String()
 20374  }
 20375  
 20376  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
 20377  	return &InvalidParameterException{
 20378  		RespMetadata: v,
 20379  	}
 20380  }
 20381  
 20382  // Code returns the exception type name.
 20383  func (s *InvalidParameterException) Code() string {
 20384  	return "InvalidParameterException"
 20385  }
 20386  
 20387  // Message returns the exception's message.
 20388  func (s *InvalidParameterException) Message() string {
 20389  	if s.Message_ != nil {
 20390  		return *s.Message_
 20391  	}
 20392  	return ""
 20393  }
 20394  
 20395  // OrigErr always returns nil, satisfies awserr.Error interface.
 20396  func (s *InvalidParameterException) OrigErr() error {
 20397  	return nil
 20398  }
 20399  
 20400  func (s *InvalidParameterException) Error() string {
 20401  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20402  }
 20403  
 20404  // Status code returns the HTTP status code for the request's response error.
 20405  func (s *InvalidParameterException) StatusCode() int {
 20406  	return s.RespMetadata.StatusCode
 20407  }
 20408  
 20409  // RequestID returns the service's response RequestID for request.
 20410  func (s *InvalidParameterException) RequestID() string {
 20411  	return s.RespMetadata.RequestID
 20412  }
 20413  
 20414  // The request is not valid.
 20415  type InvalidRequestException struct {
 20416  	_            struct{}                  `type:"structure"`
 20417  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20418  
 20419  	// The message about the request.
 20420  	Message_ *string `locationName:"Message" type:"string"`
 20421  }
 20422  
 20423  // String returns the string representation.
 20424  //
 20425  // API parameter values that are decorated as "sensitive" in the API will not
 20426  // be included in the string output. The member name will be present, but the
 20427  // value will be replaced with "sensitive".
 20428  func (s InvalidRequestException) String() string {
 20429  	return awsutil.Prettify(s)
 20430  }
 20431  
 20432  // GoString returns the string representation.
 20433  //
 20434  // API parameter values that are decorated as "sensitive" in the API will not
 20435  // be included in the string output. The member name will be present, but the
 20436  // value will be replaced with "sensitive".
 20437  func (s InvalidRequestException) GoString() string {
 20438  	return s.String()
 20439  }
 20440  
 20441  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
 20442  	return &InvalidRequestException{
 20443  		RespMetadata: v,
 20444  	}
 20445  }
 20446  
 20447  // Code returns the exception type name.
 20448  func (s *InvalidRequestException) Code() string {
 20449  	return "InvalidRequestException"
 20450  }
 20451  
 20452  // Message returns the exception's message.
 20453  func (s *InvalidRequestException) Message() string {
 20454  	if s.Message_ != nil {
 20455  		return *s.Message_
 20456  	}
 20457  	return ""
 20458  }
 20459  
 20460  // OrigErr always returns nil, satisfies awserr.Error interface.
 20461  func (s *InvalidRequestException) OrigErr() error {
 20462  	return nil
 20463  }
 20464  
 20465  func (s *InvalidRequestException) Error() string {
 20466  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20467  }
 20468  
 20469  // Status code returns the HTTP status code for the request's response error.
 20470  func (s *InvalidRequestException) StatusCode() int {
 20471  	return s.RespMetadata.StatusCode
 20472  }
 20473  
 20474  // RequestID returns the service's response RequestID for request.
 20475  func (s *InvalidRequestException) RequestID() string {
 20476  	return s.RespMetadata.RequestID
 20477  }
 20478  
 20479  // Configuration information of a Kinesis Data Firehose delivery stream.
 20480  type KinesisFirehoseConfig struct {
 20481  	_ struct{} `type:"structure"`
 20482  
 20483  	// The Amazon Resource Name (ARN) of the delivery stream.
 20484  	//
 20485  	// FirehoseArn is a required field
 20486  	FirehoseArn *string `type:"string" required:"true"`
 20487  }
 20488  
 20489  // String returns the string representation.
 20490  //
 20491  // API parameter values that are decorated as "sensitive" in the API will not
 20492  // be included in the string output. The member name will be present, but the
 20493  // value will be replaced with "sensitive".
 20494  func (s KinesisFirehoseConfig) String() string {
 20495  	return awsutil.Prettify(s)
 20496  }
 20497  
 20498  // GoString returns the string representation.
 20499  //
 20500  // API parameter values that are decorated as "sensitive" in the API will not
 20501  // be included in the string output. The member name will be present, but the
 20502  // value will be replaced with "sensitive".
 20503  func (s KinesisFirehoseConfig) GoString() string {
 20504  	return s.String()
 20505  }
 20506  
 20507  // Validate inspects the fields of the type to determine if they are valid.
 20508  func (s *KinesisFirehoseConfig) Validate() error {
 20509  	invalidParams := request.ErrInvalidParams{Context: "KinesisFirehoseConfig"}
 20510  	if s.FirehoseArn == nil {
 20511  		invalidParams.Add(request.NewErrParamRequired("FirehoseArn"))
 20512  	}
 20513  
 20514  	if invalidParams.Len() > 0 {
 20515  		return invalidParams
 20516  	}
 20517  	return nil
 20518  }
 20519  
 20520  // SetFirehoseArn sets the FirehoseArn field's value.
 20521  func (s *KinesisFirehoseConfig) SetFirehoseArn(v string) *KinesisFirehoseConfig {
 20522  	s.FirehoseArn = &v
 20523  	return s
 20524  }
 20525  
 20526  // Configuration information of a Kinesis data stream.
 20527  type KinesisStreamConfig struct {
 20528  	_ struct{} `type:"structure"`
 20529  
 20530  	// The Amazon Resource Name (ARN) of the data stream.
 20531  	//
 20532  	// StreamArn is a required field
 20533  	StreamArn *string `type:"string" required:"true"`
 20534  }
 20535  
 20536  // String returns the string representation.
 20537  //
 20538  // API parameter values that are decorated as "sensitive" in the API will not
 20539  // be included in the string output. The member name will be present, but the
 20540  // value will be replaced with "sensitive".
 20541  func (s KinesisStreamConfig) String() string {
 20542  	return awsutil.Prettify(s)
 20543  }
 20544  
 20545  // GoString returns the string representation.
 20546  //
 20547  // API parameter values that are decorated as "sensitive" in the API will not
 20548  // be included in the string output. The member name will be present, but the
 20549  // value will be replaced with "sensitive".
 20550  func (s KinesisStreamConfig) GoString() string {
 20551  	return s.String()
 20552  }
 20553  
 20554  // Validate inspects the fields of the type to determine if they are valid.
 20555  func (s *KinesisStreamConfig) Validate() error {
 20556  	invalidParams := request.ErrInvalidParams{Context: "KinesisStreamConfig"}
 20557  	if s.StreamArn == nil {
 20558  		invalidParams.Add(request.NewErrParamRequired("StreamArn"))
 20559  	}
 20560  
 20561  	if invalidParams.Len() > 0 {
 20562  		return invalidParams
 20563  	}
 20564  	return nil
 20565  }
 20566  
 20567  // SetStreamArn sets the StreamArn field's value.
 20568  func (s *KinesisStreamConfig) SetStreamArn(v string) *KinesisStreamConfig {
 20569  	s.StreamArn = &v
 20570  	return s
 20571  }
 20572  
 20573  // Configuration information of a Kinesis video stream.
 20574  type KinesisVideoStreamConfig struct {
 20575  	_ struct{} `type:"structure"`
 20576  
 20577  	// The encryption configuration.
 20578  	//
 20579  	// EncryptionConfig is a required field
 20580  	EncryptionConfig *EncryptionConfig `type:"structure" required:"true"`
 20581  
 20582  	// The prefix of the video stream.
 20583  	//
 20584  	// Prefix is a required field
 20585  	Prefix *string `min:"1" type:"string" required:"true"`
 20586  
 20587  	// The number of hours data is retained in the stream. Kinesis Video Streams
 20588  	// retains the data in a data store that is associated with the stream.
 20589  	//
 20590  	// The default value is 0, indicating that the stream does not persist data.
 20591  	//
 20592  	// RetentionPeriodHours is a required field
 20593  	RetentionPeriodHours *int64 `type:"integer" required:"true"`
 20594  }
 20595  
 20596  // String returns the string representation.
 20597  //
 20598  // API parameter values that are decorated as "sensitive" in the API will not
 20599  // be included in the string output. The member name will be present, but the
 20600  // value will be replaced with "sensitive".
 20601  func (s KinesisVideoStreamConfig) String() string {
 20602  	return awsutil.Prettify(s)
 20603  }
 20604  
 20605  // GoString returns the string representation.
 20606  //
 20607  // API parameter values that are decorated as "sensitive" in the API will not
 20608  // be included in the string output. The member name will be present, but the
 20609  // value will be replaced with "sensitive".
 20610  func (s KinesisVideoStreamConfig) GoString() string {
 20611  	return s.String()
 20612  }
 20613  
 20614  // Validate inspects the fields of the type to determine if they are valid.
 20615  func (s *KinesisVideoStreamConfig) Validate() error {
 20616  	invalidParams := request.ErrInvalidParams{Context: "KinesisVideoStreamConfig"}
 20617  	if s.EncryptionConfig == nil {
 20618  		invalidParams.Add(request.NewErrParamRequired("EncryptionConfig"))
 20619  	}
 20620  	if s.Prefix == nil {
 20621  		invalidParams.Add(request.NewErrParamRequired("Prefix"))
 20622  	}
 20623  	if s.Prefix != nil && len(*s.Prefix) < 1 {
 20624  		invalidParams.Add(request.NewErrParamMinLen("Prefix", 1))
 20625  	}
 20626  	if s.RetentionPeriodHours == nil {
 20627  		invalidParams.Add(request.NewErrParamRequired("RetentionPeriodHours"))
 20628  	}
 20629  	if s.EncryptionConfig != nil {
 20630  		if err := s.EncryptionConfig.Validate(); err != nil {
 20631  			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
 20632  		}
 20633  	}
 20634  
 20635  	if invalidParams.Len() > 0 {
 20636  		return invalidParams
 20637  	}
 20638  	return nil
 20639  }
 20640  
 20641  // SetEncryptionConfig sets the EncryptionConfig field's value.
 20642  func (s *KinesisVideoStreamConfig) SetEncryptionConfig(v *EncryptionConfig) *KinesisVideoStreamConfig {
 20643  	s.EncryptionConfig = v
 20644  	return s
 20645  }
 20646  
 20647  // SetPrefix sets the Prefix field's value.
 20648  func (s *KinesisVideoStreamConfig) SetPrefix(v string) *KinesisVideoStreamConfig {
 20649  	s.Prefix = &v
 20650  	return s
 20651  }
 20652  
 20653  // SetRetentionPeriodHours sets the RetentionPeriodHours field's value.
 20654  func (s *KinesisVideoStreamConfig) SetRetentionPeriodHours(v int64) *KinesisVideoStreamConfig {
 20655  	s.RetentionPeriodHours = &v
 20656  	return s
 20657  }
 20658  
 20659  // Configuration information of an Amazon Lex bot.
 20660  type LexBot struct {
 20661  	_ struct{} `type:"structure"`
 20662  
 20663  	// The Region that the Amazon Lex bot was created in.
 20664  	LexRegion *string `type:"string"`
 20665  
 20666  	// The name of the Amazon Lex bot.
 20667  	Name *string `type:"string"`
 20668  }
 20669  
 20670  // String returns the string representation.
 20671  //
 20672  // API parameter values that are decorated as "sensitive" in the API will not
 20673  // be included in the string output. The member name will be present, but the
 20674  // value will be replaced with "sensitive".
 20675  func (s LexBot) String() string {
 20676  	return awsutil.Prettify(s)
 20677  }
 20678  
 20679  // GoString returns the string representation.
 20680  //
 20681  // API parameter values that are decorated as "sensitive" in the API will not
 20682  // be included in the string output. The member name will be present, but the
 20683  // value will be replaced with "sensitive".
 20684  func (s LexBot) GoString() string {
 20685  	return s.String()
 20686  }
 20687  
 20688  // SetLexRegion sets the LexRegion field's value.
 20689  func (s *LexBot) SetLexRegion(v string) *LexBot {
 20690  	s.LexRegion = &v
 20691  	return s
 20692  }
 20693  
 20694  // SetName sets the Name field's value.
 20695  func (s *LexBot) SetName(v string) *LexBot {
 20696  	s.Name = &v
 20697  	return s
 20698  }
 20699  
 20700  // Configuration information of an Amazon Lex or Amazon Lex V2 bot.
 20701  type LexBotConfig struct {
 20702  	_ struct{} `type:"structure"`
 20703  
 20704  	// Configuration information of an Amazon Lex bot.
 20705  	LexBot *LexBot `type:"structure"`
 20706  
 20707  	// Configuration information of an Amazon Lex V2 bot.
 20708  	LexV2Bot *LexV2Bot `type:"structure"`
 20709  }
 20710  
 20711  // String returns the string representation.
 20712  //
 20713  // API parameter values that are decorated as "sensitive" in the API will not
 20714  // be included in the string output. The member name will be present, but the
 20715  // value will be replaced with "sensitive".
 20716  func (s LexBotConfig) String() string {
 20717  	return awsutil.Prettify(s)
 20718  }
 20719  
 20720  // GoString returns the string representation.
 20721  //
 20722  // API parameter values that are decorated as "sensitive" in the API will not
 20723  // be included in the string output. The member name will be present, but the
 20724  // value will be replaced with "sensitive".
 20725  func (s LexBotConfig) GoString() string {
 20726  	return s.String()
 20727  }
 20728  
 20729  // SetLexBot sets the LexBot field's value.
 20730  func (s *LexBotConfig) SetLexBot(v *LexBot) *LexBotConfig {
 20731  	s.LexBot = v
 20732  	return s
 20733  }
 20734  
 20735  // SetLexV2Bot sets the LexV2Bot field's value.
 20736  func (s *LexBotConfig) SetLexV2Bot(v *LexV2Bot) *LexBotConfig {
 20737  	s.LexV2Bot = v
 20738  	return s
 20739  }
 20740  
 20741  // Configuration information of an Amazon Lex V2 bot.
 20742  type LexV2Bot struct {
 20743  	_ struct{} `type:"structure"`
 20744  
 20745  	// The Amazon Resource Name (ARN) of the Amazon Lex V2 bot.
 20746  	AliasArn *string `min:"1" type:"string"`
 20747  }
 20748  
 20749  // String returns the string representation.
 20750  //
 20751  // API parameter values that are decorated as "sensitive" in the API will not
 20752  // be included in the string output. The member name will be present, but the
 20753  // value will be replaced with "sensitive".
 20754  func (s LexV2Bot) String() string {
 20755  	return awsutil.Prettify(s)
 20756  }
 20757  
 20758  // GoString returns the string representation.
 20759  //
 20760  // API parameter values that are decorated as "sensitive" in the API will not
 20761  // be included in the string output. The member name will be present, but the
 20762  // value will be replaced with "sensitive".
 20763  func (s LexV2Bot) GoString() string {
 20764  	return s.String()
 20765  }
 20766  
 20767  // Validate inspects the fields of the type to determine if they are valid.
 20768  func (s *LexV2Bot) Validate() error {
 20769  	invalidParams := request.ErrInvalidParams{Context: "LexV2Bot"}
 20770  	if s.AliasArn != nil && len(*s.AliasArn) < 1 {
 20771  		invalidParams.Add(request.NewErrParamMinLen("AliasArn", 1))
 20772  	}
 20773  
 20774  	if invalidParams.Len() > 0 {
 20775  		return invalidParams
 20776  	}
 20777  	return nil
 20778  }
 20779  
 20780  // SetAliasArn sets the AliasArn field's value.
 20781  func (s *LexV2Bot) SetAliasArn(v string) *LexV2Bot {
 20782  	s.AliasArn = &v
 20783  	return s
 20784  }
 20785  
 20786  // The allowed limit for the resource has been exceeded.
 20787  type LimitExceededException struct {
 20788  	_            struct{}                  `type:"structure"`
 20789  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20790  
 20791  	// The message about the limit.
 20792  	Message_ *string `locationName:"Message" type:"string"`
 20793  }
 20794  
 20795  // String returns the string representation.
 20796  //
 20797  // API parameter values that are decorated as "sensitive" in the API will not
 20798  // be included in the string output. The member name will be present, but the
 20799  // value will be replaced with "sensitive".
 20800  func (s LimitExceededException) String() string {
 20801  	return awsutil.Prettify(s)
 20802  }
 20803  
 20804  // GoString returns the string representation.
 20805  //
 20806  // API parameter values that are decorated as "sensitive" in the API will not
 20807  // be included in the string output. The member name will be present, but the
 20808  // value will be replaced with "sensitive".
 20809  func (s LimitExceededException) GoString() string {
 20810  	return s.String()
 20811  }
 20812  
 20813  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 20814  	return &LimitExceededException{
 20815  		RespMetadata: v,
 20816  	}
 20817  }
 20818  
 20819  // Code returns the exception type name.
 20820  func (s *LimitExceededException) Code() string {
 20821  	return "LimitExceededException"
 20822  }
 20823  
 20824  // Message returns the exception's message.
 20825  func (s *LimitExceededException) Message() string {
 20826  	if s.Message_ != nil {
 20827  		return *s.Message_
 20828  	}
 20829  	return ""
 20830  }
 20831  
 20832  // OrigErr always returns nil, satisfies awserr.Error interface.
 20833  func (s *LimitExceededException) OrigErr() error {
 20834  	return nil
 20835  }
 20836  
 20837  func (s *LimitExceededException) Error() string {
 20838  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20839  }
 20840  
 20841  // Status code returns the HTTP status code for the request's response error.
 20842  func (s *LimitExceededException) StatusCode() int {
 20843  	return s.RespMetadata.StatusCode
 20844  }
 20845  
 20846  // RequestID returns the service's response RequestID for request.
 20847  func (s *LimitExceededException) RequestID() string {
 20848  	return s.RespMetadata.RequestID
 20849  }
 20850  
 20851  type ListAgentStatusesInput struct {
 20852  	_ struct{} `type:"structure" nopayload:"true"`
 20853  
 20854  	// Available agent status types.
 20855  	AgentStatusTypes []*string `location:"querystring" locationName:"AgentStatusTypes" type:"list"`
 20856  
 20857  	// The identifier of the Amazon Connect instance. You can find the instanceId
 20858  	// in the ARN of the instance.
 20859  	//
 20860  	// InstanceId is a required field
 20861  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 20862  
 20863  	// The maximum number of results to return per page.
 20864  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 20865  
 20866  	// The token for the next set of results. Use the value returned in the previous
 20867  	// response in the next request to retrieve the next set of results.
 20868  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 20869  }
 20870  
 20871  // String returns the string representation.
 20872  //
 20873  // API parameter values that are decorated as "sensitive" in the API will not
 20874  // be included in the string output. The member name will be present, but the
 20875  // value will be replaced with "sensitive".
 20876  func (s ListAgentStatusesInput) String() string {
 20877  	return awsutil.Prettify(s)
 20878  }
 20879  
 20880  // GoString returns the string representation.
 20881  //
 20882  // API parameter values that are decorated as "sensitive" in the API will not
 20883  // be included in the string output. The member name will be present, but the
 20884  // value will be replaced with "sensitive".
 20885  func (s ListAgentStatusesInput) GoString() string {
 20886  	return s.String()
 20887  }
 20888  
 20889  // Validate inspects the fields of the type to determine if they are valid.
 20890  func (s *ListAgentStatusesInput) Validate() error {
 20891  	invalidParams := request.ErrInvalidParams{Context: "ListAgentStatusesInput"}
 20892  	if s.InstanceId == nil {
 20893  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 20894  	}
 20895  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 20896  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 20897  	}
 20898  	if s.MaxResults != nil && *s.MaxResults < 1 {
 20899  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 20900  	}
 20901  
 20902  	if invalidParams.Len() > 0 {
 20903  		return invalidParams
 20904  	}
 20905  	return nil
 20906  }
 20907  
 20908  // SetAgentStatusTypes sets the AgentStatusTypes field's value.
 20909  func (s *ListAgentStatusesInput) SetAgentStatusTypes(v []*string) *ListAgentStatusesInput {
 20910  	s.AgentStatusTypes = v
 20911  	return s
 20912  }
 20913  
 20914  // SetInstanceId sets the InstanceId field's value.
 20915  func (s *ListAgentStatusesInput) SetInstanceId(v string) *ListAgentStatusesInput {
 20916  	s.InstanceId = &v
 20917  	return s
 20918  }
 20919  
 20920  // SetMaxResults sets the MaxResults field's value.
 20921  func (s *ListAgentStatusesInput) SetMaxResults(v int64) *ListAgentStatusesInput {
 20922  	s.MaxResults = &v
 20923  	return s
 20924  }
 20925  
 20926  // SetNextToken sets the NextToken field's value.
 20927  func (s *ListAgentStatusesInput) SetNextToken(v string) *ListAgentStatusesInput {
 20928  	s.NextToken = &v
 20929  	return s
 20930  }
 20931  
 20932  type ListAgentStatusesOutput struct {
 20933  	_ struct{} `type:"structure"`
 20934  
 20935  	// A summary of agent statuses.
 20936  	AgentStatusSummaryList []*AgentStatusSummary `type:"list"`
 20937  
 20938  	// If there are additional results, this is the token for the next set of results.
 20939  	NextToken *string `type:"string"`
 20940  }
 20941  
 20942  // String returns the string representation.
 20943  //
 20944  // API parameter values that are decorated as "sensitive" in the API will not
 20945  // be included in the string output. The member name will be present, but the
 20946  // value will be replaced with "sensitive".
 20947  func (s ListAgentStatusesOutput) String() string {
 20948  	return awsutil.Prettify(s)
 20949  }
 20950  
 20951  // GoString returns the string representation.
 20952  //
 20953  // API parameter values that are decorated as "sensitive" in the API will not
 20954  // be included in the string output. The member name will be present, but the
 20955  // value will be replaced with "sensitive".
 20956  func (s ListAgentStatusesOutput) GoString() string {
 20957  	return s.String()
 20958  }
 20959  
 20960  // SetAgentStatusSummaryList sets the AgentStatusSummaryList field's value.
 20961  func (s *ListAgentStatusesOutput) SetAgentStatusSummaryList(v []*AgentStatusSummary) *ListAgentStatusesOutput {
 20962  	s.AgentStatusSummaryList = v
 20963  	return s
 20964  }
 20965  
 20966  // SetNextToken sets the NextToken field's value.
 20967  func (s *ListAgentStatusesOutput) SetNextToken(v string) *ListAgentStatusesOutput {
 20968  	s.NextToken = &v
 20969  	return s
 20970  }
 20971  
 20972  type ListApprovedOriginsInput struct {
 20973  	_ struct{} `type:"structure" nopayload:"true"`
 20974  
 20975  	// The identifier of the Amazon Connect instance. You can find the instanceId
 20976  	// in the ARN of the instance.
 20977  	//
 20978  	// InstanceId is a required field
 20979  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 20980  
 20981  	// The maximum number of results to return per page.
 20982  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 20983  
 20984  	// The token for the next set of results. Use the value returned in the previous
 20985  	// response in the next request to retrieve the next set of results.
 20986  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 20987  }
 20988  
 20989  // String returns the string representation.
 20990  //
 20991  // API parameter values that are decorated as "sensitive" in the API will not
 20992  // be included in the string output. The member name will be present, but the
 20993  // value will be replaced with "sensitive".
 20994  func (s ListApprovedOriginsInput) String() string {
 20995  	return awsutil.Prettify(s)
 20996  }
 20997  
 20998  // GoString returns the string representation.
 20999  //
 21000  // API parameter values that are decorated as "sensitive" in the API will not
 21001  // be included in the string output. The member name will be present, but the
 21002  // value will be replaced with "sensitive".
 21003  func (s ListApprovedOriginsInput) GoString() string {
 21004  	return s.String()
 21005  }
 21006  
 21007  // Validate inspects the fields of the type to determine if they are valid.
 21008  func (s *ListApprovedOriginsInput) Validate() error {
 21009  	invalidParams := request.ErrInvalidParams{Context: "ListApprovedOriginsInput"}
 21010  	if s.InstanceId == nil {
 21011  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21012  	}
 21013  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21014  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21015  	}
 21016  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21017  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21018  	}
 21019  
 21020  	if invalidParams.Len() > 0 {
 21021  		return invalidParams
 21022  	}
 21023  	return nil
 21024  }
 21025  
 21026  // SetInstanceId sets the InstanceId field's value.
 21027  func (s *ListApprovedOriginsInput) SetInstanceId(v string) *ListApprovedOriginsInput {
 21028  	s.InstanceId = &v
 21029  	return s
 21030  }
 21031  
 21032  // SetMaxResults sets the MaxResults field's value.
 21033  func (s *ListApprovedOriginsInput) SetMaxResults(v int64) *ListApprovedOriginsInput {
 21034  	s.MaxResults = &v
 21035  	return s
 21036  }
 21037  
 21038  // SetNextToken sets the NextToken field's value.
 21039  func (s *ListApprovedOriginsInput) SetNextToken(v string) *ListApprovedOriginsInput {
 21040  	s.NextToken = &v
 21041  	return s
 21042  }
 21043  
 21044  type ListApprovedOriginsOutput struct {
 21045  	_ struct{} `type:"structure"`
 21046  
 21047  	// If there are additional results, this is the token for the next set of results.
 21048  	NextToken *string `type:"string"`
 21049  
 21050  	// The approved origins.
 21051  	Origins []*string `type:"list"`
 21052  }
 21053  
 21054  // String returns the string representation.
 21055  //
 21056  // API parameter values that are decorated as "sensitive" in the API will not
 21057  // be included in the string output. The member name will be present, but the
 21058  // value will be replaced with "sensitive".
 21059  func (s ListApprovedOriginsOutput) String() string {
 21060  	return awsutil.Prettify(s)
 21061  }
 21062  
 21063  // GoString returns the string representation.
 21064  //
 21065  // API parameter values that are decorated as "sensitive" in the API will not
 21066  // be included in the string output. The member name will be present, but the
 21067  // value will be replaced with "sensitive".
 21068  func (s ListApprovedOriginsOutput) GoString() string {
 21069  	return s.String()
 21070  }
 21071  
 21072  // SetNextToken sets the NextToken field's value.
 21073  func (s *ListApprovedOriginsOutput) SetNextToken(v string) *ListApprovedOriginsOutput {
 21074  	s.NextToken = &v
 21075  	return s
 21076  }
 21077  
 21078  // SetOrigins sets the Origins field's value.
 21079  func (s *ListApprovedOriginsOutput) SetOrigins(v []*string) *ListApprovedOriginsOutput {
 21080  	s.Origins = v
 21081  	return s
 21082  }
 21083  
 21084  type ListBotsInput struct {
 21085  	_ struct{} `type:"structure" nopayload:"true"`
 21086  
 21087  	// The identifier of the Amazon Connect instance. You can find the instanceId
 21088  	// in the ARN of the instance.
 21089  	//
 21090  	// InstanceId is a required field
 21091  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 21092  
 21093  	// The version of Amazon Lex or Amazon Lex V2.
 21094  	//
 21095  	// LexVersion is a required field
 21096  	LexVersion *string `location:"querystring" locationName:"lexVersion" type:"string" required:"true" enum:"LexVersion"`
 21097  
 21098  	// The maximum number of results to return per page.
 21099  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21100  
 21101  	// The token for the next set of results. Use the value returned in the previous
 21102  	// response in the next request to retrieve the next set of results.
 21103  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21104  }
 21105  
 21106  // String returns the string representation.
 21107  //
 21108  // API parameter values that are decorated as "sensitive" in the API will not
 21109  // be included in the string output. The member name will be present, but the
 21110  // value will be replaced with "sensitive".
 21111  func (s ListBotsInput) String() string {
 21112  	return awsutil.Prettify(s)
 21113  }
 21114  
 21115  // GoString returns the string representation.
 21116  //
 21117  // API parameter values that are decorated as "sensitive" in the API will not
 21118  // be included in the string output. The member name will be present, but the
 21119  // value will be replaced with "sensitive".
 21120  func (s ListBotsInput) GoString() string {
 21121  	return s.String()
 21122  }
 21123  
 21124  // Validate inspects the fields of the type to determine if they are valid.
 21125  func (s *ListBotsInput) Validate() error {
 21126  	invalidParams := request.ErrInvalidParams{Context: "ListBotsInput"}
 21127  	if s.InstanceId == nil {
 21128  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21129  	}
 21130  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21131  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21132  	}
 21133  	if s.LexVersion == nil {
 21134  		invalidParams.Add(request.NewErrParamRequired("LexVersion"))
 21135  	}
 21136  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21137  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21138  	}
 21139  
 21140  	if invalidParams.Len() > 0 {
 21141  		return invalidParams
 21142  	}
 21143  	return nil
 21144  }
 21145  
 21146  // SetInstanceId sets the InstanceId field's value.
 21147  func (s *ListBotsInput) SetInstanceId(v string) *ListBotsInput {
 21148  	s.InstanceId = &v
 21149  	return s
 21150  }
 21151  
 21152  // SetLexVersion sets the LexVersion field's value.
 21153  func (s *ListBotsInput) SetLexVersion(v string) *ListBotsInput {
 21154  	s.LexVersion = &v
 21155  	return s
 21156  }
 21157  
 21158  // SetMaxResults sets the MaxResults field's value.
 21159  func (s *ListBotsInput) SetMaxResults(v int64) *ListBotsInput {
 21160  	s.MaxResults = &v
 21161  	return s
 21162  }
 21163  
 21164  // SetNextToken sets the NextToken field's value.
 21165  func (s *ListBotsInput) SetNextToken(v string) *ListBotsInput {
 21166  	s.NextToken = &v
 21167  	return s
 21168  }
 21169  
 21170  type ListBotsOutput struct {
 21171  	_ struct{} `type:"structure"`
 21172  
 21173  	// The names and Regions of the Amazon Lex or Amazon Lex V2 bots associated
 21174  	// with the specified instance.
 21175  	LexBots []*LexBotConfig `type:"list"`
 21176  
 21177  	// If there are additional results, this is the token for the next set of results.
 21178  	NextToken *string `type:"string"`
 21179  }
 21180  
 21181  // String returns the string representation.
 21182  //
 21183  // API parameter values that are decorated as "sensitive" in the API will not
 21184  // be included in the string output. The member name will be present, but the
 21185  // value will be replaced with "sensitive".
 21186  func (s ListBotsOutput) String() string {
 21187  	return awsutil.Prettify(s)
 21188  }
 21189  
 21190  // GoString returns the string representation.
 21191  //
 21192  // API parameter values that are decorated as "sensitive" in the API will not
 21193  // be included in the string output. The member name will be present, but the
 21194  // value will be replaced with "sensitive".
 21195  func (s ListBotsOutput) GoString() string {
 21196  	return s.String()
 21197  }
 21198  
 21199  // SetLexBots sets the LexBots field's value.
 21200  func (s *ListBotsOutput) SetLexBots(v []*LexBotConfig) *ListBotsOutput {
 21201  	s.LexBots = v
 21202  	return s
 21203  }
 21204  
 21205  // SetNextToken sets the NextToken field's value.
 21206  func (s *ListBotsOutput) SetNextToken(v string) *ListBotsOutput {
 21207  	s.NextToken = &v
 21208  	return s
 21209  }
 21210  
 21211  type ListContactFlowsInput struct {
 21212  	_ struct{} `type:"structure" nopayload:"true"`
 21213  
 21214  	// The type of contact flow.
 21215  	ContactFlowTypes []*string `location:"querystring" locationName:"contactFlowTypes" type:"list"`
 21216  
 21217  	// The identifier of the Amazon Connect instance. You can find the instanceId
 21218  	// in the ARN of the instance.
 21219  	//
 21220  	// InstanceId is a required field
 21221  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 21222  
 21223  	// The maximum number of results to return per page.
 21224  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21225  
 21226  	// The token for the next set of results. Use the value returned in the previous
 21227  	// response in the next request to retrieve the next set of results.
 21228  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21229  }
 21230  
 21231  // String returns the string representation.
 21232  //
 21233  // API parameter values that are decorated as "sensitive" in the API will not
 21234  // be included in the string output. The member name will be present, but the
 21235  // value will be replaced with "sensitive".
 21236  func (s ListContactFlowsInput) String() string {
 21237  	return awsutil.Prettify(s)
 21238  }
 21239  
 21240  // GoString returns the string representation.
 21241  //
 21242  // API parameter values that are decorated as "sensitive" in the API will not
 21243  // be included in the string output. The member name will be present, but the
 21244  // value will be replaced with "sensitive".
 21245  func (s ListContactFlowsInput) GoString() string {
 21246  	return s.String()
 21247  }
 21248  
 21249  // Validate inspects the fields of the type to determine if they are valid.
 21250  func (s *ListContactFlowsInput) Validate() error {
 21251  	invalidParams := request.ErrInvalidParams{Context: "ListContactFlowsInput"}
 21252  	if s.InstanceId == nil {
 21253  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21254  	}
 21255  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21256  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21257  	}
 21258  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21259  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21260  	}
 21261  
 21262  	if invalidParams.Len() > 0 {
 21263  		return invalidParams
 21264  	}
 21265  	return nil
 21266  }
 21267  
 21268  // SetContactFlowTypes sets the ContactFlowTypes field's value.
 21269  func (s *ListContactFlowsInput) SetContactFlowTypes(v []*string) *ListContactFlowsInput {
 21270  	s.ContactFlowTypes = v
 21271  	return s
 21272  }
 21273  
 21274  // SetInstanceId sets the InstanceId field's value.
 21275  func (s *ListContactFlowsInput) SetInstanceId(v string) *ListContactFlowsInput {
 21276  	s.InstanceId = &v
 21277  	return s
 21278  }
 21279  
 21280  // SetMaxResults sets the MaxResults field's value.
 21281  func (s *ListContactFlowsInput) SetMaxResults(v int64) *ListContactFlowsInput {
 21282  	s.MaxResults = &v
 21283  	return s
 21284  }
 21285  
 21286  // SetNextToken sets the NextToken field's value.
 21287  func (s *ListContactFlowsInput) SetNextToken(v string) *ListContactFlowsInput {
 21288  	s.NextToken = &v
 21289  	return s
 21290  }
 21291  
 21292  type ListContactFlowsOutput struct {
 21293  	_ struct{} `type:"structure"`
 21294  
 21295  	// Information about the contact flows.
 21296  	ContactFlowSummaryList []*ContactFlowSummary `type:"list"`
 21297  
 21298  	// If there are additional results, this is the token for the next set of results.
 21299  	NextToken *string `type:"string"`
 21300  }
 21301  
 21302  // String returns the string representation.
 21303  //
 21304  // API parameter values that are decorated as "sensitive" in the API will not
 21305  // be included in the string output. The member name will be present, but the
 21306  // value will be replaced with "sensitive".
 21307  func (s ListContactFlowsOutput) String() string {
 21308  	return awsutil.Prettify(s)
 21309  }
 21310  
 21311  // GoString returns the string representation.
 21312  //
 21313  // API parameter values that are decorated as "sensitive" in the API will not
 21314  // be included in the string output. The member name will be present, but the
 21315  // value will be replaced with "sensitive".
 21316  func (s ListContactFlowsOutput) GoString() string {
 21317  	return s.String()
 21318  }
 21319  
 21320  // SetContactFlowSummaryList sets the ContactFlowSummaryList field's value.
 21321  func (s *ListContactFlowsOutput) SetContactFlowSummaryList(v []*ContactFlowSummary) *ListContactFlowsOutput {
 21322  	s.ContactFlowSummaryList = v
 21323  	return s
 21324  }
 21325  
 21326  // SetNextToken sets the NextToken field's value.
 21327  func (s *ListContactFlowsOutput) SetNextToken(v string) *ListContactFlowsOutput {
 21328  	s.NextToken = &v
 21329  	return s
 21330  }
 21331  
 21332  type ListHoursOfOperationsInput struct {
 21333  	_ struct{} `type:"structure" nopayload:"true"`
 21334  
 21335  	// The identifier of the Amazon Connect instance. You can find the instanceId
 21336  	// in the ARN of the instance.
 21337  	//
 21338  	// InstanceId is a required field
 21339  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 21340  
 21341  	// The maximum number of results to return per page.
 21342  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21343  
 21344  	// The token for the next set of results. Use the value returned in the previous
 21345  	// response in the next request to retrieve the next set of results.
 21346  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21347  }
 21348  
 21349  // String returns the string representation.
 21350  //
 21351  // API parameter values that are decorated as "sensitive" in the API will not
 21352  // be included in the string output. The member name will be present, but the
 21353  // value will be replaced with "sensitive".
 21354  func (s ListHoursOfOperationsInput) String() string {
 21355  	return awsutil.Prettify(s)
 21356  }
 21357  
 21358  // GoString returns the string representation.
 21359  //
 21360  // API parameter values that are decorated as "sensitive" in the API will not
 21361  // be included in the string output. The member name will be present, but the
 21362  // value will be replaced with "sensitive".
 21363  func (s ListHoursOfOperationsInput) GoString() string {
 21364  	return s.String()
 21365  }
 21366  
 21367  // Validate inspects the fields of the type to determine if they are valid.
 21368  func (s *ListHoursOfOperationsInput) Validate() error {
 21369  	invalidParams := request.ErrInvalidParams{Context: "ListHoursOfOperationsInput"}
 21370  	if s.InstanceId == nil {
 21371  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21372  	}
 21373  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21374  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21375  	}
 21376  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21377  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21378  	}
 21379  
 21380  	if invalidParams.Len() > 0 {
 21381  		return invalidParams
 21382  	}
 21383  	return nil
 21384  }
 21385  
 21386  // SetInstanceId sets the InstanceId field's value.
 21387  func (s *ListHoursOfOperationsInput) SetInstanceId(v string) *ListHoursOfOperationsInput {
 21388  	s.InstanceId = &v
 21389  	return s
 21390  }
 21391  
 21392  // SetMaxResults sets the MaxResults field's value.
 21393  func (s *ListHoursOfOperationsInput) SetMaxResults(v int64) *ListHoursOfOperationsInput {
 21394  	s.MaxResults = &v
 21395  	return s
 21396  }
 21397  
 21398  // SetNextToken sets the NextToken field's value.
 21399  func (s *ListHoursOfOperationsInput) SetNextToken(v string) *ListHoursOfOperationsInput {
 21400  	s.NextToken = &v
 21401  	return s
 21402  }
 21403  
 21404  type ListHoursOfOperationsOutput struct {
 21405  	_ struct{} `type:"structure"`
 21406  
 21407  	// Information about the hours of operation.
 21408  	HoursOfOperationSummaryList []*HoursOfOperationSummary `type:"list"`
 21409  
 21410  	// If there are additional results, this is the token for the next set of results.
 21411  	NextToken *string `type:"string"`
 21412  }
 21413  
 21414  // String returns the string representation.
 21415  //
 21416  // API parameter values that are decorated as "sensitive" in the API will not
 21417  // be included in the string output. The member name will be present, but the
 21418  // value will be replaced with "sensitive".
 21419  func (s ListHoursOfOperationsOutput) String() string {
 21420  	return awsutil.Prettify(s)
 21421  }
 21422  
 21423  // GoString returns the string representation.
 21424  //
 21425  // API parameter values that are decorated as "sensitive" in the API will not
 21426  // be included in the string output. The member name will be present, but the
 21427  // value will be replaced with "sensitive".
 21428  func (s ListHoursOfOperationsOutput) GoString() string {
 21429  	return s.String()
 21430  }
 21431  
 21432  // SetHoursOfOperationSummaryList sets the HoursOfOperationSummaryList field's value.
 21433  func (s *ListHoursOfOperationsOutput) SetHoursOfOperationSummaryList(v []*HoursOfOperationSummary) *ListHoursOfOperationsOutput {
 21434  	s.HoursOfOperationSummaryList = v
 21435  	return s
 21436  }
 21437  
 21438  // SetNextToken sets the NextToken field's value.
 21439  func (s *ListHoursOfOperationsOutput) SetNextToken(v string) *ListHoursOfOperationsOutput {
 21440  	s.NextToken = &v
 21441  	return s
 21442  }
 21443  
 21444  type ListInstanceAttributesInput struct {
 21445  	_ struct{} `type:"structure" nopayload:"true"`
 21446  
 21447  	// The identifier of the Amazon Connect instance. You can find the instanceId
 21448  	// in the ARN of the instance.
 21449  	//
 21450  	// InstanceId is a required field
 21451  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 21452  
 21453  	// The maximum number of results to return per page.
 21454  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21455  
 21456  	// The token for the next set of results. Use the value returned in the previous
 21457  	// response in the next request to retrieve the next set of results.
 21458  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21459  }
 21460  
 21461  // String returns the string representation.
 21462  //
 21463  // API parameter values that are decorated as "sensitive" in the API will not
 21464  // be included in the string output. The member name will be present, but the
 21465  // value will be replaced with "sensitive".
 21466  func (s ListInstanceAttributesInput) String() string {
 21467  	return awsutil.Prettify(s)
 21468  }
 21469  
 21470  // GoString returns the string representation.
 21471  //
 21472  // API parameter values that are decorated as "sensitive" in the API will not
 21473  // be included in the string output. The member name will be present, but the
 21474  // value will be replaced with "sensitive".
 21475  func (s ListInstanceAttributesInput) GoString() string {
 21476  	return s.String()
 21477  }
 21478  
 21479  // Validate inspects the fields of the type to determine if they are valid.
 21480  func (s *ListInstanceAttributesInput) Validate() error {
 21481  	invalidParams := request.ErrInvalidParams{Context: "ListInstanceAttributesInput"}
 21482  	if s.InstanceId == nil {
 21483  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21484  	}
 21485  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21486  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21487  	}
 21488  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21489  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21490  	}
 21491  
 21492  	if invalidParams.Len() > 0 {
 21493  		return invalidParams
 21494  	}
 21495  	return nil
 21496  }
 21497  
 21498  // SetInstanceId sets the InstanceId field's value.
 21499  func (s *ListInstanceAttributesInput) SetInstanceId(v string) *ListInstanceAttributesInput {
 21500  	s.InstanceId = &v
 21501  	return s
 21502  }
 21503  
 21504  // SetMaxResults sets the MaxResults field's value.
 21505  func (s *ListInstanceAttributesInput) SetMaxResults(v int64) *ListInstanceAttributesInput {
 21506  	s.MaxResults = &v
 21507  	return s
 21508  }
 21509  
 21510  // SetNextToken sets the NextToken field's value.
 21511  func (s *ListInstanceAttributesInput) SetNextToken(v string) *ListInstanceAttributesInput {
 21512  	s.NextToken = &v
 21513  	return s
 21514  }
 21515  
 21516  type ListInstanceAttributesOutput struct {
 21517  	_ struct{} `type:"structure"`
 21518  
 21519  	// The attribute types.
 21520  	Attributes []*Attribute `type:"list"`
 21521  
 21522  	// If there are additional results, this is the token for the next set of results.
 21523  	NextToken *string `type:"string"`
 21524  }
 21525  
 21526  // String returns the string representation.
 21527  //
 21528  // API parameter values that are decorated as "sensitive" in the API will not
 21529  // be included in the string output. The member name will be present, but the
 21530  // value will be replaced with "sensitive".
 21531  func (s ListInstanceAttributesOutput) String() string {
 21532  	return awsutil.Prettify(s)
 21533  }
 21534  
 21535  // GoString returns the string representation.
 21536  //
 21537  // API parameter values that are decorated as "sensitive" in the API will not
 21538  // be included in the string output. The member name will be present, but the
 21539  // value will be replaced with "sensitive".
 21540  func (s ListInstanceAttributesOutput) GoString() string {
 21541  	return s.String()
 21542  }
 21543  
 21544  // SetAttributes sets the Attributes field's value.
 21545  func (s *ListInstanceAttributesOutput) SetAttributes(v []*Attribute) *ListInstanceAttributesOutput {
 21546  	s.Attributes = v
 21547  	return s
 21548  }
 21549  
 21550  // SetNextToken sets the NextToken field's value.
 21551  func (s *ListInstanceAttributesOutput) SetNextToken(v string) *ListInstanceAttributesOutput {
 21552  	s.NextToken = &v
 21553  	return s
 21554  }
 21555  
 21556  type ListInstanceStorageConfigsInput struct {
 21557  	_ struct{} `type:"structure" nopayload:"true"`
 21558  
 21559  	// The identifier of the Amazon Connect instance. You can find the instanceId
 21560  	// in the ARN of the instance.
 21561  	//
 21562  	// InstanceId is a required field
 21563  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 21564  
 21565  	// The maximum number of results to return per page.
 21566  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21567  
 21568  	// The token for the next set of results. Use the value returned in the previous
 21569  	// response in the next request to retrieve the next set of results.
 21570  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21571  
 21572  	// A valid resource type.
 21573  	//
 21574  	// ResourceType is a required field
 21575  	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
 21576  }
 21577  
 21578  // String returns the string representation.
 21579  //
 21580  // API parameter values that are decorated as "sensitive" in the API will not
 21581  // be included in the string output. The member name will be present, but the
 21582  // value will be replaced with "sensitive".
 21583  func (s ListInstanceStorageConfigsInput) String() string {
 21584  	return awsutil.Prettify(s)
 21585  }
 21586  
 21587  // GoString returns the string representation.
 21588  //
 21589  // API parameter values that are decorated as "sensitive" in the API will not
 21590  // be included in the string output. The member name will be present, but the
 21591  // value will be replaced with "sensitive".
 21592  func (s ListInstanceStorageConfigsInput) GoString() string {
 21593  	return s.String()
 21594  }
 21595  
 21596  // Validate inspects the fields of the type to determine if they are valid.
 21597  func (s *ListInstanceStorageConfigsInput) Validate() error {
 21598  	invalidParams := request.ErrInvalidParams{Context: "ListInstanceStorageConfigsInput"}
 21599  	if s.InstanceId == nil {
 21600  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21601  	}
 21602  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21603  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21604  	}
 21605  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21606  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21607  	}
 21608  	if s.ResourceType == nil {
 21609  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 21610  	}
 21611  
 21612  	if invalidParams.Len() > 0 {
 21613  		return invalidParams
 21614  	}
 21615  	return nil
 21616  }
 21617  
 21618  // SetInstanceId sets the InstanceId field's value.
 21619  func (s *ListInstanceStorageConfigsInput) SetInstanceId(v string) *ListInstanceStorageConfigsInput {
 21620  	s.InstanceId = &v
 21621  	return s
 21622  }
 21623  
 21624  // SetMaxResults sets the MaxResults field's value.
 21625  func (s *ListInstanceStorageConfigsInput) SetMaxResults(v int64) *ListInstanceStorageConfigsInput {
 21626  	s.MaxResults = &v
 21627  	return s
 21628  }
 21629  
 21630  // SetNextToken sets the NextToken field's value.
 21631  func (s *ListInstanceStorageConfigsInput) SetNextToken(v string) *ListInstanceStorageConfigsInput {
 21632  	s.NextToken = &v
 21633  	return s
 21634  }
 21635  
 21636  // SetResourceType sets the ResourceType field's value.
 21637  func (s *ListInstanceStorageConfigsInput) SetResourceType(v string) *ListInstanceStorageConfigsInput {
 21638  	s.ResourceType = &v
 21639  	return s
 21640  }
 21641  
 21642  type ListInstanceStorageConfigsOutput struct {
 21643  	_ struct{} `type:"structure"`
 21644  
 21645  	// If there are additional results, this is the token for the next set of results.
 21646  	NextToken *string `type:"string"`
 21647  
 21648  	// A valid storage type.
 21649  	StorageConfigs []*InstanceStorageConfig `type:"list"`
 21650  }
 21651  
 21652  // String returns the string representation.
 21653  //
 21654  // API parameter values that are decorated as "sensitive" in the API will not
 21655  // be included in the string output. The member name will be present, but the
 21656  // value will be replaced with "sensitive".
 21657  func (s ListInstanceStorageConfigsOutput) String() string {
 21658  	return awsutil.Prettify(s)
 21659  }
 21660  
 21661  // GoString returns the string representation.
 21662  //
 21663  // API parameter values that are decorated as "sensitive" in the API will not
 21664  // be included in the string output. The member name will be present, but the
 21665  // value will be replaced with "sensitive".
 21666  func (s ListInstanceStorageConfigsOutput) GoString() string {
 21667  	return s.String()
 21668  }
 21669  
 21670  // SetNextToken sets the NextToken field's value.
 21671  func (s *ListInstanceStorageConfigsOutput) SetNextToken(v string) *ListInstanceStorageConfigsOutput {
 21672  	s.NextToken = &v
 21673  	return s
 21674  }
 21675  
 21676  // SetStorageConfigs sets the StorageConfigs field's value.
 21677  func (s *ListInstanceStorageConfigsOutput) SetStorageConfigs(v []*InstanceStorageConfig) *ListInstanceStorageConfigsOutput {
 21678  	s.StorageConfigs = v
 21679  	return s
 21680  }
 21681  
 21682  type ListInstancesInput struct {
 21683  	_ struct{} `type:"structure" nopayload:"true"`
 21684  
 21685  	// The maximum number of results to return per page.
 21686  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21687  
 21688  	// The token for the next set of results. Use the value returned in the previous
 21689  	// response in the next request to retrieve the next set of results.
 21690  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21691  }
 21692  
 21693  // String returns the string representation.
 21694  //
 21695  // API parameter values that are decorated as "sensitive" in the API will not
 21696  // be included in the string output. The member name will be present, but the
 21697  // value will be replaced with "sensitive".
 21698  func (s ListInstancesInput) String() string {
 21699  	return awsutil.Prettify(s)
 21700  }
 21701  
 21702  // GoString returns the string representation.
 21703  //
 21704  // API parameter values that are decorated as "sensitive" in the API will not
 21705  // be included in the string output. The member name will be present, but the
 21706  // value will be replaced with "sensitive".
 21707  func (s ListInstancesInput) GoString() string {
 21708  	return s.String()
 21709  }
 21710  
 21711  // Validate inspects the fields of the type to determine if they are valid.
 21712  func (s *ListInstancesInput) Validate() error {
 21713  	invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"}
 21714  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21715  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21716  	}
 21717  
 21718  	if invalidParams.Len() > 0 {
 21719  		return invalidParams
 21720  	}
 21721  	return nil
 21722  }
 21723  
 21724  // SetMaxResults sets the MaxResults field's value.
 21725  func (s *ListInstancesInput) SetMaxResults(v int64) *ListInstancesInput {
 21726  	s.MaxResults = &v
 21727  	return s
 21728  }
 21729  
 21730  // SetNextToken sets the NextToken field's value.
 21731  func (s *ListInstancesInput) SetNextToken(v string) *ListInstancesInput {
 21732  	s.NextToken = &v
 21733  	return s
 21734  }
 21735  
 21736  type ListInstancesOutput struct {
 21737  	_ struct{} `type:"structure"`
 21738  
 21739  	// Information about the instances.
 21740  	InstanceSummaryList []*InstanceSummary `type:"list"`
 21741  
 21742  	// If there are additional results, this is the token for the next set of results.
 21743  	NextToken *string `type:"string"`
 21744  }
 21745  
 21746  // String returns the string representation.
 21747  //
 21748  // API parameter values that are decorated as "sensitive" in the API will not
 21749  // be included in the string output. The member name will be present, but the
 21750  // value will be replaced with "sensitive".
 21751  func (s ListInstancesOutput) String() string {
 21752  	return awsutil.Prettify(s)
 21753  }
 21754  
 21755  // GoString returns the string representation.
 21756  //
 21757  // API parameter values that are decorated as "sensitive" in the API will not
 21758  // be included in the string output. The member name will be present, but the
 21759  // value will be replaced with "sensitive".
 21760  func (s ListInstancesOutput) GoString() string {
 21761  	return s.String()
 21762  }
 21763  
 21764  // SetInstanceSummaryList sets the InstanceSummaryList field's value.
 21765  func (s *ListInstancesOutput) SetInstanceSummaryList(v []*InstanceSummary) *ListInstancesOutput {
 21766  	s.InstanceSummaryList = v
 21767  	return s
 21768  }
 21769  
 21770  // SetNextToken sets the NextToken field's value.
 21771  func (s *ListInstancesOutput) SetNextToken(v string) *ListInstancesOutput {
 21772  	s.NextToken = &v
 21773  	return s
 21774  }
 21775  
 21776  type ListIntegrationAssociationsInput struct {
 21777  	_ struct{} `type:"structure" nopayload:"true"`
 21778  
 21779  	// The identifier of the Amazon Connect instance. You can find the instanceId
 21780  	// in the ARN of the instance.
 21781  	//
 21782  	// InstanceId is a required field
 21783  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 21784  
 21785  	IntegrationType *string `location:"querystring" locationName:"integrationType" type:"string" enum:"IntegrationType"`
 21786  
 21787  	// The maximum number of results to return per page.
 21788  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21789  
 21790  	// The token for the next set of results. Use the value returned in the previous
 21791  	// response in the next request to retrieve the next set of results.
 21792  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21793  }
 21794  
 21795  // String returns the string representation.
 21796  //
 21797  // API parameter values that are decorated as "sensitive" in the API will not
 21798  // be included in the string output. The member name will be present, but the
 21799  // value will be replaced with "sensitive".
 21800  func (s ListIntegrationAssociationsInput) String() string {
 21801  	return awsutil.Prettify(s)
 21802  }
 21803  
 21804  // GoString returns the string representation.
 21805  //
 21806  // API parameter values that are decorated as "sensitive" in the API will not
 21807  // be included in the string output. The member name will be present, but the
 21808  // value will be replaced with "sensitive".
 21809  func (s ListIntegrationAssociationsInput) GoString() string {
 21810  	return s.String()
 21811  }
 21812  
 21813  // Validate inspects the fields of the type to determine if they are valid.
 21814  func (s *ListIntegrationAssociationsInput) Validate() error {
 21815  	invalidParams := request.ErrInvalidParams{Context: "ListIntegrationAssociationsInput"}
 21816  	if s.InstanceId == nil {
 21817  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21818  	}
 21819  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21820  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21821  	}
 21822  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21823  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21824  	}
 21825  
 21826  	if invalidParams.Len() > 0 {
 21827  		return invalidParams
 21828  	}
 21829  	return nil
 21830  }
 21831  
 21832  // SetInstanceId sets the InstanceId field's value.
 21833  func (s *ListIntegrationAssociationsInput) SetInstanceId(v string) *ListIntegrationAssociationsInput {
 21834  	s.InstanceId = &v
 21835  	return s
 21836  }
 21837  
 21838  // SetIntegrationType sets the IntegrationType field's value.
 21839  func (s *ListIntegrationAssociationsInput) SetIntegrationType(v string) *ListIntegrationAssociationsInput {
 21840  	s.IntegrationType = &v
 21841  	return s
 21842  }
 21843  
 21844  // SetMaxResults sets the MaxResults field's value.
 21845  func (s *ListIntegrationAssociationsInput) SetMaxResults(v int64) *ListIntegrationAssociationsInput {
 21846  	s.MaxResults = &v
 21847  	return s
 21848  }
 21849  
 21850  // SetNextToken sets the NextToken field's value.
 21851  func (s *ListIntegrationAssociationsInput) SetNextToken(v string) *ListIntegrationAssociationsInput {
 21852  	s.NextToken = &v
 21853  	return s
 21854  }
 21855  
 21856  type ListIntegrationAssociationsOutput struct {
 21857  	_ struct{} `type:"structure"`
 21858  
 21859  	// The associations.
 21860  	IntegrationAssociationSummaryList []*IntegrationAssociationSummary `type:"list"`
 21861  
 21862  	// If there are additional results, this is the token for the next set of results.
 21863  	NextToken *string `type:"string"`
 21864  }
 21865  
 21866  // String returns the string representation.
 21867  //
 21868  // API parameter values that are decorated as "sensitive" in the API will not
 21869  // be included in the string output. The member name will be present, but the
 21870  // value will be replaced with "sensitive".
 21871  func (s ListIntegrationAssociationsOutput) String() string {
 21872  	return awsutil.Prettify(s)
 21873  }
 21874  
 21875  // GoString returns the string representation.
 21876  //
 21877  // API parameter values that are decorated as "sensitive" in the API will not
 21878  // be included in the string output. The member name will be present, but the
 21879  // value will be replaced with "sensitive".
 21880  func (s ListIntegrationAssociationsOutput) GoString() string {
 21881  	return s.String()
 21882  }
 21883  
 21884  // SetIntegrationAssociationSummaryList sets the IntegrationAssociationSummaryList field's value.
 21885  func (s *ListIntegrationAssociationsOutput) SetIntegrationAssociationSummaryList(v []*IntegrationAssociationSummary) *ListIntegrationAssociationsOutput {
 21886  	s.IntegrationAssociationSummaryList = v
 21887  	return s
 21888  }
 21889  
 21890  // SetNextToken sets the NextToken field's value.
 21891  func (s *ListIntegrationAssociationsOutput) SetNextToken(v string) *ListIntegrationAssociationsOutput {
 21892  	s.NextToken = &v
 21893  	return s
 21894  }
 21895  
 21896  type ListLambdaFunctionsInput struct {
 21897  	_ struct{} `type:"structure" nopayload:"true"`
 21898  
 21899  	// The identifier of the Amazon Connect instance. You can find the instanceId
 21900  	// in the ARN of the instance.
 21901  	//
 21902  	// InstanceId is a required field
 21903  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 21904  
 21905  	// The maximum number of results to return per page.
 21906  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 21907  
 21908  	// The token for the next set of results. Use the value returned in the previous
 21909  	// response in the next request to retrieve the next set of results.
 21910  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 21911  }
 21912  
 21913  // String returns the string representation.
 21914  //
 21915  // API parameter values that are decorated as "sensitive" in the API will not
 21916  // be included in the string output. The member name will be present, but the
 21917  // value will be replaced with "sensitive".
 21918  func (s ListLambdaFunctionsInput) String() string {
 21919  	return awsutil.Prettify(s)
 21920  }
 21921  
 21922  // GoString returns the string representation.
 21923  //
 21924  // API parameter values that are decorated as "sensitive" in the API will not
 21925  // be included in the string output. The member name will be present, but the
 21926  // value will be replaced with "sensitive".
 21927  func (s ListLambdaFunctionsInput) GoString() string {
 21928  	return s.String()
 21929  }
 21930  
 21931  // Validate inspects the fields of the type to determine if they are valid.
 21932  func (s *ListLambdaFunctionsInput) Validate() error {
 21933  	invalidParams := request.ErrInvalidParams{Context: "ListLambdaFunctionsInput"}
 21934  	if s.InstanceId == nil {
 21935  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 21936  	}
 21937  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 21938  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 21939  	}
 21940  	if s.MaxResults != nil && *s.MaxResults < 1 {
 21941  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 21942  	}
 21943  
 21944  	if invalidParams.Len() > 0 {
 21945  		return invalidParams
 21946  	}
 21947  	return nil
 21948  }
 21949  
 21950  // SetInstanceId sets the InstanceId field's value.
 21951  func (s *ListLambdaFunctionsInput) SetInstanceId(v string) *ListLambdaFunctionsInput {
 21952  	s.InstanceId = &v
 21953  	return s
 21954  }
 21955  
 21956  // SetMaxResults sets the MaxResults field's value.
 21957  func (s *ListLambdaFunctionsInput) SetMaxResults(v int64) *ListLambdaFunctionsInput {
 21958  	s.MaxResults = &v
 21959  	return s
 21960  }
 21961  
 21962  // SetNextToken sets the NextToken field's value.
 21963  func (s *ListLambdaFunctionsInput) SetNextToken(v string) *ListLambdaFunctionsInput {
 21964  	s.NextToken = &v
 21965  	return s
 21966  }
 21967  
 21968  type ListLambdaFunctionsOutput struct {
 21969  	_ struct{} `type:"structure"`
 21970  
 21971  	// The Lambdafunction ARNs associated with the specified instance.
 21972  	LambdaFunctions []*string `type:"list"`
 21973  
 21974  	// If there are additional results, this is the token for the next set of results.
 21975  	NextToken *string `type:"string"`
 21976  }
 21977  
 21978  // String returns the string representation.
 21979  //
 21980  // API parameter values that are decorated as "sensitive" in the API will not
 21981  // be included in the string output. The member name will be present, but the
 21982  // value will be replaced with "sensitive".
 21983  func (s ListLambdaFunctionsOutput) String() string {
 21984  	return awsutil.Prettify(s)
 21985  }
 21986  
 21987  // GoString returns the string representation.
 21988  //
 21989  // API parameter values that are decorated as "sensitive" in the API will not
 21990  // be included in the string output. The member name will be present, but the
 21991  // value will be replaced with "sensitive".
 21992  func (s ListLambdaFunctionsOutput) GoString() string {
 21993  	return s.String()
 21994  }
 21995  
 21996  // SetLambdaFunctions sets the LambdaFunctions field's value.
 21997  func (s *ListLambdaFunctionsOutput) SetLambdaFunctions(v []*string) *ListLambdaFunctionsOutput {
 21998  	s.LambdaFunctions = v
 21999  	return s
 22000  }
 22001  
 22002  // SetNextToken sets the NextToken field's value.
 22003  func (s *ListLambdaFunctionsOutput) SetNextToken(v string) *ListLambdaFunctionsOutput {
 22004  	s.NextToken = &v
 22005  	return s
 22006  }
 22007  
 22008  type ListLexBotsInput struct {
 22009  	_ struct{} `type:"structure" nopayload:"true"`
 22010  
 22011  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22012  	// in the ARN of the instance.
 22013  	//
 22014  	// InstanceId is a required field
 22015  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22016  
 22017  	// The maximum number of results to return per page.
 22018  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22019  
 22020  	// The token for the next set of results. Use the value returned in the previous
 22021  	// response in the next request to retrieve the next set of results.
 22022  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22023  }
 22024  
 22025  // String returns the string representation.
 22026  //
 22027  // API parameter values that are decorated as "sensitive" in the API will not
 22028  // be included in the string output. The member name will be present, but the
 22029  // value will be replaced with "sensitive".
 22030  func (s ListLexBotsInput) String() string {
 22031  	return awsutil.Prettify(s)
 22032  }
 22033  
 22034  // GoString returns the string representation.
 22035  //
 22036  // API parameter values that are decorated as "sensitive" in the API will not
 22037  // be included in the string output. The member name will be present, but the
 22038  // value will be replaced with "sensitive".
 22039  func (s ListLexBotsInput) GoString() string {
 22040  	return s.String()
 22041  }
 22042  
 22043  // Validate inspects the fields of the type to determine if they are valid.
 22044  func (s *ListLexBotsInput) Validate() error {
 22045  	invalidParams := request.ErrInvalidParams{Context: "ListLexBotsInput"}
 22046  	if s.InstanceId == nil {
 22047  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22048  	}
 22049  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22050  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22051  	}
 22052  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22053  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22054  	}
 22055  
 22056  	if invalidParams.Len() > 0 {
 22057  		return invalidParams
 22058  	}
 22059  	return nil
 22060  }
 22061  
 22062  // SetInstanceId sets the InstanceId field's value.
 22063  func (s *ListLexBotsInput) SetInstanceId(v string) *ListLexBotsInput {
 22064  	s.InstanceId = &v
 22065  	return s
 22066  }
 22067  
 22068  // SetMaxResults sets the MaxResults field's value.
 22069  func (s *ListLexBotsInput) SetMaxResults(v int64) *ListLexBotsInput {
 22070  	s.MaxResults = &v
 22071  	return s
 22072  }
 22073  
 22074  // SetNextToken sets the NextToken field's value.
 22075  func (s *ListLexBotsInput) SetNextToken(v string) *ListLexBotsInput {
 22076  	s.NextToken = &v
 22077  	return s
 22078  }
 22079  
 22080  type ListLexBotsOutput struct {
 22081  	_ struct{} `type:"structure"`
 22082  
 22083  	// The names and Regions of the Amazon Lex bots associated with the specified
 22084  	// instance.
 22085  	LexBots []*LexBot `type:"list"`
 22086  
 22087  	// If there are additional results, this is the token for the next set of results.
 22088  	NextToken *string `type:"string"`
 22089  }
 22090  
 22091  // String returns the string representation.
 22092  //
 22093  // API parameter values that are decorated as "sensitive" in the API will not
 22094  // be included in the string output. The member name will be present, but the
 22095  // value will be replaced with "sensitive".
 22096  func (s ListLexBotsOutput) String() string {
 22097  	return awsutil.Prettify(s)
 22098  }
 22099  
 22100  // GoString returns the string representation.
 22101  //
 22102  // API parameter values that are decorated as "sensitive" in the API will not
 22103  // be included in the string output. The member name will be present, but the
 22104  // value will be replaced with "sensitive".
 22105  func (s ListLexBotsOutput) GoString() string {
 22106  	return s.String()
 22107  }
 22108  
 22109  // SetLexBots sets the LexBots field's value.
 22110  func (s *ListLexBotsOutput) SetLexBots(v []*LexBot) *ListLexBotsOutput {
 22111  	s.LexBots = v
 22112  	return s
 22113  }
 22114  
 22115  // SetNextToken sets the NextToken field's value.
 22116  func (s *ListLexBotsOutput) SetNextToken(v string) *ListLexBotsOutput {
 22117  	s.NextToken = &v
 22118  	return s
 22119  }
 22120  
 22121  type ListPhoneNumbersInput struct {
 22122  	_ struct{} `type:"structure" nopayload:"true"`
 22123  
 22124  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22125  	// in the ARN of the instance.
 22126  	//
 22127  	// InstanceId is a required field
 22128  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22129  
 22130  	// The maximum number of results to return per page.
 22131  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22132  
 22133  	// The token for the next set of results. Use the value returned in the previous
 22134  	// response in the next request to retrieve the next set of results.
 22135  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22136  
 22137  	// The ISO country code.
 22138  	PhoneNumberCountryCodes []*string `location:"querystring" locationName:"phoneNumberCountryCodes" type:"list"`
 22139  
 22140  	// The type of phone number.
 22141  	PhoneNumberTypes []*string `location:"querystring" locationName:"phoneNumberTypes" type:"list"`
 22142  }
 22143  
 22144  // String returns the string representation.
 22145  //
 22146  // API parameter values that are decorated as "sensitive" in the API will not
 22147  // be included in the string output. The member name will be present, but the
 22148  // value will be replaced with "sensitive".
 22149  func (s ListPhoneNumbersInput) String() string {
 22150  	return awsutil.Prettify(s)
 22151  }
 22152  
 22153  // GoString returns the string representation.
 22154  //
 22155  // API parameter values that are decorated as "sensitive" in the API will not
 22156  // be included in the string output. The member name will be present, but the
 22157  // value will be replaced with "sensitive".
 22158  func (s ListPhoneNumbersInput) GoString() string {
 22159  	return s.String()
 22160  }
 22161  
 22162  // Validate inspects the fields of the type to determine if they are valid.
 22163  func (s *ListPhoneNumbersInput) Validate() error {
 22164  	invalidParams := request.ErrInvalidParams{Context: "ListPhoneNumbersInput"}
 22165  	if s.InstanceId == nil {
 22166  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22167  	}
 22168  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22169  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22170  	}
 22171  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22172  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22173  	}
 22174  
 22175  	if invalidParams.Len() > 0 {
 22176  		return invalidParams
 22177  	}
 22178  	return nil
 22179  }
 22180  
 22181  // SetInstanceId sets the InstanceId field's value.
 22182  func (s *ListPhoneNumbersInput) SetInstanceId(v string) *ListPhoneNumbersInput {
 22183  	s.InstanceId = &v
 22184  	return s
 22185  }
 22186  
 22187  // SetMaxResults sets the MaxResults field's value.
 22188  func (s *ListPhoneNumbersInput) SetMaxResults(v int64) *ListPhoneNumbersInput {
 22189  	s.MaxResults = &v
 22190  	return s
 22191  }
 22192  
 22193  // SetNextToken sets the NextToken field's value.
 22194  func (s *ListPhoneNumbersInput) SetNextToken(v string) *ListPhoneNumbersInput {
 22195  	s.NextToken = &v
 22196  	return s
 22197  }
 22198  
 22199  // SetPhoneNumberCountryCodes sets the PhoneNumberCountryCodes field's value.
 22200  func (s *ListPhoneNumbersInput) SetPhoneNumberCountryCodes(v []*string) *ListPhoneNumbersInput {
 22201  	s.PhoneNumberCountryCodes = v
 22202  	return s
 22203  }
 22204  
 22205  // SetPhoneNumberTypes sets the PhoneNumberTypes field's value.
 22206  func (s *ListPhoneNumbersInput) SetPhoneNumberTypes(v []*string) *ListPhoneNumbersInput {
 22207  	s.PhoneNumberTypes = v
 22208  	return s
 22209  }
 22210  
 22211  type ListPhoneNumbersOutput struct {
 22212  	_ struct{} `type:"structure"`
 22213  
 22214  	// If there are additional results, this is the token for the next set of results.
 22215  	NextToken *string `type:"string"`
 22216  
 22217  	// Information about the phone numbers.
 22218  	PhoneNumberSummaryList []*PhoneNumberSummary `type:"list"`
 22219  }
 22220  
 22221  // String returns the string representation.
 22222  //
 22223  // API parameter values that are decorated as "sensitive" in the API will not
 22224  // be included in the string output. The member name will be present, but the
 22225  // value will be replaced with "sensitive".
 22226  func (s ListPhoneNumbersOutput) String() string {
 22227  	return awsutil.Prettify(s)
 22228  }
 22229  
 22230  // GoString returns the string representation.
 22231  //
 22232  // API parameter values that are decorated as "sensitive" in the API will not
 22233  // be included in the string output. The member name will be present, but the
 22234  // value will be replaced with "sensitive".
 22235  func (s ListPhoneNumbersOutput) GoString() string {
 22236  	return s.String()
 22237  }
 22238  
 22239  // SetNextToken sets the NextToken field's value.
 22240  func (s *ListPhoneNumbersOutput) SetNextToken(v string) *ListPhoneNumbersOutput {
 22241  	s.NextToken = &v
 22242  	return s
 22243  }
 22244  
 22245  // SetPhoneNumberSummaryList sets the PhoneNumberSummaryList field's value.
 22246  func (s *ListPhoneNumbersOutput) SetPhoneNumberSummaryList(v []*PhoneNumberSummary) *ListPhoneNumbersOutput {
 22247  	s.PhoneNumberSummaryList = v
 22248  	return s
 22249  }
 22250  
 22251  type ListPromptsInput struct {
 22252  	_ struct{} `type:"structure" nopayload:"true"`
 22253  
 22254  	// The identifier of the Amazon Connect instance.
 22255  	//
 22256  	// InstanceId is a required field
 22257  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22258  
 22259  	// The maximum number of results to return per page.
 22260  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22261  
 22262  	// The token for the next set of results. Use the value returned in the previous
 22263  	// response in the next request to retrieve the next set of results.
 22264  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22265  }
 22266  
 22267  // String returns the string representation.
 22268  //
 22269  // API parameter values that are decorated as "sensitive" in the API will not
 22270  // be included in the string output. The member name will be present, but the
 22271  // value will be replaced with "sensitive".
 22272  func (s ListPromptsInput) String() string {
 22273  	return awsutil.Prettify(s)
 22274  }
 22275  
 22276  // GoString returns the string representation.
 22277  //
 22278  // API parameter values that are decorated as "sensitive" in the API will not
 22279  // be included in the string output. The member name will be present, but the
 22280  // value will be replaced with "sensitive".
 22281  func (s ListPromptsInput) GoString() string {
 22282  	return s.String()
 22283  }
 22284  
 22285  // Validate inspects the fields of the type to determine if they are valid.
 22286  func (s *ListPromptsInput) Validate() error {
 22287  	invalidParams := request.ErrInvalidParams{Context: "ListPromptsInput"}
 22288  	if s.InstanceId == nil {
 22289  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22290  	}
 22291  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22292  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22293  	}
 22294  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22295  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22296  	}
 22297  
 22298  	if invalidParams.Len() > 0 {
 22299  		return invalidParams
 22300  	}
 22301  	return nil
 22302  }
 22303  
 22304  // SetInstanceId sets the InstanceId field's value.
 22305  func (s *ListPromptsInput) SetInstanceId(v string) *ListPromptsInput {
 22306  	s.InstanceId = &v
 22307  	return s
 22308  }
 22309  
 22310  // SetMaxResults sets the MaxResults field's value.
 22311  func (s *ListPromptsInput) SetMaxResults(v int64) *ListPromptsInput {
 22312  	s.MaxResults = &v
 22313  	return s
 22314  }
 22315  
 22316  // SetNextToken sets the NextToken field's value.
 22317  func (s *ListPromptsInput) SetNextToken(v string) *ListPromptsInput {
 22318  	s.NextToken = &v
 22319  	return s
 22320  }
 22321  
 22322  type ListPromptsOutput struct {
 22323  	_ struct{} `type:"structure"`
 22324  
 22325  	// If there are additional results, this is the token for the next set of results.
 22326  	NextToken *string `type:"string"`
 22327  
 22328  	// Information about the prompts.
 22329  	PromptSummaryList []*PromptSummary `type:"list"`
 22330  }
 22331  
 22332  // String returns the string representation.
 22333  //
 22334  // API parameter values that are decorated as "sensitive" in the API will not
 22335  // be included in the string output. The member name will be present, but the
 22336  // value will be replaced with "sensitive".
 22337  func (s ListPromptsOutput) String() string {
 22338  	return awsutil.Prettify(s)
 22339  }
 22340  
 22341  // GoString returns the string representation.
 22342  //
 22343  // API parameter values that are decorated as "sensitive" in the API will not
 22344  // be included in the string output. The member name will be present, but the
 22345  // value will be replaced with "sensitive".
 22346  func (s ListPromptsOutput) GoString() string {
 22347  	return s.String()
 22348  }
 22349  
 22350  // SetNextToken sets the NextToken field's value.
 22351  func (s *ListPromptsOutput) SetNextToken(v string) *ListPromptsOutput {
 22352  	s.NextToken = &v
 22353  	return s
 22354  }
 22355  
 22356  // SetPromptSummaryList sets the PromptSummaryList field's value.
 22357  func (s *ListPromptsOutput) SetPromptSummaryList(v []*PromptSummary) *ListPromptsOutput {
 22358  	s.PromptSummaryList = v
 22359  	return s
 22360  }
 22361  
 22362  type ListQueueQuickConnectsInput struct {
 22363  	_ struct{} `type:"structure" nopayload:"true"`
 22364  
 22365  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22366  	// in the ARN of the instance.
 22367  	//
 22368  	// InstanceId is a required field
 22369  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22370  
 22371  	// The maximum number of results to return per page.
 22372  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22373  
 22374  	// The token for the next set of results. Use the value returned in the previous
 22375  	// response in the next request to retrieve the next set of results.
 22376  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22377  
 22378  	// The identifier for the queue.
 22379  	//
 22380  	// QueueId is a required field
 22381  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 22382  }
 22383  
 22384  // String returns the string representation.
 22385  //
 22386  // API parameter values that are decorated as "sensitive" in the API will not
 22387  // be included in the string output. The member name will be present, but the
 22388  // value will be replaced with "sensitive".
 22389  func (s ListQueueQuickConnectsInput) String() string {
 22390  	return awsutil.Prettify(s)
 22391  }
 22392  
 22393  // GoString returns the string representation.
 22394  //
 22395  // API parameter values that are decorated as "sensitive" in the API will not
 22396  // be included in the string output. The member name will be present, but the
 22397  // value will be replaced with "sensitive".
 22398  func (s ListQueueQuickConnectsInput) GoString() string {
 22399  	return s.String()
 22400  }
 22401  
 22402  // Validate inspects the fields of the type to determine if they are valid.
 22403  func (s *ListQueueQuickConnectsInput) Validate() error {
 22404  	invalidParams := request.ErrInvalidParams{Context: "ListQueueQuickConnectsInput"}
 22405  	if s.InstanceId == nil {
 22406  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22407  	}
 22408  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22409  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22410  	}
 22411  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22412  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22413  	}
 22414  	if s.QueueId == nil {
 22415  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 22416  	}
 22417  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 22418  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 22419  	}
 22420  
 22421  	if invalidParams.Len() > 0 {
 22422  		return invalidParams
 22423  	}
 22424  	return nil
 22425  }
 22426  
 22427  // SetInstanceId sets the InstanceId field's value.
 22428  func (s *ListQueueQuickConnectsInput) SetInstanceId(v string) *ListQueueQuickConnectsInput {
 22429  	s.InstanceId = &v
 22430  	return s
 22431  }
 22432  
 22433  // SetMaxResults sets the MaxResults field's value.
 22434  func (s *ListQueueQuickConnectsInput) SetMaxResults(v int64) *ListQueueQuickConnectsInput {
 22435  	s.MaxResults = &v
 22436  	return s
 22437  }
 22438  
 22439  // SetNextToken sets the NextToken field's value.
 22440  func (s *ListQueueQuickConnectsInput) SetNextToken(v string) *ListQueueQuickConnectsInput {
 22441  	s.NextToken = &v
 22442  	return s
 22443  }
 22444  
 22445  // SetQueueId sets the QueueId field's value.
 22446  func (s *ListQueueQuickConnectsInput) SetQueueId(v string) *ListQueueQuickConnectsInput {
 22447  	s.QueueId = &v
 22448  	return s
 22449  }
 22450  
 22451  type ListQueueQuickConnectsOutput struct {
 22452  	_ struct{} `type:"structure"`
 22453  
 22454  	// If there are additional results, this is the token for the next set of results.
 22455  	NextToken *string `type:"string"`
 22456  
 22457  	// Information about the quick connects.
 22458  	QuickConnectSummaryList []*QuickConnectSummary `type:"list"`
 22459  }
 22460  
 22461  // String returns the string representation.
 22462  //
 22463  // API parameter values that are decorated as "sensitive" in the API will not
 22464  // be included in the string output. The member name will be present, but the
 22465  // value will be replaced with "sensitive".
 22466  func (s ListQueueQuickConnectsOutput) String() string {
 22467  	return awsutil.Prettify(s)
 22468  }
 22469  
 22470  // GoString returns the string representation.
 22471  //
 22472  // API parameter values that are decorated as "sensitive" in the API will not
 22473  // be included in the string output. The member name will be present, but the
 22474  // value will be replaced with "sensitive".
 22475  func (s ListQueueQuickConnectsOutput) GoString() string {
 22476  	return s.String()
 22477  }
 22478  
 22479  // SetNextToken sets the NextToken field's value.
 22480  func (s *ListQueueQuickConnectsOutput) SetNextToken(v string) *ListQueueQuickConnectsOutput {
 22481  	s.NextToken = &v
 22482  	return s
 22483  }
 22484  
 22485  // SetQuickConnectSummaryList sets the QuickConnectSummaryList field's value.
 22486  func (s *ListQueueQuickConnectsOutput) SetQuickConnectSummaryList(v []*QuickConnectSummary) *ListQueueQuickConnectsOutput {
 22487  	s.QuickConnectSummaryList = v
 22488  	return s
 22489  }
 22490  
 22491  type ListQueuesInput struct {
 22492  	_ struct{} `type:"structure" nopayload:"true"`
 22493  
 22494  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22495  	// in the ARN of the instance.
 22496  	//
 22497  	// InstanceId is a required field
 22498  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22499  
 22500  	// The maximum number of results to return per page.
 22501  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22502  
 22503  	// The token for the next set of results. Use the value returned in the previous
 22504  	// response in the next request to retrieve the next set of results.
 22505  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22506  
 22507  	// The type of queue.
 22508  	QueueTypes []*string `location:"querystring" locationName:"queueTypes" type:"list"`
 22509  }
 22510  
 22511  // String returns the string representation.
 22512  //
 22513  // API parameter values that are decorated as "sensitive" in the API will not
 22514  // be included in the string output. The member name will be present, but the
 22515  // value will be replaced with "sensitive".
 22516  func (s ListQueuesInput) String() string {
 22517  	return awsutil.Prettify(s)
 22518  }
 22519  
 22520  // GoString returns the string representation.
 22521  //
 22522  // API parameter values that are decorated as "sensitive" in the API will not
 22523  // be included in the string output. The member name will be present, but the
 22524  // value will be replaced with "sensitive".
 22525  func (s ListQueuesInput) GoString() string {
 22526  	return s.String()
 22527  }
 22528  
 22529  // Validate inspects the fields of the type to determine if they are valid.
 22530  func (s *ListQueuesInput) Validate() error {
 22531  	invalidParams := request.ErrInvalidParams{Context: "ListQueuesInput"}
 22532  	if s.InstanceId == nil {
 22533  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22534  	}
 22535  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22536  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22537  	}
 22538  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22539  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22540  	}
 22541  
 22542  	if invalidParams.Len() > 0 {
 22543  		return invalidParams
 22544  	}
 22545  	return nil
 22546  }
 22547  
 22548  // SetInstanceId sets the InstanceId field's value.
 22549  func (s *ListQueuesInput) SetInstanceId(v string) *ListQueuesInput {
 22550  	s.InstanceId = &v
 22551  	return s
 22552  }
 22553  
 22554  // SetMaxResults sets the MaxResults field's value.
 22555  func (s *ListQueuesInput) SetMaxResults(v int64) *ListQueuesInput {
 22556  	s.MaxResults = &v
 22557  	return s
 22558  }
 22559  
 22560  // SetNextToken sets the NextToken field's value.
 22561  func (s *ListQueuesInput) SetNextToken(v string) *ListQueuesInput {
 22562  	s.NextToken = &v
 22563  	return s
 22564  }
 22565  
 22566  // SetQueueTypes sets the QueueTypes field's value.
 22567  func (s *ListQueuesInput) SetQueueTypes(v []*string) *ListQueuesInput {
 22568  	s.QueueTypes = v
 22569  	return s
 22570  }
 22571  
 22572  type ListQueuesOutput struct {
 22573  	_ struct{} `type:"structure"`
 22574  
 22575  	// If there are additional results, this is the token for the next set of results.
 22576  	NextToken *string `type:"string"`
 22577  
 22578  	// Information about the queues.
 22579  	QueueSummaryList []*QueueSummary `type:"list"`
 22580  }
 22581  
 22582  // String returns the string representation.
 22583  //
 22584  // API parameter values that are decorated as "sensitive" in the API will not
 22585  // be included in the string output. The member name will be present, but the
 22586  // value will be replaced with "sensitive".
 22587  func (s ListQueuesOutput) String() string {
 22588  	return awsutil.Prettify(s)
 22589  }
 22590  
 22591  // GoString returns the string representation.
 22592  //
 22593  // API parameter values that are decorated as "sensitive" in the API will not
 22594  // be included in the string output. The member name will be present, but the
 22595  // value will be replaced with "sensitive".
 22596  func (s ListQueuesOutput) GoString() string {
 22597  	return s.String()
 22598  }
 22599  
 22600  // SetNextToken sets the NextToken field's value.
 22601  func (s *ListQueuesOutput) SetNextToken(v string) *ListQueuesOutput {
 22602  	s.NextToken = &v
 22603  	return s
 22604  }
 22605  
 22606  // SetQueueSummaryList sets the QueueSummaryList field's value.
 22607  func (s *ListQueuesOutput) SetQueueSummaryList(v []*QueueSummary) *ListQueuesOutput {
 22608  	s.QueueSummaryList = v
 22609  	return s
 22610  }
 22611  
 22612  type ListQuickConnectsInput struct {
 22613  	_ struct{} `type:"structure" nopayload:"true"`
 22614  
 22615  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22616  	// in the ARN of the instance.
 22617  	//
 22618  	// InstanceId is a required field
 22619  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22620  
 22621  	// The maximum number of results to return per page.
 22622  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22623  
 22624  	// The token for the next set of results. Use the value returned in the previous
 22625  	// response in the next request to retrieve the next set of results.
 22626  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22627  
 22628  	// The type of quick connect. In the Amazon Connect console, when you create
 22629  	// a quick connect, you are prompted to assign one of the following types: Agent
 22630  	// (USER), External (PHONE_NUMBER), or Queue (QUEUE).
 22631  	QuickConnectTypes []*string `location:"querystring" locationName:"QuickConnectTypes" type:"list"`
 22632  }
 22633  
 22634  // String returns the string representation.
 22635  //
 22636  // API parameter values that are decorated as "sensitive" in the API will not
 22637  // be included in the string output. The member name will be present, but the
 22638  // value will be replaced with "sensitive".
 22639  func (s ListQuickConnectsInput) String() string {
 22640  	return awsutil.Prettify(s)
 22641  }
 22642  
 22643  // GoString returns the string representation.
 22644  //
 22645  // API parameter values that are decorated as "sensitive" in the API will not
 22646  // be included in the string output. The member name will be present, but the
 22647  // value will be replaced with "sensitive".
 22648  func (s ListQuickConnectsInput) GoString() string {
 22649  	return s.String()
 22650  }
 22651  
 22652  // Validate inspects the fields of the type to determine if they are valid.
 22653  func (s *ListQuickConnectsInput) Validate() error {
 22654  	invalidParams := request.ErrInvalidParams{Context: "ListQuickConnectsInput"}
 22655  	if s.InstanceId == nil {
 22656  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22657  	}
 22658  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22659  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22660  	}
 22661  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22662  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22663  	}
 22664  
 22665  	if invalidParams.Len() > 0 {
 22666  		return invalidParams
 22667  	}
 22668  	return nil
 22669  }
 22670  
 22671  // SetInstanceId sets the InstanceId field's value.
 22672  func (s *ListQuickConnectsInput) SetInstanceId(v string) *ListQuickConnectsInput {
 22673  	s.InstanceId = &v
 22674  	return s
 22675  }
 22676  
 22677  // SetMaxResults sets the MaxResults field's value.
 22678  func (s *ListQuickConnectsInput) SetMaxResults(v int64) *ListQuickConnectsInput {
 22679  	s.MaxResults = &v
 22680  	return s
 22681  }
 22682  
 22683  // SetNextToken sets the NextToken field's value.
 22684  func (s *ListQuickConnectsInput) SetNextToken(v string) *ListQuickConnectsInput {
 22685  	s.NextToken = &v
 22686  	return s
 22687  }
 22688  
 22689  // SetQuickConnectTypes sets the QuickConnectTypes field's value.
 22690  func (s *ListQuickConnectsInput) SetQuickConnectTypes(v []*string) *ListQuickConnectsInput {
 22691  	s.QuickConnectTypes = v
 22692  	return s
 22693  }
 22694  
 22695  type ListQuickConnectsOutput struct {
 22696  	_ struct{} `type:"structure"`
 22697  
 22698  	// If there are additional results, this is the token for the next set of results.
 22699  	NextToken *string `type:"string"`
 22700  
 22701  	// Information about the quick connects.
 22702  	QuickConnectSummaryList []*QuickConnectSummary `type:"list"`
 22703  }
 22704  
 22705  // String returns the string representation.
 22706  //
 22707  // API parameter values that are decorated as "sensitive" in the API will not
 22708  // be included in the string output. The member name will be present, but the
 22709  // value will be replaced with "sensitive".
 22710  func (s ListQuickConnectsOutput) String() string {
 22711  	return awsutil.Prettify(s)
 22712  }
 22713  
 22714  // GoString returns the string representation.
 22715  //
 22716  // API parameter values that are decorated as "sensitive" in the API will not
 22717  // be included in the string output. The member name will be present, but the
 22718  // value will be replaced with "sensitive".
 22719  func (s ListQuickConnectsOutput) GoString() string {
 22720  	return s.String()
 22721  }
 22722  
 22723  // SetNextToken sets the NextToken field's value.
 22724  func (s *ListQuickConnectsOutput) SetNextToken(v string) *ListQuickConnectsOutput {
 22725  	s.NextToken = &v
 22726  	return s
 22727  }
 22728  
 22729  // SetQuickConnectSummaryList sets the QuickConnectSummaryList field's value.
 22730  func (s *ListQuickConnectsOutput) SetQuickConnectSummaryList(v []*QuickConnectSummary) *ListQuickConnectsOutput {
 22731  	s.QuickConnectSummaryList = v
 22732  	return s
 22733  }
 22734  
 22735  type ListRoutingProfileQueuesInput struct {
 22736  	_ struct{} `type:"structure" nopayload:"true"`
 22737  
 22738  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22739  	// in the ARN of the instance.
 22740  	//
 22741  	// InstanceId is a required field
 22742  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22743  
 22744  	// The maximum number of results to return per page.
 22745  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22746  
 22747  	// The token for the next set of results. Use the value returned in the previous
 22748  	// response in the next request to retrieve the next set of results.
 22749  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22750  
 22751  	// The identifier of the routing profile.
 22752  	//
 22753  	// RoutingProfileId is a required field
 22754  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 22755  }
 22756  
 22757  // String returns the string representation.
 22758  //
 22759  // API parameter values that are decorated as "sensitive" in the API will not
 22760  // be included in the string output. The member name will be present, but the
 22761  // value will be replaced with "sensitive".
 22762  func (s ListRoutingProfileQueuesInput) String() string {
 22763  	return awsutil.Prettify(s)
 22764  }
 22765  
 22766  // GoString returns the string representation.
 22767  //
 22768  // API parameter values that are decorated as "sensitive" in the API will not
 22769  // be included in the string output. The member name will be present, but the
 22770  // value will be replaced with "sensitive".
 22771  func (s ListRoutingProfileQueuesInput) GoString() string {
 22772  	return s.String()
 22773  }
 22774  
 22775  // Validate inspects the fields of the type to determine if they are valid.
 22776  func (s *ListRoutingProfileQueuesInput) Validate() error {
 22777  	invalidParams := request.ErrInvalidParams{Context: "ListRoutingProfileQueuesInput"}
 22778  	if s.InstanceId == nil {
 22779  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22780  	}
 22781  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22782  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22783  	}
 22784  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22785  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22786  	}
 22787  	if s.RoutingProfileId == nil {
 22788  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 22789  	}
 22790  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 22791  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 22792  	}
 22793  
 22794  	if invalidParams.Len() > 0 {
 22795  		return invalidParams
 22796  	}
 22797  	return nil
 22798  }
 22799  
 22800  // SetInstanceId sets the InstanceId field's value.
 22801  func (s *ListRoutingProfileQueuesInput) SetInstanceId(v string) *ListRoutingProfileQueuesInput {
 22802  	s.InstanceId = &v
 22803  	return s
 22804  }
 22805  
 22806  // SetMaxResults sets the MaxResults field's value.
 22807  func (s *ListRoutingProfileQueuesInput) SetMaxResults(v int64) *ListRoutingProfileQueuesInput {
 22808  	s.MaxResults = &v
 22809  	return s
 22810  }
 22811  
 22812  // SetNextToken sets the NextToken field's value.
 22813  func (s *ListRoutingProfileQueuesInput) SetNextToken(v string) *ListRoutingProfileQueuesInput {
 22814  	s.NextToken = &v
 22815  	return s
 22816  }
 22817  
 22818  // SetRoutingProfileId sets the RoutingProfileId field's value.
 22819  func (s *ListRoutingProfileQueuesInput) SetRoutingProfileId(v string) *ListRoutingProfileQueuesInput {
 22820  	s.RoutingProfileId = &v
 22821  	return s
 22822  }
 22823  
 22824  type ListRoutingProfileQueuesOutput struct {
 22825  	_ struct{} `type:"structure"`
 22826  
 22827  	// If there are additional results, this is the token for the next set of results.
 22828  	NextToken *string `type:"string"`
 22829  
 22830  	// Information about the routing profiles.
 22831  	RoutingProfileQueueConfigSummaryList []*RoutingProfileQueueConfigSummary `type:"list"`
 22832  }
 22833  
 22834  // String returns the string representation.
 22835  //
 22836  // API parameter values that are decorated as "sensitive" in the API will not
 22837  // be included in the string output. The member name will be present, but the
 22838  // value will be replaced with "sensitive".
 22839  func (s ListRoutingProfileQueuesOutput) String() string {
 22840  	return awsutil.Prettify(s)
 22841  }
 22842  
 22843  // GoString returns the string representation.
 22844  //
 22845  // API parameter values that are decorated as "sensitive" in the API will not
 22846  // be included in the string output. The member name will be present, but the
 22847  // value will be replaced with "sensitive".
 22848  func (s ListRoutingProfileQueuesOutput) GoString() string {
 22849  	return s.String()
 22850  }
 22851  
 22852  // SetNextToken sets the NextToken field's value.
 22853  func (s *ListRoutingProfileQueuesOutput) SetNextToken(v string) *ListRoutingProfileQueuesOutput {
 22854  	s.NextToken = &v
 22855  	return s
 22856  }
 22857  
 22858  // SetRoutingProfileQueueConfigSummaryList sets the RoutingProfileQueueConfigSummaryList field's value.
 22859  func (s *ListRoutingProfileQueuesOutput) SetRoutingProfileQueueConfigSummaryList(v []*RoutingProfileQueueConfigSummary) *ListRoutingProfileQueuesOutput {
 22860  	s.RoutingProfileQueueConfigSummaryList = v
 22861  	return s
 22862  }
 22863  
 22864  type ListRoutingProfilesInput struct {
 22865  	_ struct{} `type:"structure" nopayload:"true"`
 22866  
 22867  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22868  	// in the ARN of the instance.
 22869  	//
 22870  	// InstanceId is a required field
 22871  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22872  
 22873  	// The maximum number of results to return per page.
 22874  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22875  
 22876  	// The token for the next set of results. Use the value returned in the previous
 22877  	// response in the next request to retrieve the next set of results.
 22878  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22879  }
 22880  
 22881  // String returns the string representation.
 22882  //
 22883  // API parameter values that are decorated as "sensitive" in the API will not
 22884  // be included in the string output. The member name will be present, but the
 22885  // value will be replaced with "sensitive".
 22886  func (s ListRoutingProfilesInput) String() string {
 22887  	return awsutil.Prettify(s)
 22888  }
 22889  
 22890  // GoString returns the string representation.
 22891  //
 22892  // API parameter values that are decorated as "sensitive" in the API will not
 22893  // be included in the string output. The member name will be present, but the
 22894  // value will be replaced with "sensitive".
 22895  func (s ListRoutingProfilesInput) GoString() string {
 22896  	return s.String()
 22897  }
 22898  
 22899  // Validate inspects the fields of the type to determine if they are valid.
 22900  func (s *ListRoutingProfilesInput) Validate() error {
 22901  	invalidParams := request.ErrInvalidParams{Context: "ListRoutingProfilesInput"}
 22902  	if s.InstanceId == nil {
 22903  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22904  	}
 22905  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 22906  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 22907  	}
 22908  	if s.MaxResults != nil && *s.MaxResults < 1 {
 22909  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 22910  	}
 22911  
 22912  	if invalidParams.Len() > 0 {
 22913  		return invalidParams
 22914  	}
 22915  	return nil
 22916  }
 22917  
 22918  // SetInstanceId sets the InstanceId field's value.
 22919  func (s *ListRoutingProfilesInput) SetInstanceId(v string) *ListRoutingProfilesInput {
 22920  	s.InstanceId = &v
 22921  	return s
 22922  }
 22923  
 22924  // SetMaxResults sets the MaxResults field's value.
 22925  func (s *ListRoutingProfilesInput) SetMaxResults(v int64) *ListRoutingProfilesInput {
 22926  	s.MaxResults = &v
 22927  	return s
 22928  }
 22929  
 22930  // SetNextToken sets the NextToken field's value.
 22931  func (s *ListRoutingProfilesInput) SetNextToken(v string) *ListRoutingProfilesInput {
 22932  	s.NextToken = &v
 22933  	return s
 22934  }
 22935  
 22936  type ListRoutingProfilesOutput struct {
 22937  	_ struct{} `type:"structure"`
 22938  
 22939  	// If there are additional results, this is the token for the next set of results.
 22940  	NextToken *string `type:"string"`
 22941  
 22942  	// Information about the routing profiles.
 22943  	RoutingProfileSummaryList []*RoutingProfileSummary `type:"list"`
 22944  }
 22945  
 22946  // String returns the string representation.
 22947  //
 22948  // API parameter values that are decorated as "sensitive" in the API will not
 22949  // be included in the string output. The member name will be present, but the
 22950  // value will be replaced with "sensitive".
 22951  func (s ListRoutingProfilesOutput) String() string {
 22952  	return awsutil.Prettify(s)
 22953  }
 22954  
 22955  // GoString returns the string representation.
 22956  //
 22957  // API parameter values that are decorated as "sensitive" in the API will not
 22958  // be included in the string output. The member name will be present, but the
 22959  // value will be replaced with "sensitive".
 22960  func (s ListRoutingProfilesOutput) GoString() string {
 22961  	return s.String()
 22962  }
 22963  
 22964  // SetNextToken sets the NextToken field's value.
 22965  func (s *ListRoutingProfilesOutput) SetNextToken(v string) *ListRoutingProfilesOutput {
 22966  	s.NextToken = &v
 22967  	return s
 22968  }
 22969  
 22970  // SetRoutingProfileSummaryList sets the RoutingProfileSummaryList field's value.
 22971  func (s *ListRoutingProfilesOutput) SetRoutingProfileSummaryList(v []*RoutingProfileSummary) *ListRoutingProfilesOutput {
 22972  	s.RoutingProfileSummaryList = v
 22973  	return s
 22974  }
 22975  
 22976  type ListSecurityKeysInput struct {
 22977  	_ struct{} `type:"structure" nopayload:"true"`
 22978  
 22979  	// The identifier of the Amazon Connect instance. You can find the instanceId
 22980  	// in the ARN of the instance.
 22981  	//
 22982  	// InstanceId is a required field
 22983  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 22984  
 22985  	// The maximum number of results to return per page.
 22986  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 22987  
 22988  	// The token for the next set of results. Use the value returned in the previous
 22989  	// response in the next request to retrieve the next set of results.
 22990  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 22991  }
 22992  
 22993  // String returns the string representation.
 22994  //
 22995  // API parameter values that are decorated as "sensitive" in the API will not
 22996  // be included in the string output. The member name will be present, but the
 22997  // value will be replaced with "sensitive".
 22998  func (s ListSecurityKeysInput) String() string {
 22999  	return awsutil.Prettify(s)
 23000  }
 23001  
 23002  // GoString returns the string representation.
 23003  //
 23004  // API parameter values that are decorated as "sensitive" in the API will not
 23005  // be included in the string output. The member name will be present, but the
 23006  // value will be replaced with "sensitive".
 23007  func (s ListSecurityKeysInput) GoString() string {
 23008  	return s.String()
 23009  }
 23010  
 23011  // Validate inspects the fields of the type to determine if they are valid.
 23012  func (s *ListSecurityKeysInput) Validate() error {
 23013  	invalidParams := request.ErrInvalidParams{Context: "ListSecurityKeysInput"}
 23014  	if s.InstanceId == nil {
 23015  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 23016  	}
 23017  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 23018  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 23019  	}
 23020  	if s.MaxResults != nil && *s.MaxResults < 1 {
 23021  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 23022  	}
 23023  
 23024  	if invalidParams.Len() > 0 {
 23025  		return invalidParams
 23026  	}
 23027  	return nil
 23028  }
 23029  
 23030  // SetInstanceId sets the InstanceId field's value.
 23031  func (s *ListSecurityKeysInput) SetInstanceId(v string) *ListSecurityKeysInput {
 23032  	s.InstanceId = &v
 23033  	return s
 23034  }
 23035  
 23036  // SetMaxResults sets the MaxResults field's value.
 23037  func (s *ListSecurityKeysInput) SetMaxResults(v int64) *ListSecurityKeysInput {
 23038  	s.MaxResults = &v
 23039  	return s
 23040  }
 23041  
 23042  // SetNextToken sets the NextToken field's value.
 23043  func (s *ListSecurityKeysInput) SetNextToken(v string) *ListSecurityKeysInput {
 23044  	s.NextToken = &v
 23045  	return s
 23046  }
 23047  
 23048  type ListSecurityKeysOutput struct {
 23049  	_ struct{} `type:"structure"`
 23050  
 23051  	// If there are additional results, this is the token for the next set of results.
 23052  	NextToken *string `type:"string"`
 23053  
 23054  	// The security keys.
 23055  	SecurityKeys []*SecurityKey `type:"list"`
 23056  }
 23057  
 23058  // String returns the string representation.
 23059  //
 23060  // API parameter values that are decorated as "sensitive" in the API will not
 23061  // be included in the string output. The member name will be present, but the
 23062  // value will be replaced with "sensitive".
 23063  func (s ListSecurityKeysOutput) String() string {
 23064  	return awsutil.Prettify(s)
 23065  }
 23066  
 23067  // GoString returns the string representation.
 23068  //
 23069  // API parameter values that are decorated as "sensitive" in the API will not
 23070  // be included in the string output. The member name will be present, but the
 23071  // value will be replaced with "sensitive".
 23072  func (s ListSecurityKeysOutput) GoString() string {
 23073  	return s.String()
 23074  }
 23075  
 23076  // SetNextToken sets the NextToken field's value.
 23077  func (s *ListSecurityKeysOutput) SetNextToken(v string) *ListSecurityKeysOutput {
 23078  	s.NextToken = &v
 23079  	return s
 23080  }
 23081  
 23082  // SetSecurityKeys sets the SecurityKeys field's value.
 23083  func (s *ListSecurityKeysOutput) SetSecurityKeys(v []*SecurityKey) *ListSecurityKeysOutput {
 23084  	s.SecurityKeys = v
 23085  	return s
 23086  }
 23087  
 23088  type ListSecurityProfilesInput struct {
 23089  	_ struct{} `type:"structure" nopayload:"true"`
 23090  
 23091  	// The identifier of the Amazon Connect instance. You can find the instanceId
 23092  	// in the ARN of the instance.
 23093  	//
 23094  	// InstanceId is a required field
 23095  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 23096  
 23097  	// The maximum number of results to return per page.
 23098  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 23099  
 23100  	// The token for the next set of results. Use the value returned in the previous
 23101  	// response in the next request to retrieve the next set of results.
 23102  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 23103  }
 23104  
 23105  // String returns the string representation.
 23106  //
 23107  // API parameter values that are decorated as "sensitive" in the API will not
 23108  // be included in the string output. The member name will be present, but the
 23109  // value will be replaced with "sensitive".
 23110  func (s ListSecurityProfilesInput) String() string {
 23111  	return awsutil.Prettify(s)
 23112  }
 23113  
 23114  // GoString returns the string representation.
 23115  //
 23116  // API parameter values that are decorated as "sensitive" in the API will not
 23117  // be included in the string output. The member name will be present, but the
 23118  // value will be replaced with "sensitive".
 23119  func (s ListSecurityProfilesInput) GoString() string {
 23120  	return s.String()
 23121  }
 23122  
 23123  // Validate inspects the fields of the type to determine if they are valid.
 23124  func (s *ListSecurityProfilesInput) Validate() error {
 23125  	invalidParams := request.ErrInvalidParams{Context: "ListSecurityProfilesInput"}
 23126  	if s.InstanceId == nil {
 23127  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 23128  	}
 23129  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 23130  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 23131  	}
 23132  	if s.MaxResults != nil && *s.MaxResults < 1 {
 23133  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 23134  	}
 23135  
 23136  	if invalidParams.Len() > 0 {
 23137  		return invalidParams
 23138  	}
 23139  	return nil
 23140  }
 23141  
 23142  // SetInstanceId sets the InstanceId field's value.
 23143  func (s *ListSecurityProfilesInput) SetInstanceId(v string) *ListSecurityProfilesInput {
 23144  	s.InstanceId = &v
 23145  	return s
 23146  }
 23147  
 23148  // SetMaxResults sets the MaxResults field's value.
 23149  func (s *ListSecurityProfilesInput) SetMaxResults(v int64) *ListSecurityProfilesInput {
 23150  	s.MaxResults = &v
 23151  	return s
 23152  }
 23153  
 23154  // SetNextToken sets the NextToken field's value.
 23155  func (s *ListSecurityProfilesInput) SetNextToken(v string) *ListSecurityProfilesInput {
 23156  	s.NextToken = &v
 23157  	return s
 23158  }
 23159  
 23160  type ListSecurityProfilesOutput struct {
 23161  	_ struct{} `type:"structure"`
 23162  
 23163  	// If there are additional results, this is the token for the next set of results.
 23164  	NextToken *string `type:"string"`
 23165  
 23166  	// Information about the security profiles.
 23167  	SecurityProfileSummaryList []*SecurityProfileSummary `type:"list"`
 23168  }
 23169  
 23170  // String returns the string representation.
 23171  //
 23172  // API parameter values that are decorated as "sensitive" in the API will not
 23173  // be included in the string output. The member name will be present, but the
 23174  // value will be replaced with "sensitive".
 23175  func (s ListSecurityProfilesOutput) String() string {
 23176  	return awsutil.Prettify(s)
 23177  }
 23178  
 23179  // GoString returns the string representation.
 23180  //
 23181  // API parameter values that are decorated as "sensitive" in the API will not
 23182  // be included in the string output. The member name will be present, but the
 23183  // value will be replaced with "sensitive".
 23184  func (s ListSecurityProfilesOutput) GoString() string {
 23185  	return s.String()
 23186  }
 23187  
 23188  // SetNextToken sets the NextToken field's value.
 23189  func (s *ListSecurityProfilesOutput) SetNextToken(v string) *ListSecurityProfilesOutput {
 23190  	s.NextToken = &v
 23191  	return s
 23192  }
 23193  
 23194  // SetSecurityProfileSummaryList sets the SecurityProfileSummaryList field's value.
 23195  func (s *ListSecurityProfilesOutput) SetSecurityProfileSummaryList(v []*SecurityProfileSummary) *ListSecurityProfilesOutput {
 23196  	s.SecurityProfileSummaryList = v
 23197  	return s
 23198  }
 23199  
 23200  type ListTagsForResourceInput struct {
 23201  	_ struct{} `type:"structure" nopayload:"true"`
 23202  
 23203  	// The Amazon Resource Name (ARN) of the resource.
 23204  	//
 23205  	// ResourceArn is a required field
 23206  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 23207  }
 23208  
 23209  // String returns the string representation.
 23210  //
 23211  // API parameter values that are decorated as "sensitive" in the API will not
 23212  // be included in the string output. The member name will be present, but the
 23213  // value will be replaced with "sensitive".
 23214  func (s ListTagsForResourceInput) String() string {
 23215  	return awsutil.Prettify(s)
 23216  }
 23217  
 23218  // GoString returns the string representation.
 23219  //
 23220  // API parameter values that are decorated as "sensitive" in the API will not
 23221  // be included in the string output. The member name will be present, but the
 23222  // value will be replaced with "sensitive".
 23223  func (s ListTagsForResourceInput) GoString() string {
 23224  	return s.String()
 23225  }
 23226  
 23227  // Validate inspects the fields of the type to determine if they are valid.
 23228  func (s *ListTagsForResourceInput) Validate() error {
 23229  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 23230  	if s.ResourceArn == nil {
 23231  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 23232  	}
 23233  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 23234  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 23235  	}
 23236  
 23237  	if invalidParams.Len() > 0 {
 23238  		return invalidParams
 23239  	}
 23240  	return nil
 23241  }
 23242  
 23243  // SetResourceArn sets the ResourceArn field's value.
 23244  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 23245  	s.ResourceArn = &v
 23246  	return s
 23247  }
 23248  
 23249  type ListTagsForResourceOutput struct {
 23250  	_ struct{} `type:"structure"`
 23251  
 23252  	// Information about the tags.
 23253  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 23254  }
 23255  
 23256  // String returns the string representation.
 23257  //
 23258  // API parameter values that are decorated as "sensitive" in the API will not
 23259  // be included in the string output. The member name will be present, but the
 23260  // value will be replaced with "sensitive".
 23261  func (s ListTagsForResourceOutput) String() string {
 23262  	return awsutil.Prettify(s)
 23263  }
 23264  
 23265  // GoString returns the string representation.
 23266  //
 23267  // API parameter values that are decorated as "sensitive" in the API will not
 23268  // be included in the string output. The member name will be present, but the
 23269  // value will be replaced with "sensitive".
 23270  func (s ListTagsForResourceOutput) GoString() string {
 23271  	return s.String()
 23272  }
 23273  
 23274  // SetTags sets the Tags field's value.
 23275  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 23276  	s.Tags = v
 23277  	return s
 23278  }
 23279  
 23280  // Provides summary information about the use cases for the specified integration
 23281  // association.
 23282  type ListUseCasesInput struct {
 23283  	_ struct{} `type:"structure" nopayload:"true"`
 23284  
 23285  	// The identifier of the Amazon Connect instance. You can find the instanceId
 23286  	// in the ARN of the instance.
 23287  	//
 23288  	// InstanceId is a required field
 23289  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 23290  
 23291  	// The identifier for the integration association.
 23292  	//
 23293  	// IntegrationAssociationId is a required field
 23294  	IntegrationAssociationId *string `location:"uri" locationName:"IntegrationAssociationId" min:"1" type:"string" required:"true"`
 23295  
 23296  	// The maximum number of results to return per page.
 23297  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 23298  
 23299  	// The token for the next set of results. Use the value returned in the previous
 23300  	// response in the next request to retrieve the next set of results.
 23301  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 23302  }
 23303  
 23304  // String returns the string representation.
 23305  //
 23306  // API parameter values that are decorated as "sensitive" in the API will not
 23307  // be included in the string output. The member name will be present, but the
 23308  // value will be replaced with "sensitive".
 23309  func (s ListUseCasesInput) String() string {
 23310  	return awsutil.Prettify(s)
 23311  }
 23312  
 23313  // GoString returns the string representation.
 23314  //
 23315  // API parameter values that are decorated as "sensitive" in the API will not
 23316  // be included in the string output. The member name will be present, but the
 23317  // value will be replaced with "sensitive".
 23318  func (s ListUseCasesInput) GoString() string {
 23319  	return s.String()
 23320  }
 23321  
 23322  // Validate inspects the fields of the type to determine if they are valid.
 23323  func (s *ListUseCasesInput) Validate() error {
 23324  	invalidParams := request.ErrInvalidParams{Context: "ListUseCasesInput"}
 23325  	if s.InstanceId == nil {
 23326  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 23327  	}
 23328  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 23329  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 23330  	}
 23331  	if s.IntegrationAssociationId == nil {
 23332  		invalidParams.Add(request.NewErrParamRequired("IntegrationAssociationId"))
 23333  	}
 23334  	if s.IntegrationAssociationId != nil && len(*s.IntegrationAssociationId) < 1 {
 23335  		invalidParams.Add(request.NewErrParamMinLen("IntegrationAssociationId", 1))
 23336  	}
 23337  	if s.MaxResults != nil && *s.MaxResults < 1 {
 23338  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 23339  	}
 23340  
 23341  	if invalidParams.Len() > 0 {
 23342  		return invalidParams
 23343  	}
 23344  	return nil
 23345  }
 23346  
 23347  // SetInstanceId sets the InstanceId field's value.
 23348  func (s *ListUseCasesInput) SetInstanceId(v string) *ListUseCasesInput {
 23349  	s.InstanceId = &v
 23350  	return s
 23351  }
 23352  
 23353  // SetIntegrationAssociationId sets the IntegrationAssociationId field's value.
 23354  func (s *ListUseCasesInput) SetIntegrationAssociationId(v string) *ListUseCasesInput {
 23355  	s.IntegrationAssociationId = &v
 23356  	return s
 23357  }
 23358  
 23359  // SetMaxResults sets the MaxResults field's value.
 23360  func (s *ListUseCasesInput) SetMaxResults(v int64) *ListUseCasesInput {
 23361  	s.MaxResults = &v
 23362  	return s
 23363  }
 23364  
 23365  // SetNextToken sets the NextToken field's value.
 23366  func (s *ListUseCasesInput) SetNextToken(v string) *ListUseCasesInput {
 23367  	s.NextToken = &v
 23368  	return s
 23369  }
 23370  
 23371  type ListUseCasesOutput struct {
 23372  	_ struct{} `type:"structure"`
 23373  
 23374  	// If there are additional results, this is the token for the next set of results.
 23375  	NextToken *string `type:"string"`
 23376  
 23377  	// The use cases.
 23378  	UseCaseSummaryList []*UseCase `type:"list"`
 23379  }
 23380  
 23381  // String returns the string representation.
 23382  //
 23383  // API parameter values that are decorated as "sensitive" in the API will not
 23384  // be included in the string output. The member name will be present, but the
 23385  // value will be replaced with "sensitive".
 23386  func (s ListUseCasesOutput) String() string {
 23387  	return awsutil.Prettify(s)
 23388  }
 23389  
 23390  // GoString returns the string representation.
 23391  //
 23392  // API parameter values that are decorated as "sensitive" in the API will not
 23393  // be included in the string output. The member name will be present, but the
 23394  // value will be replaced with "sensitive".
 23395  func (s ListUseCasesOutput) GoString() string {
 23396  	return s.String()
 23397  }
 23398  
 23399  // SetNextToken sets the NextToken field's value.
 23400  func (s *ListUseCasesOutput) SetNextToken(v string) *ListUseCasesOutput {
 23401  	s.NextToken = &v
 23402  	return s
 23403  }
 23404  
 23405  // SetUseCaseSummaryList sets the UseCaseSummaryList field's value.
 23406  func (s *ListUseCasesOutput) SetUseCaseSummaryList(v []*UseCase) *ListUseCasesOutput {
 23407  	s.UseCaseSummaryList = v
 23408  	return s
 23409  }
 23410  
 23411  type ListUserHierarchyGroupsInput struct {
 23412  	_ struct{} `type:"structure" nopayload:"true"`
 23413  
 23414  	// The identifier of the Amazon Connect instance. You can find the instanceId
 23415  	// in the ARN of the instance.
 23416  	//
 23417  	// InstanceId is a required field
 23418  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 23419  
 23420  	// The maximum number of results to return per page.
 23421  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 23422  
 23423  	// The token for the next set of results. Use the value returned in the previous
 23424  	// response in the next request to retrieve the next set of results.
 23425  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 23426  }
 23427  
 23428  // String returns the string representation.
 23429  //
 23430  // API parameter values that are decorated as "sensitive" in the API will not
 23431  // be included in the string output. The member name will be present, but the
 23432  // value will be replaced with "sensitive".
 23433  func (s ListUserHierarchyGroupsInput) String() string {
 23434  	return awsutil.Prettify(s)
 23435  }
 23436  
 23437  // GoString returns the string representation.
 23438  //
 23439  // API parameter values that are decorated as "sensitive" in the API will not
 23440  // be included in the string output. The member name will be present, but the
 23441  // value will be replaced with "sensitive".
 23442  func (s ListUserHierarchyGroupsInput) GoString() string {
 23443  	return s.String()
 23444  }
 23445  
 23446  // Validate inspects the fields of the type to determine if they are valid.
 23447  func (s *ListUserHierarchyGroupsInput) Validate() error {
 23448  	invalidParams := request.ErrInvalidParams{Context: "ListUserHierarchyGroupsInput"}
 23449  	if s.InstanceId == nil {
 23450  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 23451  	}
 23452  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 23453  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 23454  	}
 23455  	if s.MaxResults != nil && *s.MaxResults < 1 {
 23456  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 23457  	}
 23458  
 23459  	if invalidParams.Len() > 0 {
 23460  		return invalidParams
 23461  	}
 23462  	return nil
 23463  }
 23464  
 23465  // SetInstanceId sets the InstanceId field's value.
 23466  func (s *ListUserHierarchyGroupsInput) SetInstanceId(v string) *ListUserHierarchyGroupsInput {
 23467  	s.InstanceId = &v
 23468  	return s
 23469  }
 23470  
 23471  // SetMaxResults sets the MaxResults field's value.
 23472  func (s *ListUserHierarchyGroupsInput) SetMaxResults(v int64) *ListUserHierarchyGroupsInput {
 23473  	s.MaxResults = &v
 23474  	return s
 23475  }
 23476  
 23477  // SetNextToken sets the NextToken field's value.
 23478  func (s *ListUserHierarchyGroupsInput) SetNextToken(v string) *ListUserHierarchyGroupsInput {
 23479  	s.NextToken = &v
 23480  	return s
 23481  }
 23482  
 23483  type ListUserHierarchyGroupsOutput struct {
 23484  	_ struct{} `type:"structure"`
 23485  
 23486  	// If there are additional results, this is the token for the next set of results.
 23487  	NextToken *string `type:"string"`
 23488  
 23489  	// Information about the hierarchy groups.
 23490  	UserHierarchyGroupSummaryList []*HierarchyGroupSummary `type:"list"`
 23491  }
 23492  
 23493  // String returns the string representation.
 23494  //
 23495  // API parameter values that are decorated as "sensitive" in the API will not
 23496  // be included in the string output. The member name will be present, but the
 23497  // value will be replaced with "sensitive".
 23498  func (s ListUserHierarchyGroupsOutput) String() string {
 23499  	return awsutil.Prettify(s)
 23500  }
 23501  
 23502  // GoString returns the string representation.
 23503  //
 23504  // API parameter values that are decorated as "sensitive" in the API will not
 23505  // be included in the string output. The member name will be present, but the
 23506  // value will be replaced with "sensitive".
 23507  func (s ListUserHierarchyGroupsOutput) GoString() string {
 23508  	return s.String()
 23509  }
 23510  
 23511  // SetNextToken sets the NextToken field's value.
 23512  func (s *ListUserHierarchyGroupsOutput) SetNextToken(v string) *ListUserHierarchyGroupsOutput {
 23513  	s.NextToken = &v
 23514  	return s
 23515  }
 23516  
 23517  // SetUserHierarchyGroupSummaryList sets the UserHierarchyGroupSummaryList field's value.
 23518  func (s *ListUserHierarchyGroupsOutput) SetUserHierarchyGroupSummaryList(v []*HierarchyGroupSummary) *ListUserHierarchyGroupsOutput {
 23519  	s.UserHierarchyGroupSummaryList = v
 23520  	return s
 23521  }
 23522  
 23523  type ListUsersInput struct {
 23524  	_ struct{} `type:"structure" nopayload:"true"`
 23525  
 23526  	// The identifier of the Amazon Connect instance. You can find the instanceId
 23527  	// in the ARN of the instance.
 23528  	//
 23529  	// InstanceId is a required field
 23530  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 23531  
 23532  	// The maximum number of results to return per page.
 23533  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 23534  
 23535  	// The token for the next set of results. Use the value returned in the previous
 23536  	// response in the next request to retrieve the next set of results.
 23537  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 23538  }
 23539  
 23540  // String returns the string representation.
 23541  //
 23542  // API parameter values that are decorated as "sensitive" in the API will not
 23543  // be included in the string output. The member name will be present, but the
 23544  // value will be replaced with "sensitive".
 23545  func (s ListUsersInput) String() string {
 23546  	return awsutil.Prettify(s)
 23547  }
 23548  
 23549  // GoString returns the string representation.
 23550  //
 23551  // API parameter values that are decorated as "sensitive" in the API will not
 23552  // be included in the string output. The member name will be present, but the
 23553  // value will be replaced with "sensitive".
 23554  func (s ListUsersInput) GoString() string {
 23555  	return s.String()
 23556  }
 23557  
 23558  // Validate inspects the fields of the type to determine if they are valid.
 23559  func (s *ListUsersInput) Validate() error {
 23560  	invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"}
 23561  	if s.InstanceId == nil {
 23562  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 23563  	}
 23564  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 23565  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 23566  	}
 23567  	if s.MaxResults != nil && *s.MaxResults < 1 {
 23568  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 23569  	}
 23570  
 23571  	if invalidParams.Len() > 0 {
 23572  		return invalidParams
 23573  	}
 23574  	return nil
 23575  }
 23576  
 23577  // SetInstanceId sets the InstanceId field's value.
 23578  func (s *ListUsersInput) SetInstanceId(v string) *ListUsersInput {
 23579  	s.InstanceId = &v
 23580  	return s
 23581  }
 23582  
 23583  // SetMaxResults sets the MaxResults field's value.
 23584  func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput {
 23585  	s.MaxResults = &v
 23586  	return s
 23587  }
 23588  
 23589  // SetNextToken sets the NextToken field's value.
 23590  func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput {
 23591  	s.NextToken = &v
 23592  	return s
 23593  }
 23594  
 23595  type ListUsersOutput struct {
 23596  	_ struct{} `type:"structure"`
 23597  
 23598  	// If there are additional results, this is the token for the next set of results.
 23599  	NextToken *string `type:"string"`
 23600  
 23601  	// Information about the users.
 23602  	UserSummaryList []*UserSummary `type:"list"`
 23603  }
 23604  
 23605  // String returns the string representation.
 23606  //
 23607  // API parameter values that are decorated as "sensitive" in the API will not
 23608  // be included in the string output. The member name will be present, but the
 23609  // value will be replaced with "sensitive".
 23610  func (s ListUsersOutput) String() string {
 23611  	return awsutil.Prettify(s)
 23612  }
 23613  
 23614  // GoString returns the string representation.
 23615  //
 23616  // API parameter values that are decorated as "sensitive" in the API will not
 23617  // be included in the string output. The member name will be present, but the
 23618  // value will be replaced with "sensitive".
 23619  func (s ListUsersOutput) GoString() string {
 23620  	return s.String()
 23621  }
 23622  
 23623  // SetNextToken sets the NextToken field's value.
 23624  func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput {
 23625  	s.NextToken = &v
 23626  	return s
 23627  }
 23628  
 23629  // SetUserSummaryList sets the UserSummaryList field's value.
 23630  func (s *ListUsersOutput) SetUserSummaryList(v []*UserSummary) *ListUsersOutput {
 23631  	s.UserSummaryList = v
 23632  	return s
 23633  }
 23634  
 23635  // Contains information about which channels are supported, and how many contacts
 23636  // an agent can have on a channel simultaneously.
 23637  type MediaConcurrency struct {
 23638  	_ struct{} `type:"structure"`
 23639  
 23640  	// The channels that agents can handle in the Contact Control Panel (CCP).
 23641  	//
 23642  	// Channel is a required field
 23643  	Channel *string `type:"string" required:"true" enum:"Channel"`
 23644  
 23645  	// The number of contacts an agent can have on a channel simultaneously.
 23646  	//
 23647  	// Valid Range for VOICE: Minimum value of 1. Maximum value of 1.
 23648  	//
 23649  	// Valid Range for CHAT: Minimum value of 1. Maximum value of 10.
 23650  	//
 23651  	// Valid Range for TASK: Minimum value of 1. Maximum value of 10.
 23652  	//
 23653  	// Concurrency is a required field
 23654  	Concurrency *int64 `min:"1" type:"integer" required:"true"`
 23655  }
 23656  
 23657  // String returns the string representation.
 23658  //
 23659  // API parameter values that are decorated as "sensitive" in the API will not
 23660  // be included in the string output. The member name will be present, but the
 23661  // value will be replaced with "sensitive".
 23662  func (s MediaConcurrency) String() string {
 23663  	return awsutil.Prettify(s)
 23664  }
 23665  
 23666  // GoString returns the string representation.
 23667  //
 23668  // API parameter values that are decorated as "sensitive" in the API will not
 23669  // be included in the string output. The member name will be present, but the
 23670  // value will be replaced with "sensitive".
 23671  func (s MediaConcurrency) GoString() string {
 23672  	return s.String()
 23673  }
 23674  
 23675  // Validate inspects the fields of the type to determine if they are valid.
 23676  func (s *MediaConcurrency) Validate() error {
 23677  	invalidParams := request.ErrInvalidParams{Context: "MediaConcurrency"}
 23678  	if s.Channel == nil {
 23679  		invalidParams.Add(request.NewErrParamRequired("Channel"))
 23680  	}
 23681  	if s.Concurrency == nil {
 23682  		invalidParams.Add(request.NewErrParamRequired("Concurrency"))
 23683  	}
 23684  	if s.Concurrency != nil && *s.Concurrency < 1 {
 23685  		invalidParams.Add(request.NewErrParamMinValue("Concurrency", 1))
 23686  	}
 23687  
 23688  	if invalidParams.Len() > 0 {
 23689  		return invalidParams
 23690  	}
 23691  	return nil
 23692  }
 23693  
 23694  // SetChannel sets the Channel field's value.
 23695  func (s *MediaConcurrency) SetChannel(v string) *MediaConcurrency {
 23696  	s.Channel = &v
 23697  	return s
 23698  }
 23699  
 23700  // SetConcurrency sets the Concurrency field's value.
 23701  func (s *MediaConcurrency) SetConcurrency(v int64) *MediaConcurrency {
 23702  	s.Concurrency = &v
 23703  	return s
 23704  }
 23705  
 23706  // The outbound caller ID name, number, and outbound whisper flow.
 23707  type OutboundCallerConfig struct {
 23708  	_ struct{} `type:"structure"`
 23709  
 23710  	// The caller ID name.
 23711  	OutboundCallerIdName *string `min:"1" type:"string"`
 23712  
 23713  	// The caller ID number.
 23714  	OutboundCallerIdNumberId *string `type:"string"`
 23715  
 23716  	// The outbound whisper flow to be used during an outbound call.
 23717  	OutboundFlowId *string `type:"string"`
 23718  }
 23719  
 23720  // String returns the string representation.
 23721  //
 23722  // API parameter values that are decorated as "sensitive" in the API will not
 23723  // be included in the string output. The member name will be present, but the
 23724  // value will be replaced with "sensitive".
 23725  func (s OutboundCallerConfig) String() string {
 23726  	return awsutil.Prettify(s)
 23727  }
 23728  
 23729  // GoString returns the string representation.
 23730  //
 23731  // API parameter values that are decorated as "sensitive" in the API will not
 23732  // be included in the string output. The member name will be present, but the
 23733  // value will be replaced with "sensitive".
 23734  func (s OutboundCallerConfig) GoString() string {
 23735  	return s.String()
 23736  }
 23737  
 23738  // Validate inspects the fields of the type to determine if they are valid.
 23739  func (s *OutboundCallerConfig) Validate() error {
 23740  	invalidParams := request.ErrInvalidParams{Context: "OutboundCallerConfig"}
 23741  	if s.OutboundCallerIdName != nil && len(*s.OutboundCallerIdName) < 1 {
 23742  		invalidParams.Add(request.NewErrParamMinLen("OutboundCallerIdName", 1))
 23743  	}
 23744  
 23745  	if invalidParams.Len() > 0 {
 23746  		return invalidParams
 23747  	}
 23748  	return nil
 23749  }
 23750  
 23751  // SetOutboundCallerIdName sets the OutboundCallerIdName field's value.
 23752  func (s *OutboundCallerConfig) SetOutboundCallerIdName(v string) *OutboundCallerConfig {
 23753  	s.OutboundCallerIdName = &v
 23754  	return s
 23755  }
 23756  
 23757  // SetOutboundCallerIdNumberId sets the OutboundCallerIdNumberId field's value.
 23758  func (s *OutboundCallerConfig) SetOutboundCallerIdNumberId(v string) *OutboundCallerConfig {
 23759  	s.OutboundCallerIdNumberId = &v
 23760  	return s
 23761  }
 23762  
 23763  // SetOutboundFlowId sets the OutboundFlowId field's value.
 23764  func (s *OutboundCallerConfig) SetOutboundFlowId(v string) *OutboundCallerConfig {
 23765  	s.OutboundFlowId = &v
 23766  	return s
 23767  }
 23768  
 23769  // The contact is not permitted.
 23770  type OutboundContactNotPermittedException struct {
 23771  	_            struct{}                  `type:"structure"`
 23772  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23773  
 23774  	// The message about the contact.
 23775  	Message_ *string `locationName:"Message" type:"string"`
 23776  }
 23777  
 23778  // String returns the string representation.
 23779  //
 23780  // API parameter values that are decorated as "sensitive" in the API will not
 23781  // be included in the string output. The member name will be present, but the
 23782  // value will be replaced with "sensitive".
 23783  func (s OutboundContactNotPermittedException) String() string {
 23784  	return awsutil.Prettify(s)
 23785  }
 23786  
 23787  // GoString returns the string representation.
 23788  //
 23789  // API parameter values that are decorated as "sensitive" in the API will not
 23790  // be included in the string output. The member name will be present, but the
 23791  // value will be replaced with "sensitive".
 23792  func (s OutboundContactNotPermittedException) GoString() string {
 23793  	return s.String()
 23794  }
 23795  
 23796  func newErrorOutboundContactNotPermittedException(v protocol.ResponseMetadata) error {
 23797  	return &OutboundContactNotPermittedException{
 23798  		RespMetadata: v,
 23799  	}
 23800  }
 23801  
 23802  // Code returns the exception type name.
 23803  func (s *OutboundContactNotPermittedException) Code() string {
 23804  	return "OutboundContactNotPermittedException"
 23805  }
 23806  
 23807  // Message returns the exception's message.
 23808  func (s *OutboundContactNotPermittedException) Message() string {
 23809  	if s.Message_ != nil {
 23810  		return *s.Message_
 23811  	}
 23812  	return ""
 23813  }
 23814  
 23815  // OrigErr always returns nil, satisfies awserr.Error interface.
 23816  func (s *OutboundContactNotPermittedException) OrigErr() error {
 23817  	return nil
 23818  }
 23819  
 23820  func (s *OutboundContactNotPermittedException) Error() string {
 23821  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23822  }
 23823  
 23824  // Status code returns the HTTP status code for the request's response error.
 23825  func (s *OutboundContactNotPermittedException) StatusCode() int {
 23826  	return s.RespMetadata.StatusCode
 23827  }
 23828  
 23829  // RequestID returns the service's response RequestID for request.
 23830  func (s *OutboundContactNotPermittedException) RequestID() string {
 23831  	return s.RespMetadata.RequestID
 23832  }
 23833  
 23834  // The customer's details.
 23835  type ParticipantDetails struct {
 23836  	_ struct{} `type:"structure"`
 23837  
 23838  	// Display name of the participant.
 23839  	//
 23840  	// DisplayName is a required field
 23841  	DisplayName *string `min:"1" type:"string" required:"true"`
 23842  }
 23843  
 23844  // String returns the string representation.
 23845  //
 23846  // API parameter values that are decorated as "sensitive" in the API will not
 23847  // be included in the string output. The member name will be present, but the
 23848  // value will be replaced with "sensitive".
 23849  func (s ParticipantDetails) String() string {
 23850  	return awsutil.Prettify(s)
 23851  }
 23852  
 23853  // GoString returns the string representation.
 23854  //
 23855  // API parameter values that are decorated as "sensitive" in the API will not
 23856  // be included in the string output. The member name will be present, but the
 23857  // value will be replaced with "sensitive".
 23858  func (s ParticipantDetails) GoString() string {
 23859  	return s.String()
 23860  }
 23861  
 23862  // Validate inspects the fields of the type to determine if they are valid.
 23863  func (s *ParticipantDetails) Validate() error {
 23864  	invalidParams := request.ErrInvalidParams{Context: "ParticipantDetails"}
 23865  	if s.DisplayName == nil {
 23866  		invalidParams.Add(request.NewErrParamRequired("DisplayName"))
 23867  	}
 23868  	if s.DisplayName != nil && len(*s.DisplayName) < 1 {
 23869  		invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1))
 23870  	}
 23871  
 23872  	if invalidParams.Len() > 0 {
 23873  		return invalidParams
 23874  	}
 23875  	return nil
 23876  }
 23877  
 23878  // SetDisplayName sets the DisplayName field's value.
 23879  func (s *ParticipantDetails) SetDisplayName(v string) *ParticipantDetails {
 23880  	s.DisplayName = &v
 23881  	return s
 23882  }
 23883  
 23884  // Contains information about a phone number for a quick connect.
 23885  type PhoneNumberQuickConnectConfig struct {
 23886  	_ struct{} `type:"structure"`
 23887  
 23888  	// The phone number in E.164 format.
 23889  	//
 23890  	// PhoneNumber is a required field
 23891  	PhoneNumber *string `type:"string" required:"true"`
 23892  }
 23893  
 23894  // String returns the string representation.
 23895  //
 23896  // API parameter values that are decorated as "sensitive" in the API will not
 23897  // be included in the string output. The member name will be present, but the
 23898  // value will be replaced with "sensitive".
 23899  func (s PhoneNumberQuickConnectConfig) String() string {
 23900  	return awsutil.Prettify(s)
 23901  }
 23902  
 23903  // GoString returns the string representation.
 23904  //
 23905  // API parameter values that are decorated as "sensitive" in the API will not
 23906  // be included in the string output. The member name will be present, but the
 23907  // value will be replaced with "sensitive".
 23908  func (s PhoneNumberQuickConnectConfig) GoString() string {
 23909  	return s.String()
 23910  }
 23911  
 23912  // Validate inspects the fields of the type to determine if they are valid.
 23913  func (s *PhoneNumberQuickConnectConfig) Validate() error {
 23914  	invalidParams := request.ErrInvalidParams{Context: "PhoneNumberQuickConnectConfig"}
 23915  	if s.PhoneNumber == nil {
 23916  		invalidParams.Add(request.NewErrParamRequired("PhoneNumber"))
 23917  	}
 23918  
 23919  	if invalidParams.Len() > 0 {
 23920  		return invalidParams
 23921  	}
 23922  	return nil
 23923  }
 23924  
 23925  // SetPhoneNumber sets the PhoneNumber field's value.
 23926  func (s *PhoneNumberQuickConnectConfig) SetPhoneNumber(v string) *PhoneNumberQuickConnectConfig {
 23927  	s.PhoneNumber = &v
 23928  	return s
 23929  }
 23930  
 23931  // Contains summary information about a phone number for a contact center.
 23932  type PhoneNumberSummary struct {
 23933  	_ struct{} `type:"structure"`
 23934  
 23935  	// The Amazon Resource Name (ARN) of the phone number.
 23936  	Arn *string `type:"string"`
 23937  
 23938  	// The identifier of the phone number.
 23939  	Id *string `type:"string"`
 23940  
 23941  	// The phone number.
 23942  	PhoneNumber *string `type:"string"`
 23943  
 23944  	// The ISO country code.
 23945  	PhoneNumberCountryCode *string `type:"string" enum:"PhoneNumberCountryCode"`
 23946  
 23947  	// The type of phone number.
 23948  	PhoneNumberType *string `type:"string" enum:"PhoneNumberType"`
 23949  }
 23950  
 23951  // String returns the string representation.
 23952  //
 23953  // API parameter values that are decorated as "sensitive" in the API will not
 23954  // be included in the string output. The member name will be present, but the
 23955  // value will be replaced with "sensitive".
 23956  func (s PhoneNumberSummary) String() string {
 23957  	return awsutil.Prettify(s)
 23958  }
 23959  
 23960  // GoString returns the string representation.
 23961  //
 23962  // API parameter values that are decorated as "sensitive" in the API will not
 23963  // be included in the string output. The member name will be present, but the
 23964  // value will be replaced with "sensitive".
 23965  func (s PhoneNumberSummary) GoString() string {
 23966  	return s.String()
 23967  }
 23968  
 23969  // SetArn sets the Arn field's value.
 23970  func (s *PhoneNumberSummary) SetArn(v string) *PhoneNumberSummary {
 23971  	s.Arn = &v
 23972  	return s
 23973  }
 23974  
 23975  // SetId sets the Id field's value.
 23976  func (s *PhoneNumberSummary) SetId(v string) *PhoneNumberSummary {
 23977  	s.Id = &v
 23978  	return s
 23979  }
 23980  
 23981  // SetPhoneNumber sets the PhoneNumber field's value.
 23982  func (s *PhoneNumberSummary) SetPhoneNumber(v string) *PhoneNumberSummary {
 23983  	s.PhoneNumber = &v
 23984  	return s
 23985  }
 23986  
 23987  // SetPhoneNumberCountryCode sets the PhoneNumberCountryCode field's value.
 23988  func (s *PhoneNumberSummary) SetPhoneNumberCountryCode(v string) *PhoneNumberSummary {
 23989  	s.PhoneNumberCountryCode = &v
 23990  	return s
 23991  }
 23992  
 23993  // SetPhoneNumberType sets the PhoneNumberType field's value.
 23994  func (s *PhoneNumberSummary) SetPhoneNumberType(v string) *PhoneNumberSummary {
 23995  	s.PhoneNumberType = &v
 23996  	return s
 23997  }
 23998  
 23999  // Information about a problem detail.
 24000  type ProblemDetail struct {
 24001  	_ struct{} `type:"structure"`
 24002  
 24003  	// The problem detail's message.
 24004  	Message *string `locationName:"message" min:"1" type:"string"`
 24005  }
 24006  
 24007  // String returns the string representation.
 24008  //
 24009  // API parameter values that are decorated as "sensitive" in the API will not
 24010  // be included in the string output. The member name will be present, but the
 24011  // value will be replaced with "sensitive".
 24012  func (s ProblemDetail) String() string {
 24013  	return awsutil.Prettify(s)
 24014  }
 24015  
 24016  // GoString returns the string representation.
 24017  //
 24018  // API parameter values that are decorated as "sensitive" in the API will not
 24019  // be included in the string output. The member name will be present, but the
 24020  // value will be replaced with "sensitive".
 24021  func (s ProblemDetail) GoString() string {
 24022  	return s.String()
 24023  }
 24024  
 24025  // SetMessage sets the Message field's value.
 24026  func (s *ProblemDetail) SetMessage(v string) *ProblemDetail {
 24027  	s.Message = &v
 24028  	return s
 24029  }
 24030  
 24031  // Contains information about the prompt.
 24032  type PromptSummary struct {
 24033  	_ struct{} `type:"structure"`
 24034  
 24035  	// The Amazon Resource Name (ARN) of the prompt.
 24036  	Arn *string `type:"string"`
 24037  
 24038  	// The identifier of the prompt.
 24039  	Id *string `min:"1" type:"string"`
 24040  
 24041  	// The name of the prompt.
 24042  	Name *string `min:"1" type:"string"`
 24043  }
 24044  
 24045  // String returns the string representation.
 24046  //
 24047  // API parameter values that are decorated as "sensitive" in the API will not
 24048  // be included in the string output. The member name will be present, but the
 24049  // value will be replaced with "sensitive".
 24050  func (s PromptSummary) String() string {
 24051  	return awsutil.Prettify(s)
 24052  }
 24053  
 24054  // GoString returns the string representation.
 24055  //
 24056  // API parameter values that are decorated as "sensitive" in the API will not
 24057  // be included in the string output. The member name will be present, but the
 24058  // value will be replaced with "sensitive".
 24059  func (s PromptSummary) GoString() string {
 24060  	return s.String()
 24061  }
 24062  
 24063  // SetArn sets the Arn field's value.
 24064  func (s *PromptSummary) SetArn(v string) *PromptSummary {
 24065  	s.Arn = &v
 24066  	return s
 24067  }
 24068  
 24069  // SetId sets the Id field's value.
 24070  func (s *PromptSummary) SetId(v string) *PromptSummary {
 24071  	s.Id = &v
 24072  	return s
 24073  }
 24074  
 24075  // SetName sets the Name field's value.
 24076  func (s *PromptSummary) SetName(v string) *PromptSummary {
 24077  	s.Name = &v
 24078  	return s
 24079  }
 24080  
 24081  // Contains information about a queue.
 24082  type Queue struct {
 24083  	_ struct{} `type:"structure"`
 24084  
 24085  	// The description of the queue.
 24086  	Description *string `min:"1" type:"string"`
 24087  
 24088  	// The identifier for the hours of operation.
 24089  	HoursOfOperationId *string `type:"string"`
 24090  
 24091  	// The maximum number of contacts that can be in the queue before it is considered
 24092  	// full.
 24093  	MaxContacts *int64 `type:"integer"`
 24094  
 24095  	// The name of the queue.
 24096  	Name *string `min:"1" type:"string"`
 24097  
 24098  	// The outbound caller ID name, number, and outbound whisper flow.
 24099  	OutboundCallerConfig *OutboundCallerConfig `type:"structure"`
 24100  
 24101  	// The Amazon Resource Name (ARN) for the queue.
 24102  	QueueArn *string `type:"string"`
 24103  
 24104  	// The identifier for the queue.
 24105  	QueueId *string `type:"string"`
 24106  
 24107  	// The status of the queue.
 24108  	Status *string `type:"string" enum:"QueueStatus"`
 24109  
 24110  	// One or more tags.
 24111  	Tags map[string]*string `min:"1" type:"map"`
 24112  }
 24113  
 24114  // String returns the string representation.
 24115  //
 24116  // API parameter values that are decorated as "sensitive" in the API will not
 24117  // be included in the string output. The member name will be present, but the
 24118  // value will be replaced with "sensitive".
 24119  func (s Queue) String() string {
 24120  	return awsutil.Prettify(s)
 24121  }
 24122  
 24123  // GoString returns the string representation.
 24124  //
 24125  // API parameter values that are decorated as "sensitive" in the API will not
 24126  // be included in the string output. The member name will be present, but the
 24127  // value will be replaced with "sensitive".
 24128  func (s Queue) GoString() string {
 24129  	return s.String()
 24130  }
 24131  
 24132  // SetDescription sets the Description field's value.
 24133  func (s *Queue) SetDescription(v string) *Queue {
 24134  	s.Description = &v
 24135  	return s
 24136  }
 24137  
 24138  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 24139  func (s *Queue) SetHoursOfOperationId(v string) *Queue {
 24140  	s.HoursOfOperationId = &v
 24141  	return s
 24142  }
 24143  
 24144  // SetMaxContacts sets the MaxContacts field's value.
 24145  func (s *Queue) SetMaxContacts(v int64) *Queue {
 24146  	s.MaxContacts = &v
 24147  	return s
 24148  }
 24149  
 24150  // SetName sets the Name field's value.
 24151  func (s *Queue) SetName(v string) *Queue {
 24152  	s.Name = &v
 24153  	return s
 24154  }
 24155  
 24156  // SetOutboundCallerConfig sets the OutboundCallerConfig field's value.
 24157  func (s *Queue) SetOutboundCallerConfig(v *OutboundCallerConfig) *Queue {
 24158  	s.OutboundCallerConfig = v
 24159  	return s
 24160  }
 24161  
 24162  // SetQueueArn sets the QueueArn field's value.
 24163  func (s *Queue) SetQueueArn(v string) *Queue {
 24164  	s.QueueArn = &v
 24165  	return s
 24166  }
 24167  
 24168  // SetQueueId sets the QueueId field's value.
 24169  func (s *Queue) SetQueueId(v string) *Queue {
 24170  	s.QueueId = &v
 24171  	return s
 24172  }
 24173  
 24174  // SetStatus sets the Status field's value.
 24175  func (s *Queue) SetStatus(v string) *Queue {
 24176  	s.Status = &v
 24177  	return s
 24178  }
 24179  
 24180  // SetTags sets the Tags field's value.
 24181  func (s *Queue) SetTags(v map[string]*string) *Queue {
 24182  	s.Tags = v
 24183  	return s
 24184  }
 24185  
 24186  // Contains information about a queue for a quick connect. The contact flow
 24187  // must be of type Transfer to Queue.
 24188  type QueueQuickConnectConfig struct {
 24189  	_ struct{} `type:"structure"`
 24190  
 24191  	// The identifier of the contact flow.
 24192  	//
 24193  	// ContactFlowId is a required field
 24194  	ContactFlowId *string `type:"string" required:"true"`
 24195  
 24196  	// The identifier for the queue.
 24197  	//
 24198  	// QueueId is a required field
 24199  	QueueId *string `type:"string" required:"true"`
 24200  }
 24201  
 24202  // String returns the string representation.
 24203  //
 24204  // API parameter values that are decorated as "sensitive" in the API will not
 24205  // be included in the string output. The member name will be present, but the
 24206  // value will be replaced with "sensitive".
 24207  func (s QueueQuickConnectConfig) String() string {
 24208  	return awsutil.Prettify(s)
 24209  }
 24210  
 24211  // GoString returns the string representation.
 24212  //
 24213  // API parameter values that are decorated as "sensitive" in the API will not
 24214  // be included in the string output. The member name will be present, but the
 24215  // value will be replaced with "sensitive".
 24216  func (s QueueQuickConnectConfig) GoString() string {
 24217  	return s.String()
 24218  }
 24219  
 24220  // Validate inspects the fields of the type to determine if they are valid.
 24221  func (s *QueueQuickConnectConfig) Validate() error {
 24222  	invalidParams := request.ErrInvalidParams{Context: "QueueQuickConnectConfig"}
 24223  	if s.ContactFlowId == nil {
 24224  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 24225  	}
 24226  	if s.QueueId == nil {
 24227  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 24228  	}
 24229  
 24230  	if invalidParams.Len() > 0 {
 24231  		return invalidParams
 24232  	}
 24233  	return nil
 24234  }
 24235  
 24236  // SetContactFlowId sets the ContactFlowId field's value.
 24237  func (s *QueueQuickConnectConfig) SetContactFlowId(v string) *QueueQuickConnectConfig {
 24238  	s.ContactFlowId = &v
 24239  	return s
 24240  }
 24241  
 24242  // SetQueueId sets the QueueId field's value.
 24243  func (s *QueueQuickConnectConfig) SetQueueId(v string) *QueueQuickConnectConfig {
 24244  	s.QueueId = &v
 24245  	return s
 24246  }
 24247  
 24248  // Contains information about a queue resource for which metrics are returned.
 24249  type QueueReference struct {
 24250  	_ struct{} `type:"structure"`
 24251  
 24252  	// The Amazon Resource Name (ARN) of the queue.
 24253  	Arn *string `type:"string"`
 24254  
 24255  	// The identifier of the queue.
 24256  	Id *string `type:"string"`
 24257  }
 24258  
 24259  // String returns the string representation.
 24260  //
 24261  // API parameter values that are decorated as "sensitive" in the API will not
 24262  // be included in the string output. The member name will be present, but the
 24263  // value will be replaced with "sensitive".
 24264  func (s QueueReference) String() string {
 24265  	return awsutil.Prettify(s)
 24266  }
 24267  
 24268  // GoString returns the string representation.
 24269  //
 24270  // API parameter values that are decorated as "sensitive" in the API will not
 24271  // be included in the string output. The member name will be present, but the
 24272  // value will be replaced with "sensitive".
 24273  func (s QueueReference) GoString() string {
 24274  	return s.String()
 24275  }
 24276  
 24277  // SetArn sets the Arn field's value.
 24278  func (s *QueueReference) SetArn(v string) *QueueReference {
 24279  	s.Arn = &v
 24280  	return s
 24281  }
 24282  
 24283  // SetId sets the Id field's value.
 24284  func (s *QueueReference) SetId(v string) *QueueReference {
 24285  	s.Id = &v
 24286  	return s
 24287  }
 24288  
 24289  // Contains summary information about a queue.
 24290  type QueueSummary struct {
 24291  	_ struct{} `type:"structure"`
 24292  
 24293  	// The Amazon Resource Name (ARN) of the queue.
 24294  	Arn *string `type:"string"`
 24295  
 24296  	// The identifier of the queue.
 24297  	Id *string `type:"string"`
 24298  
 24299  	// The name of the queue.
 24300  	Name *string `min:"1" type:"string"`
 24301  
 24302  	// The type of queue.
 24303  	QueueType *string `type:"string" enum:"QueueType"`
 24304  }
 24305  
 24306  // String returns the string representation.
 24307  //
 24308  // API parameter values that are decorated as "sensitive" in the API will not
 24309  // be included in the string output. The member name will be present, but the
 24310  // value will be replaced with "sensitive".
 24311  func (s QueueSummary) String() string {
 24312  	return awsutil.Prettify(s)
 24313  }
 24314  
 24315  // GoString returns the string representation.
 24316  //
 24317  // API parameter values that are decorated as "sensitive" in the API will not
 24318  // be included in the string output. The member name will be present, but the
 24319  // value will be replaced with "sensitive".
 24320  func (s QueueSummary) GoString() string {
 24321  	return s.String()
 24322  }
 24323  
 24324  // SetArn sets the Arn field's value.
 24325  func (s *QueueSummary) SetArn(v string) *QueueSummary {
 24326  	s.Arn = &v
 24327  	return s
 24328  }
 24329  
 24330  // SetId sets the Id field's value.
 24331  func (s *QueueSummary) SetId(v string) *QueueSummary {
 24332  	s.Id = &v
 24333  	return s
 24334  }
 24335  
 24336  // SetName sets the Name field's value.
 24337  func (s *QueueSummary) SetName(v string) *QueueSummary {
 24338  	s.Name = &v
 24339  	return s
 24340  }
 24341  
 24342  // SetQueueType sets the QueueType field's value.
 24343  func (s *QueueSummary) SetQueueType(v string) *QueueSummary {
 24344  	s.QueueType = &v
 24345  	return s
 24346  }
 24347  
 24348  // Contains information about a quick connect.
 24349  type QuickConnect struct {
 24350  	_ struct{} `type:"structure"`
 24351  
 24352  	// The description.
 24353  	Description *string `min:"1" type:"string"`
 24354  
 24355  	// The name of the quick connect.
 24356  	Name *string `min:"1" type:"string"`
 24357  
 24358  	// The Amazon Resource Name (ARN) of the quick connect.
 24359  	QuickConnectARN *string `type:"string"`
 24360  
 24361  	// Contains information about the quick connect.
 24362  	QuickConnectConfig *QuickConnectConfig `type:"structure"`
 24363  
 24364  	// The identifier for the quick connect.
 24365  	QuickConnectId *string `type:"string"`
 24366  
 24367  	// One or more tags.
 24368  	Tags map[string]*string `min:"1" type:"map"`
 24369  }
 24370  
 24371  // String returns the string representation.
 24372  //
 24373  // API parameter values that are decorated as "sensitive" in the API will not
 24374  // be included in the string output. The member name will be present, but the
 24375  // value will be replaced with "sensitive".
 24376  func (s QuickConnect) String() string {
 24377  	return awsutil.Prettify(s)
 24378  }
 24379  
 24380  // GoString returns the string representation.
 24381  //
 24382  // API parameter values that are decorated as "sensitive" in the API will not
 24383  // be included in the string output. The member name will be present, but the
 24384  // value will be replaced with "sensitive".
 24385  func (s QuickConnect) GoString() string {
 24386  	return s.String()
 24387  }
 24388  
 24389  // SetDescription sets the Description field's value.
 24390  func (s *QuickConnect) SetDescription(v string) *QuickConnect {
 24391  	s.Description = &v
 24392  	return s
 24393  }
 24394  
 24395  // SetName sets the Name field's value.
 24396  func (s *QuickConnect) SetName(v string) *QuickConnect {
 24397  	s.Name = &v
 24398  	return s
 24399  }
 24400  
 24401  // SetQuickConnectARN sets the QuickConnectARN field's value.
 24402  func (s *QuickConnect) SetQuickConnectARN(v string) *QuickConnect {
 24403  	s.QuickConnectARN = &v
 24404  	return s
 24405  }
 24406  
 24407  // SetQuickConnectConfig sets the QuickConnectConfig field's value.
 24408  func (s *QuickConnect) SetQuickConnectConfig(v *QuickConnectConfig) *QuickConnect {
 24409  	s.QuickConnectConfig = v
 24410  	return s
 24411  }
 24412  
 24413  // SetQuickConnectId sets the QuickConnectId field's value.
 24414  func (s *QuickConnect) SetQuickConnectId(v string) *QuickConnect {
 24415  	s.QuickConnectId = &v
 24416  	return s
 24417  }
 24418  
 24419  // SetTags sets the Tags field's value.
 24420  func (s *QuickConnect) SetTags(v map[string]*string) *QuickConnect {
 24421  	s.Tags = v
 24422  	return s
 24423  }
 24424  
 24425  // Contains configuration settings for a quick connect.
 24426  type QuickConnectConfig struct {
 24427  	_ struct{} `type:"structure"`
 24428  
 24429  	// The phone configuration. This is required only if QuickConnectType is PHONE_NUMBER.
 24430  	PhoneConfig *PhoneNumberQuickConnectConfig `type:"structure"`
 24431  
 24432  	// The queue configuration. This is required only if QuickConnectType is QUEUE.
 24433  	QueueConfig *QueueQuickConnectConfig `type:"structure"`
 24434  
 24435  	// The type of quick connect. In the Amazon Connect console, when you create
 24436  	// a quick connect, you are prompted to assign one of the following types: Agent
 24437  	// (USER), External (PHONE_NUMBER), or Queue (QUEUE).
 24438  	//
 24439  	// QuickConnectType is a required field
 24440  	QuickConnectType *string `type:"string" required:"true" enum:"QuickConnectType"`
 24441  
 24442  	// The user configuration. This is required only if QuickConnectType is USER.
 24443  	UserConfig *UserQuickConnectConfig `type:"structure"`
 24444  }
 24445  
 24446  // String returns the string representation.
 24447  //
 24448  // API parameter values that are decorated as "sensitive" in the API will not
 24449  // be included in the string output. The member name will be present, but the
 24450  // value will be replaced with "sensitive".
 24451  func (s QuickConnectConfig) String() string {
 24452  	return awsutil.Prettify(s)
 24453  }
 24454  
 24455  // GoString returns the string representation.
 24456  //
 24457  // API parameter values that are decorated as "sensitive" in the API will not
 24458  // be included in the string output. The member name will be present, but the
 24459  // value will be replaced with "sensitive".
 24460  func (s QuickConnectConfig) GoString() string {
 24461  	return s.String()
 24462  }
 24463  
 24464  // Validate inspects the fields of the type to determine if they are valid.
 24465  func (s *QuickConnectConfig) Validate() error {
 24466  	invalidParams := request.ErrInvalidParams{Context: "QuickConnectConfig"}
 24467  	if s.QuickConnectType == nil {
 24468  		invalidParams.Add(request.NewErrParamRequired("QuickConnectType"))
 24469  	}
 24470  	if s.PhoneConfig != nil {
 24471  		if err := s.PhoneConfig.Validate(); err != nil {
 24472  			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
 24473  		}
 24474  	}
 24475  	if s.QueueConfig != nil {
 24476  		if err := s.QueueConfig.Validate(); err != nil {
 24477  			invalidParams.AddNested("QueueConfig", err.(request.ErrInvalidParams))
 24478  		}
 24479  	}
 24480  	if s.UserConfig != nil {
 24481  		if err := s.UserConfig.Validate(); err != nil {
 24482  			invalidParams.AddNested("UserConfig", err.(request.ErrInvalidParams))
 24483  		}
 24484  	}
 24485  
 24486  	if invalidParams.Len() > 0 {
 24487  		return invalidParams
 24488  	}
 24489  	return nil
 24490  }
 24491  
 24492  // SetPhoneConfig sets the PhoneConfig field's value.
 24493  func (s *QuickConnectConfig) SetPhoneConfig(v *PhoneNumberQuickConnectConfig) *QuickConnectConfig {
 24494  	s.PhoneConfig = v
 24495  	return s
 24496  }
 24497  
 24498  // SetQueueConfig sets the QueueConfig field's value.
 24499  func (s *QuickConnectConfig) SetQueueConfig(v *QueueQuickConnectConfig) *QuickConnectConfig {
 24500  	s.QueueConfig = v
 24501  	return s
 24502  }
 24503  
 24504  // SetQuickConnectType sets the QuickConnectType field's value.
 24505  func (s *QuickConnectConfig) SetQuickConnectType(v string) *QuickConnectConfig {
 24506  	s.QuickConnectType = &v
 24507  	return s
 24508  }
 24509  
 24510  // SetUserConfig sets the UserConfig field's value.
 24511  func (s *QuickConnectConfig) SetUserConfig(v *UserQuickConnectConfig) *QuickConnectConfig {
 24512  	s.UserConfig = v
 24513  	return s
 24514  }
 24515  
 24516  // Contains summary information about a quick connect.
 24517  type QuickConnectSummary struct {
 24518  	_ struct{} `type:"structure"`
 24519  
 24520  	// The Amazon Resource Name (ARN) of the quick connect.
 24521  	Arn *string `type:"string"`
 24522  
 24523  	// The identifier for the quick connect.
 24524  	Id *string `type:"string"`
 24525  
 24526  	// The name of the quick connect.
 24527  	Name *string `min:"1" type:"string"`
 24528  
 24529  	// The type of quick connect. In the Amazon Connect console, when you create
 24530  	// a quick connect, you are prompted to assign one of the following types: Agent
 24531  	// (USER), External (PHONE_NUMBER), or Queue (QUEUE).
 24532  	QuickConnectType *string `type:"string" enum:"QuickConnectType"`
 24533  }
 24534  
 24535  // String returns the string representation.
 24536  //
 24537  // API parameter values that are decorated as "sensitive" in the API will not
 24538  // be included in the string output. The member name will be present, but the
 24539  // value will be replaced with "sensitive".
 24540  func (s QuickConnectSummary) String() string {
 24541  	return awsutil.Prettify(s)
 24542  }
 24543  
 24544  // GoString returns the string representation.
 24545  //
 24546  // API parameter values that are decorated as "sensitive" in the API will not
 24547  // be included in the string output. The member name will be present, but the
 24548  // value will be replaced with "sensitive".
 24549  func (s QuickConnectSummary) GoString() string {
 24550  	return s.String()
 24551  }
 24552  
 24553  // SetArn sets the Arn field's value.
 24554  func (s *QuickConnectSummary) SetArn(v string) *QuickConnectSummary {
 24555  	s.Arn = &v
 24556  	return s
 24557  }
 24558  
 24559  // SetId sets the Id field's value.
 24560  func (s *QuickConnectSummary) SetId(v string) *QuickConnectSummary {
 24561  	s.Id = &v
 24562  	return s
 24563  }
 24564  
 24565  // SetName sets the Name field's value.
 24566  func (s *QuickConnectSummary) SetName(v string) *QuickConnectSummary {
 24567  	s.Name = &v
 24568  	return s
 24569  }
 24570  
 24571  // SetQuickConnectType sets the QuickConnectType field's value.
 24572  func (s *QuickConnectSummary) SetQuickConnectType(v string) *QuickConnectSummary {
 24573  	s.QuickConnectType = &v
 24574  	return s
 24575  }
 24576  
 24577  // A link that an agent selects to complete a given task. You can have up to
 24578  // 4,096 UTF-8 bytes across all references for a contact.
 24579  type Reference struct {
 24580  	_ struct{} `type:"structure"`
 24581  
 24582  	// A valid URL.
 24583  	//
 24584  	// Type is a required field
 24585  	Type *string `type:"string" required:"true" enum:"ReferenceType"`
 24586  
 24587  	// A formatted URL that displays to an agent in the Contact Control Panel (CCP)
 24588  	//
 24589  	// Value is a required field
 24590  	Value *string `type:"string" required:"true"`
 24591  }
 24592  
 24593  // String returns the string representation.
 24594  //
 24595  // API parameter values that are decorated as "sensitive" in the API will not
 24596  // be included in the string output. The member name will be present, but the
 24597  // value will be replaced with "sensitive".
 24598  func (s Reference) String() string {
 24599  	return awsutil.Prettify(s)
 24600  }
 24601  
 24602  // GoString returns the string representation.
 24603  //
 24604  // API parameter values that are decorated as "sensitive" in the API will not
 24605  // be included in the string output. The member name will be present, but the
 24606  // value will be replaced with "sensitive".
 24607  func (s Reference) GoString() string {
 24608  	return s.String()
 24609  }
 24610  
 24611  // Validate inspects the fields of the type to determine if they are valid.
 24612  func (s *Reference) Validate() error {
 24613  	invalidParams := request.ErrInvalidParams{Context: "Reference"}
 24614  	if s.Type == nil {
 24615  		invalidParams.Add(request.NewErrParamRequired("Type"))
 24616  	}
 24617  	if s.Value == nil {
 24618  		invalidParams.Add(request.NewErrParamRequired("Value"))
 24619  	}
 24620  
 24621  	if invalidParams.Len() > 0 {
 24622  		return invalidParams
 24623  	}
 24624  	return nil
 24625  }
 24626  
 24627  // SetType sets the Type field's value.
 24628  func (s *Reference) SetType(v string) *Reference {
 24629  	s.Type = &v
 24630  	return s
 24631  }
 24632  
 24633  // SetValue sets the Value field's value.
 24634  func (s *Reference) SetValue(v string) *Reference {
 24635  	s.Value = &v
 24636  	return s
 24637  }
 24638  
 24639  // A resource already has that name.
 24640  type ResourceConflictException struct {
 24641  	_            struct{}                  `type:"structure"`
 24642  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24643  
 24644  	Message_ *string `locationName:"Message" type:"string"`
 24645  }
 24646  
 24647  // String returns the string representation.
 24648  //
 24649  // API parameter values that are decorated as "sensitive" in the API will not
 24650  // be included in the string output. The member name will be present, but the
 24651  // value will be replaced with "sensitive".
 24652  func (s ResourceConflictException) String() string {
 24653  	return awsutil.Prettify(s)
 24654  }
 24655  
 24656  // GoString returns the string representation.
 24657  //
 24658  // API parameter values that are decorated as "sensitive" in the API will not
 24659  // be included in the string output. The member name will be present, but the
 24660  // value will be replaced with "sensitive".
 24661  func (s ResourceConflictException) GoString() string {
 24662  	return s.String()
 24663  }
 24664  
 24665  func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
 24666  	return &ResourceConflictException{
 24667  		RespMetadata: v,
 24668  	}
 24669  }
 24670  
 24671  // Code returns the exception type name.
 24672  func (s *ResourceConflictException) Code() string {
 24673  	return "ResourceConflictException"
 24674  }
 24675  
 24676  // Message returns the exception's message.
 24677  func (s *ResourceConflictException) Message() string {
 24678  	if s.Message_ != nil {
 24679  		return *s.Message_
 24680  	}
 24681  	return ""
 24682  }
 24683  
 24684  // OrigErr always returns nil, satisfies awserr.Error interface.
 24685  func (s *ResourceConflictException) OrigErr() error {
 24686  	return nil
 24687  }
 24688  
 24689  func (s *ResourceConflictException) Error() string {
 24690  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 24691  }
 24692  
 24693  // Status code returns the HTTP status code for the request's response error.
 24694  func (s *ResourceConflictException) StatusCode() int {
 24695  	return s.RespMetadata.StatusCode
 24696  }
 24697  
 24698  // RequestID returns the service's response RequestID for request.
 24699  func (s *ResourceConflictException) RequestID() string {
 24700  	return s.RespMetadata.RequestID
 24701  }
 24702  
 24703  // That resource is already in use. Please try another.
 24704  type ResourceInUseException struct {
 24705  	_            struct{}                  `type:"structure"`
 24706  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24707  
 24708  	Message_ *string `locationName:"Message" type:"string"`
 24709  
 24710  	// The identifier for the resource.
 24711  	ResourceId *string `type:"string"`
 24712  
 24713  	// The type of resource.
 24714  	ResourceType *string `type:"string" enum:"ResourceType"`
 24715  }
 24716  
 24717  // String returns the string representation.
 24718  //
 24719  // API parameter values that are decorated as "sensitive" in the API will not
 24720  // be included in the string output. The member name will be present, but the
 24721  // value will be replaced with "sensitive".
 24722  func (s ResourceInUseException) String() string {
 24723  	return awsutil.Prettify(s)
 24724  }
 24725  
 24726  // GoString returns the string representation.
 24727  //
 24728  // API parameter values that are decorated as "sensitive" in the API will not
 24729  // be included in the string output. The member name will be present, but the
 24730  // value will be replaced with "sensitive".
 24731  func (s ResourceInUseException) GoString() string {
 24732  	return s.String()
 24733  }
 24734  
 24735  func newErrorResourceInUseException(v protocol.ResponseMetadata) error {
 24736  	return &ResourceInUseException{
 24737  		RespMetadata: v,
 24738  	}
 24739  }
 24740  
 24741  // Code returns the exception type name.
 24742  func (s *ResourceInUseException) Code() string {
 24743  	return "ResourceInUseException"
 24744  }
 24745  
 24746  // Message returns the exception's message.
 24747  func (s *ResourceInUseException) Message() string {
 24748  	if s.Message_ != nil {
 24749  		return *s.Message_
 24750  	}
 24751  	return ""
 24752  }
 24753  
 24754  // OrigErr always returns nil, satisfies awserr.Error interface.
 24755  func (s *ResourceInUseException) OrigErr() error {
 24756  	return nil
 24757  }
 24758  
 24759  func (s *ResourceInUseException) Error() string {
 24760  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 24761  }
 24762  
 24763  // Status code returns the HTTP status code for the request's response error.
 24764  func (s *ResourceInUseException) StatusCode() int {
 24765  	return s.RespMetadata.StatusCode
 24766  }
 24767  
 24768  // RequestID returns the service's response RequestID for request.
 24769  func (s *ResourceInUseException) RequestID() string {
 24770  	return s.RespMetadata.RequestID
 24771  }
 24772  
 24773  // The specified resource was not found.
 24774  type ResourceNotFoundException struct {
 24775  	_            struct{}                  `type:"structure"`
 24776  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 24777  
 24778  	// The message about the resource.
 24779  	Message_ *string `locationName:"Message" type:"string"`
 24780  }
 24781  
 24782  // String returns the string representation.
 24783  //
 24784  // API parameter values that are decorated as "sensitive" in the API will not
 24785  // be included in the string output. The member name will be present, but the
 24786  // value will be replaced with "sensitive".
 24787  func (s ResourceNotFoundException) String() string {
 24788  	return awsutil.Prettify(s)
 24789  }
 24790  
 24791  // GoString returns the string representation.
 24792  //
 24793  // API parameter values that are decorated as "sensitive" in the API will not
 24794  // be included in the string output. The member name will be present, but the
 24795  // value will be replaced with "sensitive".
 24796  func (s ResourceNotFoundException) GoString() string {
 24797  	return s.String()
 24798  }
 24799  
 24800  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 24801  	return &ResourceNotFoundException{
 24802  		RespMetadata: v,
 24803  	}
 24804  }
 24805  
 24806  // Code returns the exception type name.
 24807  func (s *ResourceNotFoundException) Code() string {
 24808  	return "ResourceNotFoundException"
 24809  }
 24810  
 24811  // Message returns the exception's message.
 24812  func (s *ResourceNotFoundException) Message() string {
 24813  	if s.Message_ != nil {
 24814  		return *s.Message_
 24815  	}
 24816  	return ""
 24817  }
 24818  
 24819  // OrigErr always returns nil, satisfies awserr.Error interface.
 24820  func (s *ResourceNotFoundException) OrigErr() error {
 24821  	return nil
 24822  }
 24823  
 24824  func (s *ResourceNotFoundException) Error() string {
 24825  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 24826  }
 24827  
 24828  // Status code returns the HTTP status code for the request's response error.
 24829  func (s *ResourceNotFoundException) StatusCode() int {
 24830  	return s.RespMetadata.StatusCode
 24831  }
 24832  
 24833  // RequestID returns the service's response RequestID for request.
 24834  func (s *ResourceNotFoundException) RequestID() string {
 24835  	return s.RespMetadata.RequestID
 24836  }
 24837  
 24838  type ResumeContactRecordingInput struct {
 24839  	_ struct{} `type:"structure"`
 24840  
 24841  	// The identifier of the contact.
 24842  	//
 24843  	// ContactId is a required field
 24844  	ContactId *string `min:"1" type:"string" required:"true"`
 24845  
 24846  	// The identifier of the contact. This is the identifier of the contact associated
 24847  	// with the first interaction with the contact center.
 24848  	//
 24849  	// InitialContactId is a required field
 24850  	InitialContactId *string `min:"1" type:"string" required:"true"`
 24851  
 24852  	// The identifier of the Amazon Connect instance. You can find the instanceId
 24853  	// in the ARN of the instance.
 24854  	//
 24855  	// InstanceId is a required field
 24856  	InstanceId *string `min:"1" type:"string" required:"true"`
 24857  }
 24858  
 24859  // String returns the string representation.
 24860  //
 24861  // API parameter values that are decorated as "sensitive" in the API will not
 24862  // be included in the string output. The member name will be present, but the
 24863  // value will be replaced with "sensitive".
 24864  func (s ResumeContactRecordingInput) String() string {
 24865  	return awsutil.Prettify(s)
 24866  }
 24867  
 24868  // GoString returns the string representation.
 24869  //
 24870  // API parameter values that are decorated as "sensitive" in the API will not
 24871  // be included in the string output. The member name will be present, but the
 24872  // value will be replaced with "sensitive".
 24873  func (s ResumeContactRecordingInput) GoString() string {
 24874  	return s.String()
 24875  }
 24876  
 24877  // Validate inspects the fields of the type to determine if they are valid.
 24878  func (s *ResumeContactRecordingInput) Validate() error {
 24879  	invalidParams := request.ErrInvalidParams{Context: "ResumeContactRecordingInput"}
 24880  	if s.ContactId == nil {
 24881  		invalidParams.Add(request.NewErrParamRequired("ContactId"))
 24882  	}
 24883  	if s.ContactId != nil && len(*s.ContactId) < 1 {
 24884  		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
 24885  	}
 24886  	if s.InitialContactId == nil {
 24887  		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
 24888  	}
 24889  	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
 24890  		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
 24891  	}
 24892  	if s.InstanceId == nil {
 24893  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 24894  	}
 24895  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 24896  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 24897  	}
 24898  
 24899  	if invalidParams.Len() > 0 {
 24900  		return invalidParams
 24901  	}
 24902  	return nil
 24903  }
 24904  
 24905  // SetContactId sets the ContactId field's value.
 24906  func (s *ResumeContactRecordingInput) SetContactId(v string) *ResumeContactRecordingInput {
 24907  	s.ContactId = &v
 24908  	return s
 24909  }
 24910  
 24911  // SetInitialContactId sets the InitialContactId field's value.
 24912  func (s *ResumeContactRecordingInput) SetInitialContactId(v string) *ResumeContactRecordingInput {
 24913  	s.InitialContactId = &v
 24914  	return s
 24915  }
 24916  
 24917  // SetInstanceId sets the InstanceId field's value.
 24918  func (s *ResumeContactRecordingInput) SetInstanceId(v string) *ResumeContactRecordingInput {
 24919  	s.InstanceId = &v
 24920  	return s
 24921  }
 24922  
 24923  type ResumeContactRecordingOutput struct {
 24924  	_ struct{} `type:"structure" nopayload:"true"`
 24925  }
 24926  
 24927  // String returns the string representation.
 24928  //
 24929  // API parameter values that are decorated as "sensitive" in the API will not
 24930  // be included in the string output. The member name will be present, but the
 24931  // value will be replaced with "sensitive".
 24932  func (s ResumeContactRecordingOutput) String() string {
 24933  	return awsutil.Prettify(s)
 24934  }
 24935  
 24936  // GoString returns the string representation.
 24937  //
 24938  // API parameter values that are decorated as "sensitive" in the API will not
 24939  // be included in the string output. The member name will be present, but the
 24940  // value will be replaced with "sensitive".
 24941  func (s ResumeContactRecordingOutput) GoString() string {
 24942  	return s.String()
 24943  }
 24944  
 24945  // Contains information about a routing profile.
 24946  type RoutingProfile struct {
 24947  	_ struct{} `type:"structure"`
 24948  
 24949  	// The identifier of the default outbound queue for this routing profile.
 24950  	DefaultOutboundQueueId *string `type:"string"`
 24951  
 24952  	// The description of the routing profile.
 24953  	Description *string `min:"1" type:"string"`
 24954  
 24955  	// The identifier of the Amazon Connect instance. You can find the instanceId
 24956  	// in the ARN of the instance.
 24957  	InstanceId *string `min:"1" type:"string"`
 24958  
 24959  	// The channels agents can handle in the Contact Control Panel (CCP) for this
 24960  	// routing profile.
 24961  	MediaConcurrencies []*MediaConcurrency `type:"list"`
 24962  
 24963  	// The name of the routing profile.
 24964  	Name *string `min:"1" type:"string"`
 24965  
 24966  	// The Amazon Resource Name (ARN) of the routing profile.
 24967  	RoutingProfileArn *string `type:"string"`
 24968  
 24969  	// The identifier of the routing profile.
 24970  	RoutingProfileId *string `type:"string"`
 24971  
 24972  	// One or more tags.
 24973  	Tags map[string]*string `min:"1" type:"map"`
 24974  }
 24975  
 24976  // String returns the string representation.
 24977  //
 24978  // API parameter values that are decorated as "sensitive" in the API will not
 24979  // be included in the string output. The member name will be present, but the
 24980  // value will be replaced with "sensitive".
 24981  func (s RoutingProfile) String() string {
 24982  	return awsutil.Prettify(s)
 24983  }
 24984  
 24985  // GoString returns the string representation.
 24986  //
 24987  // API parameter values that are decorated as "sensitive" in the API will not
 24988  // be included in the string output. The member name will be present, but the
 24989  // value will be replaced with "sensitive".
 24990  func (s RoutingProfile) GoString() string {
 24991  	return s.String()
 24992  }
 24993  
 24994  // SetDefaultOutboundQueueId sets the DefaultOutboundQueueId field's value.
 24995  func (s *RoutingProfile) SetDefaultOutboundQueueId(v string) *RoutingProfile {
 24996  	s.DefaultOutboundQueueId = &v
 24997  	return s
 24998  }
 24999  
 25000  // SetDescription sets the Description field's value.
 25001  func (s *RoutingProfile) SetDescription(v string) *RoutingProfile {
 25002  	s.Description = &v
 25003  	return s
 25004  }
 25005  
 25006  // SetInstanceId sets the InstanceId field's value.
 25007  func (s *RoutingProfile) SetInstanceId(v string) *RoutingProfile {
 25008  	s.InstanceId = &v
 25009  	return s
 25010  }
 25011  
 25012  // SetMediaConcurrencies sets the MediaConcurrencies field's value.
 25013  func (s *RoutingProfile) SetMediaConcurrencies(v []*MediaConcurrency) *RoutingProfile {
 25014  	s.MediaConcurrencies = v
 25015  	return s
 25016  }
 25017  
 25018  // SetName sets the Name field's value.
 25019  func (s *RoutingProfile) SetName(v string) *RoutingProfile {
 25020  	s.Name = &v
 25021  	return s
 25022  }
 25023  
 25024  // SetRoutingProfileArn sets the RoutingProfileArn field's value.
 25025  func (s *RoutingProfile) SetRoutingProfileArn(v string) *RoutingProfile {
 25026  	s.RoutingProfileArn = &v
 25027  	return s
 25028  }
 25029  
 25030  // SetRoutingProfileId sets the RoutingProfileId field's value.
 25031  func (s *RoutingProfile) SetRoutingProfileId(v string) *RoutingProfile {
 25032  	s.RoutingProfileId = &v
 25033  	return s
 25034  }
 25035  
 25036  // SetTags sets the Tags field's value.
 25037  func (s *RoutingProfile) SetTags(v map[string]*string) *RoutingProfile {
 25038  	s.Tags = v
 25039  	return s
 25040  }
 25041  
 25042  // Contains information about the queue and channel for which priority and delay
 25043  // can be set.
 25044  type RoutingProfileQueueConfig struct {
 25045  	_ struct{} `type:"structure"`
 25046  
 25047  	// The delay, in seconds, a contact should be in the queue before they are routed
 25048  	// to an available agent. For more information, see Queues: priority and delay
 25049  	// (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html)
 25050  	// in the Amazon Connect Administrator Guide.
 25051  	//
 25052  	// Delay is a required field
 25053  	Delay *int64 `type:"integer" required:"true"`
 25054  
 25055  	// The order in which contacts are to be handled for the queue. For more information,
 25056  	// see Queues: priority and delay (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html).
 25057  	//
 25058  	// Priority is a required field
 25059  	Priority *int64 `min:"1" type:"integer" required:"true"`
 25060  
 25061  	// Contains information about a queue resource.
 25062  	//
 25063  	// QueueReference is a required field
 25064  	QueueReference *RoutingProfileQueueReference `type:"structure" required:"true"`
 25065  }
 25066  
 25067  // String returns the string representation.
 25068  //
 25069  // API parameter values that are decorated as "sensitive" in the API will not
 25070  // be included in the string output. The member name will be present, but the
 25071  // value will be replaced with "sensitive".
 25072  func (s RoutingProfileQueueConfig) String() string {
 25073  	return awsutil.Prettify(s)
 25074  }
 25075  
 25076  // GoString returns the string representation.
 25077  //
 25078  // API parameter values that are decorated as "sensitive" in the API will not
 25079  // be included in the string output. The member name will be present, but the
 25080  // value will be replaced with "sensitive".
 25081  func (s RoutingProfileQueueConfig) GoString() string {
 25082  	return s.String()
 25083  }
 25084  
 25085  // Validate inspects the fields of the type to determine if they are valid.
 25086  func (s *RoutingProfileQueueConfig) Validate() error {
 25087  	invalidParams := request.ErrInvalidParams{Context: "RoutingProfileQueueConfig"}
 25088  	if s.Delay == nil {
 25089  		invalidParams.Add(request.NewErrParamRequired("Delay"))
 25090  	}
 25091  	if s.Priority == nil {
 25092  		invalidParams.Add(request.NewErrParamRequired("Priority"))
 25093  	}
 25094  	if s.Priority != nil && *s.Priority < 1 {
 25095  		invalidParams.Add(request.NewErrParamMinValue("Priority", 1))
 25096  	}
 25097  	if s.QueueReference == nil {
 25098  		invalidParams.Add(request.NewErrParamRequired("QueueReference"))
 25099  	}
 25100  	if s.QueueReference != nil {
 25101  		if err := s.QueueReference.Validate(); err != nil {
 25102  			invalidParams.AddNested("QueueReference", err.(request.ErrInvalidParams))
 25103  		}
 25104  	}
 25105  
 25106  	if invalidParams.Len() > 0 {
 25107  		return invalidParams
 25108  	}
 25109  	return nil
 25110  }
 25111  
 25112  // SetDelay sets the Delay field's value.
 25113  func (s *RoutingProfileQueueConfig) SetDelay(v int64) *RoutingProfileQueueConfig {
 25114  	s.Delay = &v
 25115  	return s
 25116  }
 25117  
 25118  // SetPriority sets the Priority field's value.
 25119  func (s *RoutingProfileQueueConfig) SetPriority(v int64) *RoutingProfileQueueConfig {
 25120  	s.Priority = &v
 25121  	return s
 25122  }
 25123  
 25124  // SetQueueReference sets the QueueReference field's value.
 25125  func (s *RoutingProfileQueueConfig) SetQueueReference(v *RoutingProfileQueueReference) *RoutingProfileQueueConfig {
 25126  	s.QueueReference = v
 25127  	return s
 25128  }
 25129  
 25130  // Contains summary information about a routing profile queue.
 25131  type RoutingProfileQueueConfigSummary struct {
 25132  	_ struct{} `type:"structure"`
 25133  
 25134  	// The channels this queue supports.
 25135  	//
 25136  	// Channel is a required field
 25137  	Channel *string `type:"string" required:"true" enum:"Channel"`
 25138  
 25139  	// The delay, in seconds, that a contact should be in the queue before they
 25140  	// are routed to an available agent. For more information, see Queues: priority
 25141  	// and delay (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html)
 25142  	// in the Amazon Connect Administrator Guide.
 25143  	//
 25144  	// Delay is a required field
 25145  	Delay *int64 `type:"integer" required:"true"`
 25146  
 25147  	// The order in which contacts are to be handled for the queue. For more information,
 25148  	// see Queues: priority and delay (https://docs.aws.amazon.com/connect/latest/adminguide/concepts-routing-profiles-priority.html).
 25149  	//
 25150  	// Priority is a required field
 25151  	Priority *int64 `min:"1" type:"integer" required:"true"`
 25152  
 25153  	// The Amazon Resource Name (ARN) of the queue.
 25154  	//
 25155  	// QueueArn is a required field
 25156  	QueueArn *string `type:"string" required:"true"`
 25157  
 25158  	// The identifier for the queue.
 25159  	//
 25160  	// QueueId is a required field
 25161  	QueueId *string `type:"string" required:"true"`
 25162  
 25163  	// The name of the queue.
 25164  	//
 25165  	// QueueName is a required field
 25166  	QueueName *string `min:"1" type:"string" required:"true"`
 25167  }
 25168  
 25169  // String returns the string representation.
 25170  //
 25171  // API parameter values that are decorated as "sensitive" in the API will not
 25172  // be included in the string output. The member name will be present, but the
 25173  // value will be replaced with "sensitive".
 25174  func (s RoutingProfileQueueConfigSummary) String() string {
 25175  	return awsutil.Prettify(s)
 25176  }
 25177  
 25178  // GoString returns the string representation.
 25179  //
 25180  // API parameter values that are decorated as "sensitive" in the API will not
 25181  // be included in the string output. The member name will be present, but the
 25182  // value will be replaced with "sensitive".
 25183  func (s RoutingProfileQueueConfigSummary) GoString() string {
 25184  	return s.String()
 25185  }
 25186  
 25187  // SetChannel sets the Channel field's value.
 25188  func (s *RoutingProfileQueueConfigSummary) SetChannel(v string) *RoutingProfileQueueConfigSummary {
 25189  	s.Channel = &v
 25190  	return s
 25191  }
 25192  
 25193  // SetDelay sets the Delay field's value.
 25194  func (s *RoutingProfileQueueConfigSummary) SetDelay(v int64) *RoutingProfileQueueConfigSummary {
 25195  	s.Delay = &v
 25196  	return s
 25197  }
 25198  
 25199  // SetPriority sets the Priority field's value.
 25200  func (s *RoutingProfileQueueConfigSummary) SetPriority(v int64) *RoutingProfileQueueConfigSummary {
 25201  	s.Priority = &v
 25202  	return s
 25203  }
 25204  
 25205  // SetQueueArn sets the QueueArn field's value.
 25206  func (s *RoutingProfileQueueConfigSummary) SetQueueArn(v string) *RoutingProfileQueueConfigSummary {
 25207  	s.QueueArn = &v
 25208  	return s
 25209  }
 25210  
 25211  // SetQueueId sets the QueueId field's value.
 25212  func (s *RoutingProfileQueueConfigSummary) SetQueueId(v string) *RoutingProfileQueueConfigSummary {
 25213  	s.QueueId = &v
 25214  	return s
 25215  }
 25216  
 25217  // SetQueueName sets the QueueName field's value.
 25218  func (s *RoutingProfileQueueConfigSummary) SetQueueName(v string) *RoutingProfileQueueConfigSummary {
 25219  	s.QueueName = &v
 25220  	return s
 25221  }
 25222  
 25223  // Contains the channel and queue identifier for a routing profile.
 25224  type RoutingProfileQueueReference struct {
 25225  	_ struct{} `type:"structure"`
 25226  
 25227  	// The channels agents can handle in the Contact Control Panel (CCP) for this
 25228  	// routing profile.
 25229  	//
 25230  	// Channel is a required field
 25231  	Channel *string `type:"string" required:"true" enum:"Channel"`
 25232  
 25233  	// The identifier for the queue.
 25234  	//
 25235  	// QueueId is a required field
 25236  	QueueId *string `type:"string" required:"true"`
 25237  }
 25238  
 25239  // String returns the string representation.
 25240  //
 25241  // API parameter values that are decorated as "sensitive" in the API will not
 25242  // be included in the string output. The member name will be present, but the
 25243  // value will be replaced with "sensitive".
 25244  func (s RoutingProfileQueueReference) String() string {
 25245  	return awsutil.Prettify(s)
 25246  }
 25247  
 25248  // GoString returns the string representation.
 25249  //
 25250  // API parameter values that are decorated as "sensitive" in the API will not
 25251  // be included in the string output. The member name will be present, but the
 25252  // value will be replaced with "sensitive".
 25253  func (s RoutingProfileQueueReference) GoString() string {
 25254  	return s.String()
 25255  }
 25256  
 25257  // Validate inspects the fields of the type to determine if they are valid.
 25258  func (s *RoutingProfileQueueReference) Validate() error {
 25259  	invalidParams := request.ErrInvalidParams{Context: "RoutingProfileQueueReference"}
 25260  	if s.Channel == nil {
 25261  		invalidParams.Add(request.NewErrParamRequired("Channel"))
 25262  	}
 25263  	if s.QueueId == nil {
 25264  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 25265  	}
 25266  
 25267  	if invalidParams.Len() > 0 {
 25268  		return invalidParams
 25269  	}
 25270  	return nil
 25271  }
 25272  
 25273  // SetChannel sets the Channel field's value.
 25274  func (s *RoutingProfileQueueReference) SetChannel(v string) *RoutingProfileQueueReference {
 25275  	s.Channel = &v
 25276  	return s
 25277  }
 25278  
 25279  // SetQueueId sets the QueueId field's value.
 25280  func (s *RoutingProfileQueueReference) SetQueueId(v string) *RoutingProfileQueueReference {
 25281  	s.QueueId = &v
 25282  	return s
 25283  }
 25284  
 25285  // Contains summary information about a routing profile.
 25286  type RoutingProfileSummary struct {
 25287  	_ struct{} `type:"structure"`
 25288  
 25289  	// The Amazon Resource Name (ARN) of the routing profile.
 25290  	Arn *string `type:"string"`
 25291  
 25292  	// The identifier of the routing profile.
 25293  	Id *string `type:"string"`
 25294  
 25295  	// The name of the routing profile.
 25296  	Name *string `min:"1" type:"string"`
 25297  }
 25298  
 25299  // String returns the string representation.
 25300  //
 25301  // API parameter values that are decorated as "sensitive" in the API will not
 25302  // be included in the string output. The member name will be present, but the
 25303  // value will be replaced with "sensitive".
 25304  func (s RoutingProfileSummary) String() string {
 25305  	return awsutil.Prettify(s)
 25306  }
 25307  
 25308  // GoString returns the string representation.
 25309  //
 25310  // API parameter values that are decorated as "sensitive" in the API will not
 25311  // be included in the string output. The member name will be present, but the
 25312  // value will be replaced with "sensitive".
 25313  func (s RoutingProfileSummary) GoString() string {
 25314  	return s.String()
 25315  }
 25316  
 25317  // SetArn sets the Arn field's value.
 25318  func (s *RoutingProfileSummary) SetArn(v string) *RoutingProfileSummary {
 25319  	s.Arn = &v
 25320  	return s
 25321  }
 25322  
 25323  // SetId sets the Id field's value.
 25324  func (s *RoutingProfileSummary) SetId(v string) *RoutingProfileSummary {
 25325  	s.Id = &v
 25326  	return s
 25327  }
 25328  
 25329  // SetName sets the Name field's value.
 25330  func (s *RoutingProfileSummary) SetName(v string) *RoutingProfileSummary {
 25331  	s.Name = &v
 25332  	return s
 25333  }
 25334  
 25335  // Information about the Amazon Simple Storage Service (Amazon S3) storage type.
 25336  type S3Config struct {
 25337  	_ struct{} `type:"structure"`
 25338  
 25339  	// The S3 bucket name.
 25340  	//
 25341  	// BucketName is a required field
 25342  	BucketName *string `min:"1" type:"string" required:"true"`
 25343  
 25344  	// The S3 bucket prefix.
 25345  	//
 25346  	// BucketPrefix is a required field
 25347  	BucketPrefix *string `min:"1" type:"string" required:"true"`
 25348  
 25349  	// The Amazon S3 encryption configuration.
 25350  	EncryptionConfig *EncryptionConfig `type:"structure"`
 25351  }
 25352  
 25353  // String returns the string representation.
 25354  //
 25355  // API parameter values that are decorated as "sensitive" in the API will not
 25356  // be included in the string output. The member name will be present, but the
 25357  // value will be replaced with "sensitive".
 25358  func (s S3Config) String() string {
 25359  	return awsutil.Prettify(s)
 25360  }
 25361  
 25362  // GoString returns the string representation.
 25363  //
 25364  // API parameter values that are decorated as "sensitive" in the API will not
 25365  // be included in the string output. The member name will be present, but the
 25366  // value will be replaced with "sensitive".
 25367  func (s S3Config) GoString() string {
 25368  	return s.String()
 25369  }
 25370  
 25371  // Validate inspects the fields of the type to determine if they are valid.
 25372  func (s *S3Config) Validate() error {
 25373  	invalidParams := request.ErrInvalidParams{Context: "S3Config"}
 25374  	if s.BucketName == nil {
 25375  		invalidParams.Add(request.NewErrParamRequired("BucketName"))
 25376  	}
 25377  	if s.BucketName != nil && len(*s.BucketName) < 1 {
 25378  		invalidParams.Add(request.NewErrParamMinLen("BucketName", 1))
 25379  	}
 25380  	if s.BucketPrefix == nil {
 25381  		invalidParams.Add(request.NewErrParamRequired("BucketPrefix"))
 25382  	}
 25383  	if s.BucketPrefix != nil && len(*s.BucketPrefix) < 1 {
 25384  		invalidParams.Add(request.NewErrParamMinLen("BucketPrefix", 1))
 25385  	}
 25386  	if s.EncryptionConfig != nil {
 25387  		if err := s.EncryptionConfig.Validate(); err != nil {
 25388  			invalidParams.AddNested("EncryptionConfig", err.(request.ErrInvalidParams))
 25389  		}
 25390  	}
 25391  
 25392  	if invalidParams.Len() > 0 {
 25393  		return invalidParams
 25394  	}
 25395  	return nil
 25396  }
 25397  
 25398  // SetBucketName sets the BucketName field's value.
 25399  func (s *S3Config) SetBucketName(v string) *S3Config {
 25400  	s.BucketName = &v
 25401  	return s
 25402  }
 25403  
 25404  // SetBucketPrefix sets the BucketPrefix field's value.
 25405  func (s *S3Config) SetBucketPrefix(v string) *S3Config {
 25406  	s.BucketPrefix = &v
 25407  	return s
 25408  }
 25409  
 25410  // SetEncryptionConfig sets the EncryptionConfig field's value.
 25411  func (s *S3Config) SetEncryptionConfig(v *EncryptionConfig) *S3Config {
 25412  	s.EncryptionConfig = v
 25413  	return s
 25414  }
 25415  
 25416  // Configuration information of the security key.
 25417  type SecurityKey struct {
 25418  	_ struct{} `type:"structure"`
 25419  
 25420  	// The existing association identifier that uniquely identifies the resource
 25421  	// type and storage config for the given instance ID.
 25422  	AssociationId *string `min:"1" type:"string"`
 25423  
 25424  	// When the security key was created.
 25425  	CreationTime *time.Time `type:"timestamp"`
 25426  
 25427  	// The key of the security key.
 25428  	Key *string `min:"1" type:"string"`
 25429  }
 25430  
 25431  // String returns the string representation.
 25432  //
 25433  // API parameter values that are decorated as "sensitive" in the API will not
 25434  // be included in the string output. The member name will be present, but the
 25435  // value will be replaced with "sensitive".
 25436  func (s SecurityKey) String() string {
 25437  	return awsutil.Prettify(s)
 25438  }
 25439  
 25440  // GoString returns the string representation.
 25441  //
 25442  // API parameter values that are decorated as "sensitive" in the API will not
 25443  // be included in the string output. The member name will be present, but the
 25444  // value will be replaced with "sensitive".
 25445  func (s SecurityKey) GoString() string {
 25446  	return s.String()
 25447  }
 25448  
 25449  // SetAssociationId sets the AssociationId field's value.
 25450  func (s *SecurityKey) SetAssociationId(v string) *SecurityKey {
 25451  	s.AssociationId = &v
 25452  	return s
 25453  }
 25454  
 25455  // SetCreationTime sets the CreationTime field's value.
 25456  func (s *SecurityKey) SetCreationTime(v time.Time) *SecurityKey {
 25457  	s.CreationTime = &v
 25458  	return s
 25459  }
 25460  
 25461  // SetKey sets the Key field's value.
 25462  func (s *SecurityKey) SetKey(v string) *SecurityKey {
 25463  	s.Key = &v
 25464  	return s
 25465  }
 25466  
 25467  // Contains information about a security profile.
 25468  type SecurityProfileSummary struct {
 25469  	_ struct{} `type:"structure"`
 25470  
 25471  	// The Amazon Resource Name (ARN) of the security profile.
 25472  	Arn *string `type:"string"`
 25473  
 25474  	// The identifier of the security profile.
 25475  	Id *string `type:"string"`
 25476  
 25477  	// The name of the security profile.
 25478  	Name *string `type:"string"`
 25479  }
 25480  
 25481  // String returns the string representation.
 25482  //
 25483  // API parameter values that are decorated as "sensitive" in the API will not
 25484  // be included in the string output. The member name will be present, but the
 25485  // value will be replaced with "sensitive".
 25486  func (s SecurityProfileSummary) String() string {
 25487  	return awsutil.Prettify(s)
 25488  }
 25489  
 25490  // GoString returns the string representation.
 25491  //
 25492  // API parameter values that are decorated as "sensitive" in the API will not
 25493  // be included in the string output. The member name will be present, but the
 25494  // value will be replaced with "sensitive".
 25495  func (s SecurityProfileSummary) GoString() string {
 25496  	return s.String()
 25497  }
 25498  
 25499  // SetArn sets the Arn field's value.
 25500  func (s *SecurityProfileSummary) SetArn(v string) *SecurityProfileSummary {
 25501  	s.Arn = &v
 25502  	return s
 25503  }
 25504  
 25505  // SetId sets the Id field's value.
 25506  func (s *SecurityProfileSummary) SetId(v string) *SecurityProfileSummary {
 25507  	s.Id = &v
 25508  	return s
 25509  }
 25510  
 25511  // SetName sets the Name field's value.
 25512  func (s *SecurityProfileSummary) SetName(v string) *SecurityProfileSummary {
 25513  	s.Name = &v
 25514  	return s
 25515  }
 25516  
 25517  // The service quota has been exceeded.
 25518  type ServiceQuotaExceededException struct {
 25519  	_            struct{}                  `type:"structure"`
 25520  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25521  
 25522  	Message_ *string `locationName:"Message" type:"string"`
 25523  }
 25524  
 25525  // String returns the string representation.
 25526  //
 25527  // API parameter values that are decorated as "sensitive" in the API will not
 25528  // be included in the string output. The member name will be present, but the
 25529  // value will be replaced with "sensitive".
 25530  func (s ServiceQuotaExceededException) String() string {
 25531  	return awsutil.Prettify(s)
 25532  }
 25533  
 25534  // GoString returns the string representation.
 25535  //
 25536  // API parameter values that are decorated as "sensitive" in the API will not
 25537  // be included in the string output. The member name will be present, but the
 25538  // value will be replaced with "sensitive".
 25539  func (s ServiceQuotaExceededException) GoString() string {
 25540  	return s.String()
 25541  }
 25542  
 25543  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
 25544  	return &ServiceQuotaExceededException{
 25545  		RespMetadata: v,
 25546  	}
 25547  }
 25548  
 25549  // Code returns the exception type name.
 25550  func (s *ServiceQuotaExceededException) Code() string {
 25551  	return "ServiceQuotaExceededException"
 25552  }
 25553  
 25554  // Message returns the exception's message.
 25555  func (s *ServiceQuotaExceededException) Message() string {
 25556  	if s.Message_ != nil {
 25557  		return *s.Message_
 25558  	}
 25559  	return ""
 25560  }
 25561  
 25562  // OrigErr always returns nil, satisfies awserr.Error interface.
 25563  func (s *ServiceQuotaExceededException) OrigErr() error {
 25564  	return nil
 25565  }
 25566  
 25567  func (s *ServiceQuotaExceededException) Error() string {
 25568  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25569  }
 25570  
 25571  // Status code returns the HTTP status code for the request's response error.
 25572  func (s *ServiceQuotaExceededException) StatusCode() int {
 25573  	return s.RespMetadata.StatusCode
 25574  }
 25575  
 25576  // RequestID returns the service's response RequestID for request.
 25577  func (s *ServiceQuotaExceededException) RequestID() string {
 25578  	return s.RespMetadata.RequestID
 25579  }
 25580  
 25581  type StartChatContactInput struct {
 25582  	_ struct{} `type:"structure"`
 25583  
 25584  	// A custom key-value pair using an attribute map. The attributes are standard
 25585  	// Amazon Connect attributes. They can be accessed in contact flows just like
 25586  	// any other contact attributes.
 25587  	//
 25588  	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
 25589  	// Attribute keys can include only alphanumeric, dash, and underscore characters.
 25590  	Attributes map[string]*string `type:"map"`
 25591  
 25592  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
 25593  	// of the request.
 25594  	ClientToken *string `type:"string" idempotencyToken:"true"`
 25595  
 25596  	// The identifier of the contact flow for initiating the chat. To see the ContactFlowId
 25597  	// in the Amazon Connect console user interface, on the navigation menu go to
 25598  	// Routing, Contact Flows. Choose the contact flow. On the contact flow page,
 25599  	// under the name of the contact flow, choose Show additional flow information.
 25600  	// The ContactFlowId is the last part of the ARN, shown here in bold:
 25601  	//
 25602  	// arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx
 25603  	//
 25604  	// ContactFlowId is a required field
 25605  	ContactFlowId *string `type:"string" required:"true"`
 25606  
 25607  	// The initial message to be sent to the newly created chat.
 25608  	InitialMessage *ChatMessage `type:"structure"`
 25609  
 25610  	// The identifier of the Amazon Connect instance. You can find the instanceId
 25611  	// in the ARN of the instance.
 25612  	//
 25613  	// InstanceId is a required field
 25614  	InstanceId *string `min:"1" type:"string" required:"true"`
 25615  
 25616  	// Information identifying the participant.
 25617  	//
 25618  	// ParticipantDetails is a required field
 25619  	ParticipantDetails *ParticipantDetails `type:"structure" required:"true"`
 25620  }
 25621  
 25622  // String returns the string representation.
 25623  //
 25624  // API parameter values that are decorated as "sensitive" in the API will not
 25625  // be included in the string output. The member name will be present, but the
 25626  // value will be replaced with "sensitive".
 25627  func (s StartChatContactInput) String() string {
 25628  	return awsutil.Prettify(s)
 25629  }
 25630  
 25631  // GoString returns the string representation.
 25632  //
 25633  // API parameter values that are decorated as "sensitive" in the API will not
 25634  // be included in the string output. The member name will be present, but the
 25635  // value will be replaced with "sensitive".
 25636  func (s StartChatContactInput) GoString() string {
 25637  	return s.String()
 25638  }
 25639  
 25640  // Validate inspects the fields of the type to determine if they are valid.
 25641  func (s *StartChatContactInput) Validate() error {
 25642  	invalidParams := request.ErrInvalidParams{Context: "StartChatContactInput"}
 25643  	if s.ContactFlowId == nil {
 25644  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 25645  	}
 25646  	if s.InstanceId == nil {
 25647  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 25648  	}
 25649  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 25650  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 25651  	}
 25652  	if s.ParticipantDetails == nil {
 25653  		invalidParams.Add(request.NewErrParamRequired("ParticipantDetails"))
 25654  	}
 25655  	if s.InitialMessage != nil {
 25656  		if err := s.InitialMessage.Validate(); err != nil {
 25657  			invalidParams.AddNested("InitialMessage", err.(request.ErrInvalidParams))
 25658  		}
 25659  	}
 25660  	if s.ParticipantDetails != nil {
 25661  		if err := s.ParticipantDetails.Validate(); err != nil {
 25662  			invalidParams.AddNested("ParticipantDetails", err.(request.ErrInvalidParams))
 25663  		}
 25664  	}
 25665  
 25666  	if invalidParams.Len() > 0 {
 25667  		return invalidParams
 25668  	}
 25669  	return nil
 25670  }
 25671  
 25672  // SetAttributes sets the Attributes field's value.
 25673  func (s *StartChatContactInput) SetAttributes(v map[string]*string) *StartChatContactInput {
 25674  	s.Attributes = v
 25675  	return s
 25676  }
 25677  
 25678  // SetClientToken sets the ClientToken field's value.
 25679  func (s *StartChatContactInput) SetClientToken(v string) *StartChatContactInput {
 25680  	s.ClientToken = &v
 25681  	return s
 25682  }
 25683  
 25684  // SetContactFlowId sets the ContactFlowId field's value.
 25685  func (s *StartChatContactInput) SetContactFlowId(v string) *StartChatContactInput {
 25686  	s.ContactFlowId = &v
 25687  	return s
 25688  }
 25689  
 25690  // SetInitialMessage sets the InitialMessage field's value.
 25691  func (s *StartChatContactInput) SetInitialMessage(v *ChatMessage) *StartChatContactInput {
 25692  	s.InitialMessage = v
 25693  	return s
 25694  }
 25695  
 25696  // SetInstanceId sets the InstanceId field's value.
 25697  func (s *StartChatContactInput) SetInstanceId(v string) *StartChatContactInput {
 25698  	s.InstanceId = &v
 25699  	return s
 25700  }
 25701  
 25702  // SetParticipantDetails sets the ParticipantDetails field's value.
 25703  func (s *StartChatContactInput) SetParticipantDetails(v *ParticipantDetails) *StartChatContactInput {
 25704  	s.ParticipantDetails = v
 25705  	return s
 25706  }
 25707  
 25708  type StartChatContactOutput struct {
 25709  	_ struct{} `type:"structure"`
 25710  
 25711  	// The identifier of this contact within the Amazon Connect instance.
 25712  	ContactId *string `min:"1" type:"string"`
 25713  
 25714  	// The identifier for a chat participant. The participantId for a chat participant
 25715  	// is the same throughout the chat lifecycle.
 25716  	ParticipantId *string `min:"1" type:"string"`
 25717  
 25718  	// The token used by the chat participant to call CreateParticipantConnection
 25719  	// (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html).
 25720  	// The participant token is valid for the lifetime of a chat participant.
 25721  	ParticipantToken *string `min:"1" type:"string"`
 25722  }
 25723  
 25724  // String returns the string representation.
 25725  //
 25726  // API parameter values that are decorated as "sensitive" in the API will not
 25727  // be included in the string output. The member name will be present, but the
 25728  // value will be replaced with "sensitive".
 25729  func (s StartChatContactOutput) String() string {
 25730  	return awsutil.Prettify(s)
 25731  }
 25732  
 25733  // GoString returns the string representation.
 25734  //
 25735  // API parameter values that are decorated as "sensitive" in the API will not
 25736  // be included in the string output. The member name will be present, but the
 25737  // value will be replaced with "sensitive".
 25738  func (s StartChatContactOutput) GoString() string {
 25739  	return s.String()
 25740  }
 25741  
 25742  // SetContactId sets the ContactId field's value.
 25743  func (s *StartChatContactOutput) SetContactId(v string) *StartChatContactOutput {
 25744  	s.ContactId = &v
 25745  	return s
 25746  }
 25747  
 25748  // SetParticipantId sets the ParticipantId field's value.
 25749  func (s *StartChatContactOutput) SetParticipantId(v string) *StartChatContactOutput {
 25750  	s.ParticipantId = &v
 25751  	return s
 25752  }
 25753  
 25754  // SetParticipantToken sets the ParticipantToken field's value.
 25755  func (s *StartChatContactOutput) SetParticipantToken(v string) *StartChatContactOutput {
 25756  	s.ParticipantToken = &v
 25757  	return s
 25758  }
 25759  
 25760  type StartContactRecordingInput struct {
 25761  	_ struct{} `type:"structure"`
 25762  
 25763  	// The identifier of the contact.
 25764  	//
 25765  	// ContactId is a required field
 25766  	ContactId *string `min:"1" type:"string" required:"true"`
 25767  
 25768  	// The identifier of the contact. This is the identifier of the contact associated
 25769  	// with the first interaction with the contact center.
 25770  	//
 25771  	// InitialContactId is a required field
 25772  	InitialContactId *string `min:"1" type:"string" required:"true"`
 25773  
 25774  	// The identifier of the Amazon Connect instance. You can find the instanceId
 25775  	// in the ARN of the instance.
 25776  	//
 25777  	// InstanceId is a required field
 25778  	InstanceId *string `min:"1" type:"string" required:"true"`
 25779  
 25780  	// The person being recorded.
 25781  	//
 25782  	// VoiceRecordingConfiguration is a required field
 25783  	VoiceRecordingConfiguration *VoiceRecordingConfiguration `type:"structure" required:"true"`
 25784  }
 25785  
 25786  // String returns the string representation.
 25787  //
 25788  // API parameter values that are decorated as "sensitive" in the API will not
 25789  // be included in the string output. The member name will be present, but the
 25790  // value will be replaced with "sensitive".
 25791  func (s StartContactRecordingInput) String() string {
 25792  	return awsutil.Prettify(s)
 25793  }
 25794  
 25795  // GoString returns the string representation.
 25796  //
 25797  // API parameter values that are decorated as "sensitive" in the API will not
 25798  // be included in the string output. The member name will be present, but the
 25799  // value will be replaced with "sensitive".
 25800  func (s StartContactRecordingInput) GoString() string {
 25801  	return s.String()
 25802  }
 25803  
 25804  // Validate inspects the fields of the type to determine if they are valid.
 25805  func (s *StartContactRecordingInput) Validate() error {
 25806  	invalidParams := request.ErrInvalidParams{Context: "StartContactRecordingInput"}
 25807  	if s.ContactId == nil {
 25808  		invalidParams.Add(request.NewErrParamRequired("ContactId"))
 25809  	}
 25810  	if s.ContactId != nil && len(*s.ContactId) < 1 {
 25811  		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
 25812  	}
 25813  	if s.InitialContactId == nil {
 25814  		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
 25815  	}
 25816  	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
 25817  		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
 25818  	}
 25819  	if s.InstanceId == nil {
 25820  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 25821  	}
 25822  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 25823  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 25824  	}
 25825  	if s.VoiceRecordingConfiguration == nil {
 25826  		invalidParams.Add(request.NewErrParamRequired("VoiceRecordingConfiguration"))
 25827  	}
 25828  
 25829  	if invalidParams.Len() > 0 {
 25830  		return invalidParams
 25831  	}
 25832  	return nil
 25833  }
 25834  
 25835  // SetContactId sets the ContactId field's value.
 25836  func (s *StartContactRecordingInput) SetContactId(v string) *StartContactRecordingInput {
 25837  	s.ContactId = &v
 25838  	return s
 25839  }
 25840  
 25841  // SetInitialContactId sets the InitialContactId field's value.
 25842  func (s *StartContactRecordingInput) SetInitialContactId(v string) *StartContactRecordingInput {
 25843  	s.InitialContactId = &v
 25844  	return s
 25845  }
 25846  
 25847  // SetInstanceId sets the InstanceId field's value.
 25848  func (s *StartContactRecordingInput) SetInstanceId(v string) *StartContactRecordingInput {
 25849  	s.InstanceId = &v
 25850  	return s
 25851  }
 25852  
 25853  // SetVoiceRecordingConfiguration sets the VoiceRecordingConfiguration field's value.
 25854  func (s *StartContactRecordingInput) SetVoiceRecordingConfiguration(v *VoiceRecordingConfiguration) *StartContactRecordingInput {
 25855  	s.VoiceRecordingConfiguration = v
 25856  	return s
 25857  }
 25858  
 25859  type StartContactRecordingOutput struct {
 25860  	_ struct{} `type:"structure" nopayload:"true"`
 25861  }
 25862  
 25863  // String returns the string representation.
 25864  //
 25865  // API parameter values that are decorated as "sensitive" in the API will not
 25866  // be included in the string output. The member name will be present, but the
 25867  // value will be replaced with "sensitive".
 25868  func (s StartContactRecordingOutput) String() string {
 25869  	return awsutil.Prettify(s)
 25870  }
 25871  
 25872  // GoString returns the string representation.
 25873  //
 25874  // API parameter values that are decorated as "sensitive" in the API will not
 25875  // be included in the string output. The member name will be present, but the
 25876  // value will be replaced with "sensitive".
 25877  func (s StartContactRecordingOutput) GoString() string {
 25878  	return s.String()
 25879  }
 25880  
 25881  type StartOutboundVoiceContactInput struct {
 25882  	_ struct{} `type:"structure"`
 25883  
 25884  	// Configuration of the answering machine detection for this outbound call.
 25885  	AnswerMachineDetectionConfig *AnswerMachineDetectionConfig `type:"structure"`
 25886  
 25887  	// A custom key-value pair using an attribute map. The attributes are standard
 25888  	// Amazon Connect attributes, and can be accessed in contact flows just like
 25889  	// any other contact attributes.
 25890  	//
 25891  	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
 25892  	// Attribute keys can include only alphanumeric, dash, and underscore characters.
 25893  	Attributes map[string]*string `type:"map"`
 25894  
 25895  	// The campaign identifier of the outbound communication.
 25896  	CampaignId *string `min:"1" type:"string"`
 25897  
 25898  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
 25899  	// of the request. The token is valid for 7 days after creation. If a contact
 25900  	// is already started, the contact ID is returned.
 25901  	ClientToken *string `type:"string" idempotencyToken:"true"`
 25902  
 25903  	// The identifier of the contact flow for the outbound call. To see the ContactFlowId
 25904  	// in the Amazon Connect console user interface, on the navigation menu go to
 25905  	// Routing, Contact Flows. Choose the contact flow. On the contact flow page,
 25906  	// under the name of the contact flow, choose Show additional flow information.
 25907  	// The ContactFlowId is the last part of the ARN, shown here in bold:
 25908  	//
 25909  	// arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx
 25910  	//
 25911  	// ContactFlowId is a required field
 25912  	ContactFlowId *string `type:"string" required:"true"`
 25913  
 25914  	// The phone number of the customer, in E.164 format.
 25915  	//
 25916  	// DestinationPhoneNumber is a required field
 25917  	DestinationPhoneNumber *string `type:"string" required:"true"`
 25918  
 25919  	// The identifier of the Amazon Connect instance. You can find the instanceId
 25920  	// in the ARN of the instance.
 25921  	//
 25922  	// InstanceId is a required field
 25923  	InstanceId *string `min:"1" type:"string" required:"true"`
 25924  
 25925  	// The queue for the call. If you specify a queue, the phone displayed for caller
 25926  	// ID is the phone number specified in the queue. If you do not specify a queue,
 25927  	// the queue defined in the contact flow is used. If you do not specify a queue,
 25928  	// you must specify a source phone number.
 25929  	QueueId *string `type:"string"`
 25930  
 25931  	// The phone number associated with the Amazon Connect instance, in E.164 format.
 25932  	// If you do not specify a source phone number, you must specify a queue.
 25933  	SourcePhoneNumber *string `type:"string"`
 25934  
 25935  	// Denotes the class of traffic. Calls with different traffic types are handled
 25936  	// differently by Amazon Connect. The default value is GENERAL. Use CAMPAIGN
 25937  	// if EnableAnswerMachineDetection is set to true. For all other cases, use
 25938  	// GENERAL.
 25939  	TrafficType *string `type:"string" enum:"TrafficType"`
 25940  }
 25941  
 25942  // String returns the string representation.
 25943  //
 25944  // API parameter values that are decorated as "sensitive" in the API will not
 25945  // be included in the string output. The member name will be present, but the
 25946  // value will be replaced with "sensitive".
 25947  func (s StartOutboundVoiceContactInput) String() string {
 25948  	return awsutil.Prettify(s)
 25949  }
 25950  
 25951  // GoString returns the string representation.
 25952  //
 25953  // API parameter values that are decorated as "sensitive" in the API will not
 25954  // be included in the string output. The member name will be present, but the
 25955  // value will be replaced with "sensitive".
 25956  func (s StartOutboundVoiceContactInput) GoString() string {
 25957  	return s.String()
 25958  }
 25959  
 25960  // Validate inspects the fields of the type to determine if they are valid.
 25961  func (s *StartOutboundVoiceContactInput) Validate() error {
 25962  	invalidParams := request.ErrInvalidParams{Context: "StartOutboundVoiceContactInput"}
 25963  	if s.CampaignId != nil && len(*s.CampaignId) < 1 {
 25964  		invalidParams.Add(request.NewErrParamMinLen("CampaignId", 1))
 25965  	}
 25966  	if s.ContactFlowId == nil {
 25967  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 25968  	}
 25969  	if s.DestinationPhoneNumber == nil {
 25970  		invalidParams.Add(request.NewErrParamRequired("DestinationPhoneNumber"))
 25971  	}
 25972  	if s.InstanceId == nil {
 25973  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 25974  	}
 25975  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 25976  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 25977  	}
 25978  
 25979  	if invalidParams.Len() > 0 {
 25980  		return invalidParams
 25981  	}
 25982  	return nil
 25983  }
 25984  
 25985  // SetAnswerMachineDetectionConfig sets the AnswerMachineDetectionConfig field's value.
 25986  func (s *StartOutboundVoiceContactInput) SetAnswerMachineDetectionConfig(v *AnswerMachineDetectionConfig) *StartOutboundVoiceContactInput {
 25987  	s.AnswerMachineDetectionConfig = v
 25988  	return s
 25989  }
 25990  
 25991  // SetAttributes sets the Attributes field's value.
 25992  func (s *StartOutboundVoiceContactInput) SetAttributes(v map[string]*string) *StartOutboundVoiceContactInput {
 25993  	s.Attributes = v
 25994  	return s
 25995  }
 25996  
 25997  // SetCampaignId sets the CampaignId field's value.
 25998  func (s *StartOutboundVoiceContactInput) SetCampaignId(v string) *StartOutboundVoiceContactInput {
 25999  	s.CampaignId = &v
 26000  	return s
 26001  }
 26002  
 26003  // SetClientToken sets the ClientToken field's value.
 26004  func (s *StartOutboundVoiceContactInput) SetClientToken(v string) *StartOutboundVoiceContactInput {
 26005  	s.ClientToken = &v
 26006  	return s
 26007  }
 26008  
 26009  // SetContactFlowId sets the ContactFlowId field's value.
 26010  func (s *StartOutboundVoiceContactInput) SetContactFlowId(v string) *StartOutboundVoiceContactInput {
 26011  	s.ContactFlowId = &v
 26012  	return s
 26013  }
 26014  
 26015  // SetDestinationPhoneNumber sets the DestinationPhoneNumber field's value.
 26016  func (s *StartOutboundVoiceContactInput) SetDestinationPhoneNumber(v string) *StartOutboundVoiceContactInput {
 26017  	s.DestinationPhoneNumber = &v
 26018  	return s
 26019  }
 26020  
 26021  // SetInstanceId sets the InstanceId field's value.
 26022  func (s *StartOutboundVoiceContactInput) SetInstanceId(v string) *StartOutboundVoiceContactInput {
 26023  	s.InstanceId = &v
 26024  	return s
 26025  }
 26026  
 26027  // SetQueueId sets the QueueId field's value.
 26028  func (s *StartOutboundVoiceContactInput) SetQueueId(v string) *StartOutboundVoiceContactInput {
 26029  	s.QueueId = &v
 26030  	return s
 26031  }
 26032  
 26033  // SetSourcePhoneNumber sets the SourcePhoneNumber field's value.
 26034  func (s *StartOutboundVoiceContactInput) SetSourcePhoneNumber(v string) *StartOutboundVoiceContactInput {
 26035  	s.SourcePhoneNumber = &v
 26036  	return s
 26037  }
 26038  
 26039  // SetTrafficType sets the TrafficType field's value.
 26040  func (s *StartOutboundVoiceContactInput) SetTrafficType(v string) *StartOutboundVoiceContactInput {
 26041  	s.TrafficType = &v
 26042  	return s
 26043  }
 26044  
 26045  type StartOutboundVoiceContactOutput struct {
 26046  	_ struct{} `type:"structure"`
 26047  
 26048  	// The identifier of this contact within the Amazon Connect instance.
 26049  	ContactId *string `min:"1" type:"string"`
 26050  }
 26051  
 26052  // String returns the string representation.
 26053  //
 26054  // API parameter values that are decorated as "sensitive" in the API will not
 26055  // be included in the string output. The member name will be present, but the
 26056  // value will be replaced with "sensitive".
 26057  func (s StartOutboundVoiceContactOutput) String() string {
 26058  	return awsutil.Prettify(s)
 26059  }
 26060  
 26061  // GoString returns the string representation.
 26062  //
 26063  // API parameter values that are decorated as "sensitive" in the API will not
 26064  // be included in the string output. The member name will be present, but the
 26065  // value will be replaced with "sensitive".
 26066  func (s StartOutboundVoiceContactOutput) GoString() string {
 26067  	return s.String()
 26068  }
 26069  
 26070  // SetContactId sets the ContactId field's value.
 26071  func (s *StartOutboundVoiceContactOutput) SetContactId(v string) *StartOutboundVoiceContactOutput {
 26072  	s.ContactId = &v
 26073  	return s
 26074  }
 26075  
 26076  type StartTaskContactInput struct {
 26077  	_ struct{} `type:"structure"`
 26078  
 26079  	// A custom key-value pair using an attribute map. The attributes are standard
 26080  	// Amazon Connect attributes, and can be accessed in contact flows just like
 26081  	// any other contact attributes.
 26082  	//
 26083  	// There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact.
 26084  	// Attribute keys can include only alphanumeric, dash, and underscore characters.
 26085  	Attributes map[string]*string `type:"map"`
 26086  
 26087  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
 26088  	// of the request.
 26089  	ClientToken *string `type:"string" idempotencyToken:"true"`
 26090  
 26091  	// The identifier of the contact flow for initiating the tasks. To see the ContactFlowId
 26092  	// in the Amazon Connect console user interface, on the navigation menu go to
 26093  	// Routing, Contact Flows. Choose the contact flow. On the contact flow page,
 26094  	// under the name of the contact flow, choose Show additional flow information.
 26095  	// The ContactFlowId is the last part of the ARN, shown here in bold:
 26096  	//
 26097  	// arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/846ec553-a005-41c0-8341-xxxxxxxxxxxx
 26098  	//
 26099  	// ContactFlowId is a required field
 26100  	ContactFlowId *string `type:"string" required:"true"`
 26101  
 26102  	// A description of the task that is shown to an agent in the Contact Control
 26103  	// Panel (CCP).
 26104  	Description *string `type:"string"`
 26105  
 26106  	// The identifier of the Amazon Connect instance. You can find the instanceId
 26107  	// in the ARN of the instance.
 26108  	//
 26109  	// InstanceId is a required field
 26110  	InstanceId *string `min:"1" type:"string" required:"true"`
 26111  
 26112  	// The name of a task that is shown to an agent in the Contact Control Panel
 26113  	// (CCP).
 26114  	//
 26115  	// Name is a required field
 26116  	Name *string `type:"string" required:"true"`
 26117  
 26118  	// The identifier of the previous chat, voice, or task contact.
 26119  	PreviousContactId *string `min:"1" type:"string"`
 26120  
 26121  	// A formatted URL that is shown to an agent in the Contact Control Panel (CCP).
 26122  	References map[string]*Reference `type:"map"`
 26123  }
 26124  
 26125  // String returns the string representation.
 26126  //
 26127  // API parameter values that are decorated as "sensitive" in the API will not
 26128  // be included in the string output. The member name will be present, but the
 26129  // value will be replaced with "sensitive".
 26130  func (s StartTaskContactInput) String() string {
 26131  	return awsutil.Prettify(s)
 26132  }
 26133  
 26134  // GoString returns the string representation.
 26135  //
 26136  // API parameter values that are decorated as "sensitive" in the API will not
 26137  // be included in the string output. The member name will be present, but the
 26138  // value will be replaced with "sensitive".
 26139  func (s StartTaskContactInput) GoString() string {
 26140  	return s.String()
 26141  }
 26142  
 26143  // Validate inspects the fields of the type to determine if they are valid.
 26144  func (s *StartTaskContactInput) Validate() error {
 26145  	invalidParams := request.ErrInvalidParams{Context: "StartTaskContactInput"}
 26146  	if s.ContactFlowId == nil {
 26147  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 26148  	}
 26149  	if s.InstanceId == nil {
 26150  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 26151  	}
 26152  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 26153  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 26154  	}
 26155  	if s.Name == nil {
 26156  		invalidParams.Add(request.NewErrParamRequired("Name"))
 26157  	}
 26158  	if s.PreviousContactId != nil && len(*s.PreviousContactId) < 1 {
 26159  		invalidParams.Add(request.NewErrParamMinLen("PreviousContactId", 1))
 26160  	}
 26161  	if s.References != nil {
 26162  		for i, v := range s.References {
 26163  			if v == nil {
 26164  				continue
 26165  			}
 26166  			if err := v.Validate(); err != nil {
 26167  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "References", i), err.(request.ErrInvalidParams))
 26168  			}
 26169  		}
 26170  	}
 26171  
 26172  	if invalidParams.Len() > 0 {
 26173  		return invalidParams
 26174  	}
 26175  	return nil
 26176  }
 26177  
 26178  // SetAttributes sets the Attributes field's value.
 26179  func (s *StartTaskContactInput) SetAttributes(v map[string]*string) *StartTaskContactInput {
 26180  	s.Attributes = v
 26181  	return s
 26182  }
 26183  
 26184  // SetClientToken sets the ClientToken field's value.
 26185  func (s *StartTaskContactInput) SetClientToken(v string) *StartTaskContactInput {
 26186  	s.ClientToken = &v
 26187  	return s
 26188  }
 26189  
 26190  // SetContactFlowId sets the ContactFlowId field's value.
 26191  func (s *StartTaskContactInput) SetContactFlowId(v string) *StartTaskContactInput {
 26192  	s.ContactFlowId = &v
 26193  	return s
 26194  }
 26195  
 26196  // SetDescription sets the Description field's value.
 26197  func (s *StartTaskContactInput) SetDescription(v string) *StartTaskContactInput {
 26198  	s.Description = &v
 26199  	return s
 26200  }
 26201  
 26202  // SetInstanceId sets the InstanceId field's value.
 26203  func (s *StartTaskContactInput) SetInstanceId(v string) *StartTaskContactInput {
 26204  	s.InstanceId = &v
 26205  	return s
 26206  }
 26207  
 26208  // SetName sets the Name field's value.
 26209  func (s *StartTaskContactInput) SetName(v string) *StartTaskContactInput {
 26210  	s.Name = &v
 26211  	return s
 26212  }
 26213  
 26214  // SetPreviousContactId sets the PreviousContactId field's value.
 26215  func (s *StartTaskContactInput) SetPreviousContactId(v string) *StartTaskContactInput {
 26216  	s.PreviousContactId = &v
 26217  	return s
 26218  }
 26219  
 26220  // SetReferences sets the References field's value.
 26221  func (s *StartTaskContactInput) SetReferences(v map[string]*Reference) *StartTaskContactInput {
 26222  	s.References = v
 26223  	return s
 26224  }
 26225  
 26226  type StartTaskContactOutput struct {
 26227  	_ struct{} `type:"structure"`
 26228  
 26229  	// The identifier of this contact within the Amazon Connect instance.
 26230  	ContactId *string `min:"1" type:"string"`
 26231  }
 26232  
 26233  // String returns the string representation.
 26234  //
 26235  // API parameter values that are decorated as "sensitive" in the API will not
 26236  // be included in the string output. The member name will be present, but the
 26237  // value will be replaced with "sensitive".
 26238  func (s StartTaskContactOutput) String() string {
 26239  	return awsutil.Prettify(s)
 26240  }
 26241  
 26242  // GoString returns the string representation.
 26243  //
 26244  // API parameter values that are decorated as "sensitive" in the API will not
 26245  // be included in the string output. The member name will be present, but the
 26246  // value will be replaced with "sensitive".
 26247  func (s StartTaskContactOutput) GoString() string {
 26248  	return s.String()
 26249  }
 26250  
 26251  // SetContactId sets the ContactId field's value.
 26252  func (s *StartTaskContactOutput) SetContactId(v string) *StartTaskContactOutput {
 26253  	s.ContactId = &v
 26254  	return s
 26255  }
 26256  
 26257  type StopContactInput struct {
 26258  	_ struct{} `type:"structure"`
 26259  
 26260  	// The ID of the contact.
 26261  	//
 26262  	// ContactId is a required field
 26263  	ContactId *string `min:"1" type:"string" required:"true"`
 26264  
 26265  	// The identifier of the Amazon Connect instance. You can find the instanceId
 26266  	// in the ARN of the instance.
 26267  	//
 26268  	// InstanceId is a required field
 26269  	InstanceId *string `min:"1" type:"string" required:"true"`
 26270  }
 26271  
 26272  // String returns the string representation.
 26273  //
 26274  // API parameter values that are decorated as "sensitive" in the API will not
 26275  // be included in the string output. The member name will be present, but the
 26276  // value will be replaced with "sensitive".
 26277  func (s StopContactInput) String() string {
 26278  	return awsutil.Prettify(s)
 26279  }
 26280  
 26281  // GoString returns the string representation.
 26282  //
 26283  // API parameter values that are decorated as "sensitive" in the API will not
 26284  // be included in the string output. The member name will be present, but the
 26285  // value will be replaced with "sensitive".
 26286  func (s StopContactInput) GoString() string {
 26287  	return s.String()
 26288  }
 26289  
 26290  // Validate inspects the fields of the type to determine if they are valid.
 26291  func (s *StopContactInput) Validate() error {
 26292  	invalidParams := request.ErrInvalidParams{Context: "StopContactInput"}
 26293  	if s.ContactId == nil {
 26294  		invalidParams.Add(request.NewErrParamRequired("ContactId"))
 26295  	}
 26296  	if s.ContactId != nil && len(*s.ContactId) < 1 {
 26297  		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
 26298  	}
 26299  	if s.InstanceId == nil {
 26300  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 26301  	}
 26302  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 26303  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 26304  	}
 26305  
 26306  	if invalidParams.Len() > 0 {
 26307  		return invalidParams
 26308  	}
 26309  	return nil
 26310  }
 26311  
 26312  // SetContactId sets the ContactId field's value.
 26313  func (s *StopContactInput) SetContactId(v string) *StopContactInput {
 26314  	s.ContactId = &v
 26315  	return s
 26316  }
 26317  
 26318  // SetInstanceId sets the InstanceId field's value.
 26319  func (s *StopContactInput) SetInstanceId(v string) *StopContactInput {
 26320  	s.InstanceId = &v
 26321  	return s
 26322  }
 26323  
 26324  type StopContactOutput struct {
 26325  	_ struct{} `type:"structure" nopayload:"true"`
 26326  }
 26327  
 26328  // String returns the string representation.
 26329  //
 26330  // API parameter values that are decorated as "sensitive" in the API will not
 26331  // be included in the string output. The member name will be present, but the
 26332  // value will be replaced with "sensitive".
 26333  func (s StopContactOutput) String() string {
 26334  	return awsutil.Prettify(s)
 26335  }
 26336  
 26337  // GoString returns the string representation.
 26338  //
 26339  // API parameter values that are decorated as "sensitive" in the API will not
 26340  // be included in the string output. The member name will be present, but the
 26341  // value will be replaced with "sensitive".
 26342  func (s StopContactOutput) GoString() string {
 26343  	return s.String()
 26344  }
 26345  
 26346  type StopContactRecordingInput struct {
 26347  	_ struct{} `type:"structure"`
 26348  
 26349  	// The identifier of the contact.
 26350  	//
 26351  	// ContactId is a required field
 26352  	ContactId *string `min:"1" type:"string" required:"true"`
 26353  
 26354  	// The identifier of the contact. This is the identifier of the contact associated
 26355  	// with the first interaction with the contact center.
 26356  	//
 26357  	// InitialContactId is a required field
 26358  	InitialContactId *string `min:"1" type:"string" required:"true"`
 26359  
 26360  	// The identifier of the Amazon Connect instance. You can find the instanceId
 26361  	// in the ARN of the instance.
 26362  	//
 26363  	// InstanceId is a required field
 26364  	InstanceId *string `min:"1" type:"string" required:"true"`
 26365  }
 26366  
 26367  // String returns the string representation.
 26368  //
 26369  // API parameter values that are decorated as "sensitive" in the API will not
 26370  // be included in the string output. The member name will be present, but the
 26371  // value will be replaced with "sensitive".
 26372  func (s StopContactRecordingInput) String() string {
 26373  	return awsutil.Prettify(s)
 26374  }
 26375  
 26376  // GoString returns the string representation.
 26377  //
 26378  // API parameter values that are decorated as "sensitive" in the API will not
 26379  // be included in the string output. The member name will be present, but the
 26380  // value will be replaced with "sensitive".
 26381  func (s StopContactRecordingInput) GoString() string {
 26382  	return s.String()
 26383  }
 26384  
 26385  // Validate inspects the fields of the type to determine if they are valid.
 26386  func (s *StopContactRecordingInput) Validate() error {
 26387  	invalidParams := request.ErrInvalidParams{Context: "StopContactRecordingInput"}
 26388  	if s.ContactId == nil {
 26389  		invalidParams.Add(request.NewErrParamRequired("ContactId"))
 26390  	}
 26391  	if s.ContactId != nil && len(*s.ContactId) < 1 {
 26392  		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
 26393  	}
 26394  	if s.InitialContactId == nil {
 26395  		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
 26396  	}
 26397  	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
 26398  		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
 26399  	}
 26400  	if s.InstanceId == nil {
 26401  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 26402  	}
 26403  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 26404  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 26405  	}
 26406  
 26407  	if invalidParams.Len() > 0 {
 26408  		return invalidParams
 26409  	}
 26410  	return nil
 26411  }
 26412  
 26413  // SetContactId sets the ContactId field's value.
 26414  func (s *StopContactRecordingInput) SetContactId(v string) *StopContactRecordingInput {
 26415  	s.ContactId = &v
 26416  	return s
 26417  }
 26418  
 26419  // SetInitialContactId sets the InitialContactId field's value.
 26420  func (s *StopContactRecordingInput) SetInitialContactId(v string) *StopContactRecordingInput {
 26421  	s.InitialContactId = &v
 26422  	return s
 26423  }
 26424  
 26425  // SetInstanceId sets the InstanceId field's value.
 26426  func (s *StopContactRecordingInput) SetInstanceId(v string) *StopContactRecordingInput {
 26427  	s.InstanceId = &v
 26428  	return s
 26429  }
 26430  
 26431  type StopContactRecordingOutput struct {
 26432  	_ struct{} `type:"structure" nopayload:"true"`
 26433  }
 26434  
 26435  // String returns the string representation.
 26436  //
 26437  // API parameter values that are decorated as "sensitive" in the API will not
 26438  // be included in the string output. The member name will be present, but the
 26439  // value will be replaced with "sensitive".
 26440  func (s StopContactRecordingOutput) String() string {
 26441  	return awsutil.Prettify(s)
 26442  }
 26443  
 26444  // GoString returns the string representation.
 26445  //
 26446  // API parameter values that are decorated as "sensitive" in the API will not
 26447  // be included in the string output. The member name will be present, but the
 26448  // value will be replaced with "sensitive".
 26449  func (s StopContactRecordingOutput) GoString() string {
 26450  	return s.String()
 26451  }
 26452  
 26453  type SuspendContactRecordingInput struct {
 26454  	_ struct{} `type:"structure"`
 26455  
 26456  	// The identifier of the contact.
 26457  	//
 26458  	// ContactId is a required field
 26459  	ContactId *string `min:"1" type:"string" required:"true"`
 26460  
 26461  	// The identifier of the contact. This is the identifier of the contact associated
 26462  	// with the first interaction with the contact center.
 26463  	//
 26464  	// InitialContactId is a required field
 26465  	InitialContactId *string `min:"1" type:"string" required:"true"`
 26466  
 26467  	// The identifier of the Amazon Connect instance. You can find the instanceId
 26468  	// in the ARN of the instance.
 26469  	//
 26470  	// InstanceId is a required field
 26471  	InstanceId *string `min:"1" type:"string" required:"true"`
 26472  }
 26473  
 26474  // String returns the string representation.
 26475  //
 26476  // API parameter values that are decorated as "sensitive" in the API will not
 26477  // be included in the string output. The member name will be present, but the
 26478  // value will be replaced with "sensitive".
 26479  func (s SuspendContactRecordingInput) String() string {
 26480  	return awsutil.Prettify(s)
 26481  }
 26482  
 26483  // GoString returns the string representation.
 26484  //
 26485  // API parameter values that are decorated as "sensitive" in the API will not
 26486  // be included in the string output. The member name will be present, but the
 26487  // value will be replaced with "sensitive".
 26488  func (s SuspendContactRecordingInput) GoString() string {
 26489  	return s.String()
 26490  }
 26491  
 26492  // Validate inspects the fields of the type to determine if they are valid.
 26493  func (s *SuspendContactRecordingInput) Validate() error {
 26494  	invalidParams := request.ErrInvalidParams{Context: "SuspendContactRecordingInput"}
 26495  	if s.ContactId == nil {
 26496  		invalidParams.Add(request.NewErrParamRequired("ContactId"))
 26497  	}
 26498  	if s.ContactId != nil && len(*s.ContactId) < 1 {
 26499  		invalidParams.Add(request.NewErrParamMinLen("ContactId", 1))
 26500  	}
 26501  	if s.InitialContactId == nil {
 26502  		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
 26503  	}
 26504  	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
 26505  		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
 26506  	}
 26507  	if s.InstanceId == nil {
 26508  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 26509  	}
 26510  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 26511  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 26512  	}
 26513  
 26514  	if invalidParams.Len() > 0 {
 26515  		return invalidParams
 26516  	}
 26517  	return nil
 26518  }
 26519  
 26520  // SetContactId sets the ContactId field's value.
 26521  func (s *SuspendContactRecordingInput) SetContactId(v string) *SuspendContactRecordingInput {
 26522  	s.ContactId = &v
 26523  	return s
 26524  }
 26525  
 26526  // SetInitialContactId sets the InitialContactId field's value.
 26527  func (s *SuspendContactRecordingInput) SetInitialContactId(v string) *SuspendContactRecordingInput {
 26528  	s.InitialContactId = &v
 26529  	return s
 26530  }
 26531  
 26532  // SetInstanceId sets the InstanceId field's value.
 26533  func (s *SuspendContactRecordingInput) SetInstanceId(v string) *SuspendContactRecordingInput {
 26534  	s.InstanceId = &v
 26535  	return s
 26536  }
 26537  
 26538  type SuspendContactRecordingOutput struct {
 26539  	_ struct{} `type:"structure" nopayload:"true"`
 26540  }
 26541  
 26542  // String returns the string representation.
 26543  //
 26544  // API parameter values that are decorated as "sensitive" in the API will not
 26545  // be included in the string output. The member name will be present, but the
 26546  // value will be replaced with "sensitive".
 26547  func (s SuspendContactRecordingOutput) String() string {
 26548  	return awsutil.Prettify(s)
 26549  }
 26550  
 26551  // GoString returns the string representation.
 26552  //
 26553  // API parameter values that are decorated as "sensitive" in the API will not
 26554  // be included in the string output. The member name will be present, but the
 26555  // value will be replaced with "sensitive".
 26556  func (s SuspendContactRecordingOutput) GoString() string {
 26557  	return s.String()
 26558  }
 26559  
 26560  type TagResourceInput struct {
 26561  	_ struct{} `type:"structure"`
 26562  
 26563  	// The Amazon Resource Name (ARN) of the resource.
 26564  	//
 26565  	// ResourceArn is a required field
 26566  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 26567  
 26568  	// One or more tags. For example, { "tags": {"key1":"value1", "key2":"value2"}
 26569  	// }.
 26570  	//
 26571  	// Tags is a required field
 26572  	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
 26573  }
 26574  
 26575  // String returns the string representation.
 26576  //
 26577  // API parameter values that are decorated as "sensitive" in the API will not
 26578  // be included in the string output. The member name will be present, but the
 26579  // value will be replaced with "sensitive".
 26580  func (s TagResourceInput) String() string {
 26581  	return awsutil.Prettify(s)
 26582  }
 26583  
 26584  // GoString returns the string representation.
 26585  //
 26586  // API parameter values that are decorated as "sensitive" in the API will not
 26587  // be included in the string output. The member name will be present, but the
 26588  // value will be replaced with "sensitive".
 26589  func (s TagResourceInput) GoString() string {
 26590  	return s.String()
 26591  }
 26592  
 26593  // Validate inspects the fields of the type to determine if they are valid.
 26594  func (s *TagResourceInput) Validate() error {
 26595  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 26596  	if s.ResourceArn == nil {
 26597  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 26598  	}
 26599  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 26600  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 26601  	}
 26602  	if s.Tags == nil {
 26603  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 26604  	}
 26605  	if s.Tags != nil && len(s.Tags) < 1 {
 26606  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 26607  	}
 26608  
 26609  	if invalidParams.Len() > 0 {
 26610  		return invalidParams
 26611  	}
 26612  	return nil
 26613  }
 26614  
 26615  // SetResourceArn sets the ResourceArn field's value.
 26616  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 26617  	s.ResourceArn = &v
 26618  	return s
 26619  }
 26620  
 26621  // SetTags sets the Tags field's value.
 26622  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 26623  	s.Tags = v
 26624  	return s
 26625  }
 26626  
 26627  type TagResourceOutput struct {
 26628  	_ struct{} `type:"structure" nopayload:"true"`
 26629  }
 26630  
 26631  // String returns the string representation.
 26632  //
 26633  // API parameter values that are decorated as "sensitive" in the API will not
 26634  // be included in the string output. The member name will be present, but the
 26635  // value will be replaced with "sensitive".
 26636  func (s TagResourceOutput) String() string {
 26637  	return awsutil.Prettify(s)
 26638  }
 26639  
 26640  // GoString returns the string representation.
 26641  //
 26642  // API parameter values that are decorated as "sensitive" in the API will not
 26643  // be included in the string output. The member name will be present, but the
 26644  // value will be replaced with "sensitive".
 26645  func (s TagResourceOutput) GoString() string {
 26646  	return s.String()
 26647  }
 26648  
 26649  // Contains information about the threshold for service level metrics.
 26650  type Threshold struct {
 26651  	_ struct{} `type:"structure"`
 26652  
 26653  	// The type of comparison. Only "less than" (LT) comparisons are supported.
 26654  	Comparison *string `type:"string" enum:"Comparison"`
 26655  
 26656  	// The threshold value to compare.
 26657  	ThresholdValue *float64 `type:"double"`
 26658  }
 26659  
 26660  // String returns the string representation.
 26661  //
 26662  // API parameter values that are decorated as "sensitive" in the API will not
 26663  // be included in the string output. The member name will be present, but the
 26664  // value will be replaced with "sensitive".
 26665  func (s Threshold) String() string {
 26666  	return awsutil.Prettify(s)
 26667  }
 26668  
 26669  // GoString returns the string representation.
 26670  //
 26671  // API parameter values that are decorated as "sensitive" in the API will not
 26672  // be included in the string output. The member name will be present, but the
 26673  // value will be replaced with "sensitive".
 26674  func (s Threshold) GoString() string {
 26675  	return s.String()
 26676  }
 26677  
 26678  // SetComparison sets the Comparison field's value.
 26679  func (s *Threshold) SetComparison(v string) *Threshold {
 26680  	s.Comparison = &v
 26681  	return s
 26682  }
 26683  
 26684  // SetThresholdValue sets the ThresholdValue field's value.
 26685  func (s *Threshold) SetThresholdValue(v float64) *Threshold {
 26686  	s.ThresholdValue = &v
 26687  	return s
 26688  }
 26689  
 26690  // The throttling limit has been exceeded.
 26691  type ThrottlingException struct {
 26692  	_            struct{}                  `type:"structure"`
 26693  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 26694  
 26695  	Message_ *string `locationName:"Message" type:"string"`
 26696  }
 26697  
 26698  // String returns the string representation.
 26699  //
 26700  // API parameter values that are decorated as "sensitive" in the API will not
 26701  // be included in the string output. The member name will be present, but the
 26702  // value will be replaced with "sensitive".
 26703  func (s ThrottlingException) String() string {
 26704  	return awsutil.Prettify(s)
 26705  }
 26706  
 26707  // GoString returns the string representation.
 26708  //
 26709  // API parameter values that are decorated as "sensitive" in the API will not
 26710  // be included in the string output. The member name will be present, but the
 26711  // value will be replaced with "sensitive".
 26712  func (s ThrottlingException) GoString() string {
 26713  	return s.String()
 26714  }
 26715  
 26716  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 26717  	return &ThrottlingException{
 26718  		RespMetadata: v,
 26719  	}
 26720  }
 26721  
 26722  // Code returns the exception type name.
 26723  func (s *ThrottlingException) Code() string {
 26724  	return "ThrottlingException"
 26725  }
 26726  
 26727  // Message returns the exception's message.
 26728  func (s *ThrottlingException) Message() string {
 26729  	if s.Message_ != nil {
 26730  		return *s.Message_
 26731  	}
 26732  	return ""
 26733  }
 26734  
 26735  // OrigErr always returns nil, satisfies awserr.Error interface.
 26736  func (s *ThrottlingException) OrigErr() error {
 26737  	return nil
 26738  }
 26739  
 26740  func (s *ThrottlingException) Error() string {
 26741  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 26742  }
 26743  
 26744  // Status code returns the HTTP status code for the request's response error.
 26745  func (s *ThrottlingException) StatusCode() int {
 26746  	return s.RespMetadata.StatusCode
 26747  }
 26748  
 26749  // RequestID returns the service's response RequestID for request.
 26750  func (s *ThrottlingException) RequestID() string {
 26751  	return s.RespMetadata.RequestID
 26752  }
 26753  
 26754  type UntagResourceInput struct {
 26755  	_ struct{} `type:"structure" nopayload:"true"`
 26756  
 26757  	// The Amazon Resource Name (ARN) of the resource.
 26758  	//
 26759  	// ResourceArn is a required field
 26760  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 26761  
 26762  	// The tag keys.
 26763  	//
 26764  	// TagKeys is a required field
 26765  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 26766  }
 26767  
 26768  // String returns the string representation.
 26769  //
 26770  // API parameter values that are decorated as "sensitive" in the API will not
 26771  // be included in the string output. The member name will be present, but the
 26772  // value will be replaced with "sensitive".
 26773  func (s UntagResourceInput) String() string {
 26774  	return awsutil.Prettify(s)
 26775  }
 26776  
 26777  // GoString returns the string representation.
 26778  //
 26779  // API parameter values that are decorated as "sensitive" in the API will not
 26780  // be included in the string output. The member name will be present, but the
 26781  // value will be replaced with "sensitive".
 26782  func (s UntagResourceInput) GoString() string {
 26783  	return s.String()
 26784  }
 26785  
 26786  // Validate inspects the fields of the type to determine if they are valid.
 26787  func (s *UntagResourceInput) Validate() error {
 26788  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 26789  	if s.ResourceArn == nil {
 26790  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 26791  	}
 26792  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 26793  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 26794  	}
 26795  	if s.TagKeys == nil {
 26796  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 26797  	}
 26798  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 26799  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 26800  	}
 26801  
 26802  	if invalidParams.Len() > 0 {
 26803  		return invalidParams
 26804  	}
 26805  	return nil
 26806  }
 26807  
 26808  // SetResourceArn sets the ResourceArn field's value.
 26809  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 26810  	s.ResourceArn = &v
 26811  	return s
 26812  }
 26813  
 26814  // SetTagKeys sets the TagKeys field's value.
 26815  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 26816  	s.TagKeys = v
 26817  	return s
 26818  }
 26819  
 26820  type UntagResourceOutput struct {
 26821  	_ struct{} `type:"structure" nopayload:"true"`
 26822  }
 26823  
 26824  // String returns the string representation.
 26825  //
 26826  // API parameter values that are decorated as "sensitive" in the API will not
 26827  // be included in the string output. The member name will be present, but the
 26828  // value will be replaced with "sensitive".
 26829  func (s UntagResourceOutput) String() string {
 26830  	return awsutil.Prettify(s)
 26831  }
 26832  
 26833  // GoString returns the string representation.
 26834  //
 26835  // API parameter values that are decorated as "sensitive" in the API will not
 26836  // be included in the string output. The member name will be present, but the
 26837  // value will be replaced with "sensitive".
 26838  func (s UntagResourceOutput) GoString() string {
 26839  	return s.String()
 26840  }
 26841  
 26842  type UpdateAgentStatusInput struct {
 26843  	_ struct{} `type:"structure"`
 26844  
 26845  	// The identifier of the agent status.
 26846  	//
 26847  	// AgentStatusId is a required field
 26848  	AgentStatusId *string `location:"uri" locationName:"AgentStatusId" type:"string" required:"true"`
 26849  
 26850  	// The description of the agent status.
 26851  	Description *string `type:"string"`
 26852  
 26853  	// The display order of the agent status.
 26854  	DisplayOrder *int64 `min:"1" type:"integer"`
 26855  
 26856  	// The identifier of the Amazon Connect instance. You can find the instanceId
 26857  	// in the ARN of the instance.
 26858  	//
 26859  	// InstanceId is a required field
 26860  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 26861  
 26862  	// The name of the agent status.
 26863  	Name *string `min:"1" type:"string"`
 26864  
 26865  	// A number indicating the reset order of the agent status.
 26866  	ResetOrderNumber *bool `type:"boolean"`
 26867  
 26868  	// The state of the agent status.
 26869  	State *string `type:"string" enum:"AgentStatusState"`
 26870  }
 26871  
 26872  // String returns the string representation.
 26873  //
 26874  // API parameter values that are decorated as "sensitive" in the API will not
 26875  // be included in the string output. The member name will be present, but the
 26876  // value will be replaced with "sensitive".
 26877  func (s UpdateAgentStatusInput) String() string {
 26878  	return awsutil.Prettify(s)
 26879  }
 26880  
 26881  // GoString returns the string representation.
 26882  //
 26883  // API parameter values that are decorated as "sensitive" in the API will not
 26884  // be included in the string output. The member name will be present, but the
 26885  // value will be replaced with "sensitive".
 26886  func (s UpdateAgentStatusInput) GoString() string {
 26887  	return s.String()
 26888  }
 26889  
 26890  // Validate inspects the fields of the type to determine if they are valid.
 26891  func (s *UpdateAgentStatusInput) Validate() error {
 26892  	invalidParams := request.ErrInvalidParams{Context: "UpdateAgentStatusInput"}
 26893  	if s.AgentStatusId == nil {
 26894  		invalidParams.Add(request.NewErrParamRequired("AgentStatusId"))
 26895  	}
 26896  	if s.AgentStatusId != nil && len(*s.AgentStatusId) < 1 {
 26897  		invalidParams.Add(request.NewErrParamMinLen("AgentStatusId", 1))
 26898  	}
 26899  	if s.DisplayOrder != nil && *s.DisplayOrder < 1 {
 26900  		invalidParams.Add(request.NewErrParamMinValue("DisplayOrder", 1))
 26901  	}
 26902  	if s.InstanceId == nil {
 26903  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 26904  	}
 26905  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 26906  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 26907  	}
 26908  	if s.Name != nil && len(*s.Name) < 1 {
 26909  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 26910  	}
 26911  
 26912  	if invalidParams.Len() > 0 {
 26913  		return invalidParams
 26914  	}
 26915  	return nil
 26916  }
 26917  
 26918  // SetAgentStatusId sets the AgentStatusId field's value.
 26919  func (s *UpdateAgentStatusInput) SetAgentStatusId(v string) *UpdateAgentStatusInput {
 26920  	s.AgentStatusId = &v
 26921  	return s
 26922  }
 26923  
 26924  // SetDescription sets the Description field's value.
 26925  func (s *UpdateAgentStatusInput) SetDescription(v string) *UpdateAgentStatusInput {
 26926  	s.Description = &v
 26927  	return s
 26928  }
 26929  
 26930  // SetDisplayOrder sets the DisplayOrder field's value.
 26931  func (s *UpdateAgentStatusInput) SetDisplayOrder(v int64) *UpdateAgentStatusInput {
 26932  	s.DisplayOrder = &v
 26933  	return s
 26934  }
 26935  
 26936  // SetInstanceId sets the InstanceId field's value.
 26937  func (s *UpdateAgentStatusInput) SetInstanceId(v string) *UpdateAgentStatusInput {
 26938  	s.InstanceId = &v
 26939  	return s
 26940  }
 26941  
 26942  // SetName sets the Name field's value.
 26943  func (s *UpdateAgentStatusInput) SetName(v string) *UpdateAgentStatusInput {
 26944  	s.Name = &v
 26945  	return s
 26946  }
 26947  
 26948  // SetResetOrderNumber sets the ResetOrderNumber field's value.
 26949  func (s *UpdateAgentStatusInput) SetResetOrderNumber(v bool) *UpdateAgentStatusInput {
 26950  	s.ResetOrderNumber = &v
 26951  	return s
 26952  }
 26953  
 26954  // SetState sets the State field's value.
 26955  func (s *UpdateAgentStatusInput) SetState(v string) *UpdateAgentStatusInput {
 26956  	s.State = &v
 26957  	return s
 26958  }
 26959  
 26960  type UpdateAgentStatusOutput struct {
 26961  	_ struct{} `type:"structure" nopayload:"true"`
 26962  }
 26963  
 26964  // String returns the string representation.
 26965  //
 26966  // API parameter values that are decorated as "sensitive" in the API will not
 26967  // be included in the string output. The member name will be present, but the
 26968  // value will be replaced with "sensitive".
 26969  func (s UpdateAgentStatusOutput) String() string {
 26970  	return awsutil.Prettify(s)
 26971  }
 26972  
 26973  // GoString returns the string representation.
 26974  //
 26975  // API parameter values that are decorated as "sensitive" in the API will not
 26976  // be included in the string output. The member name will be present, but the
 26977  // value will be replaced with "sensitive".
 26978  func (s UpdateAgentStatusOutput) GoString() string {
 26979  	return s.String()
 26980  }
 26981  
 26982  type UpdateContactAttributesInput struct {
 26983  	_ struct{} `type:"structure"`
 26984  
 26985  	// The Amazon Connect attributes. These attributes can be accessed in contact
 26986  	// flows just like any other contact attributes.
 26987  	//
 26988  	// You can have up to 32,768 UTF-8 bytes across all attributes for a contact.
 26989  	// Attribute keys can include only alphanumeric, dash, and underscore characters.
 26990  	//
 26991  	// Attributes is a required field
 26992  	Attributes map[string]*string `type:"map" required:"true"`
 26993  
 26994  	// The identifier of the contact. This is the identifier of the contact associated
 26995  	// with the first interaction with the contact center.
 26996  	//
 26997  	// InitialContactId is a required field
 26998  	InitialContactId *string `min:"1" type:"string" required:"true"`
 26999  
 27000  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27001  	// in the ARN of the instance.
 27002  	//
 27003  	// InstanceId is a required field
 27004  	InstanceId *string `min:"1" type:"string" required:"true"`
 27005  }
 27006  
 27007  // String returns the string representation.
 27008  //
 27009  // API parameter values that are decorated as "sensitive" in the API will not
 27010  // be included in the string output. The member name will be present, but the
 27011  // value will be replaced with "sensitive".
 27012  func (s UpdateContactAttributesInput) String() string {
 27013  	return awsutil.Prettify(s)
 27014  }
 27015  
 27016  // GoString returns the string representation.
 27017  //
 27018  // API parameter values that are decorated as "sensitive" in the API will not
 27019  // be included in the string output. The member name will be present, but the
 27020  // value will be replaced with "sensitive".
 27021  func (s UpdateContactAttributesInput) GoString() string {
 27022  	return s.String()
 27023  }
 27024  
 27025  // Validate inspects the fields of the type to determine if they are valid.
 27026  func (s *UpdateContactAttributesInput) Validate() error {
 27027  	invalidParams := request.ErrInvalidParams{Context: "UpdateContactAttributesInput"}
 27028  	if s.Attributes == nil {
 27029  		invalidParams.Add(request.NewErrParamRequired("Attributes"))
 27030  	}
 27031  	if s.InitialContactId == nil {
 27032  		invalidParams.Add(request.NewErrParamRequired("InitialContactId"))
 27033  	}
 27034  	if s.InitialContactId != nil && len(*s.InitialContactId) < 1 {
 27035  		invalidParams.Add(request.NewErrParamMinLen("InitialContactId", 1))
 27036  	}
 27037  	if s.InstanceId == nil {
 27038  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27039  	}
 27040  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27041  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27042  	}
 27043  
 27044  	if invalidParams.Len() > 0 {
 27045  		return invalidParams
 27046  	}
 27047  	return nil
 27048  }
 27049  
 27050  // SetAttributes sets the Attributes field's value.
 27051  func (s *UpdateContactAttributesInput) SetAttributes(v map[string]*string) *UpdateContactAttributesInput {
 27052  	s.Attributes = v
 27053  	return s
 27054  }
 27055  
 27056  // SetInitialContactId sets the InitialContactId field's value.
 27057  func (s *UpdateContactAttributesInput) SetInitialContactId(v string) *UpdateContactAttributesInput {
 27058  	s.InitialContactId = &v
 27059  	return s
 27060  }
 27061  
 27062  // SetInstanceId sets the InstanceId field's value.
 27063  func (s *UpdateContactAttributesInput) SetInstanceId(v string) *UpdateContactAttributesInput {
 27064  	s.InstanceId = &v
 27065  	return s
 27066  }
 27067  
 27068  type UpdateContactAttributesOutput struct {
 27069  	_ struct{} `type:"structure" nopayload:"true"`
 27070  }
 27071  
 27072  // String returns the string representation.
 27073  //
 27074  // API parameter values that are decorated as "sensitive" in the API will not
 27075  // be included in the string output. The member name will be present, but the
 27076  // value will be replaced with "sensitive".
 27077  func (s UpdateContactAttributesOutput) String() string {
 27078  	return awsutil.Prettify(s)
 27079  }
 27080  
 27081  // GoString returns the string representation.
 27082  //
 27083  // API parameter values that are decorated as "sensitive" in the API will not
 27084  // be included in the string output. The member name will be present, but the
 27085  // value will be replaced with "sensitive".
 27086  func (s UpdateContactAttributesOutput) GoString() string {
 27087  	return s.String()
 27088  }
 27089  
 27090  type UpdateContactFlowContentInput struct {
 27091  	_ struct{} `type:"structure"`
 27092  
 27093  	// The identifier of the contact flow.
 27094  	//
 27095  	// ContactFlowId is a required field
 27096  	ContactFlowId *string `location:"uri" locationName:"ContactFlowId" type:"string" required:"true"`
 27097  
 27098  	// The JSON string that represents contact flow’s content. For an example,
 27099  	// see Example contact flow in Amazon Connect Flow language (https://docs.aws.amazon.com/connect/latest/adminguide/flow-language-example.html)
 27100  	// in the Amazon Connect Administrator Guide.
 27101  	//
 27102  	// Content is a required field
 27103  	Content *string `type:"string" required:"true"`
 27104  
 27105  	// The identifier of the Amazon Connect instance.
 27106  	//
 27107  	// InstanceId is a required field
 27108  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27109  }
 27110  
 27111  // String returns the string representation.
 27112  //
 27113  // API parameter values that are decorated as "sensitive" in the API will not
 27114  // be included in the string output. The member name will be present, but the
 27115  // value will be replaced with "sensitive".
 27116  func (s UpdateContactFlowContentInput) String() string {
 27117  	return awsutil.Prettify(s)
 27118  }
 27119  
 27120  // GoString returns the string representation.
 27121  //
 27122  // API parameter values that are decorated as "sensitive" in the API will not
 27123  // be included in the string output. The member name will be present, but the
 27124  // value will be replaced with "sensitive".
 27125  func (s UpdateContactFlowContentInput) GoString() string {
 27126  	return s.String()
 27127  }
 27128  
 27129  // Validate inspects the fields of the type to determine if they are valid.
 27130  func (s *UpdateContactFlowContentInput) Validate() error {
 27131  	invalidParams := request.ErrInvalidParams{Context: "UpdateContactFlowContentInput"}
 27132  	if s.ContactFlowId == nil {
 27133  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 27134  	}
 27135  	if s.ContactFlowId != nil && len(*s.ContactFlowId) < 1 {
 27136  		invalidParams.Add(request.NewErrParamMinLen("ContactFlowId", 1))
 27137  	}
 27138  	if s.Content == nil {
 27139  		invalidParams.Add(request.NewErrParamRequired("Content"))
 27140  	}
 27141  	if s.InstanceId == nil {
 27142  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27143  	}
 27144  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27145  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27146  	}
 27147  
 27148  	if invalidParams.Len() > 0 {
 27149  		return invalidParams
 27150  	}
 27151  	return nil
 27152  }
 27153  
 27154  // SetContactFlowId sets the ContactFlowId field's value.
 27155  func (s *UpdateContactFlowContentInput) SetContactFlowId(v string) *UpdateContactFlowContentInput {
 27156  	s.ContactFlowId = &v
 27157  	return s
 27158  }
 27159  
 27160  // SetContent sets the Content field's value.
 27161  func (s *UpdateContactFlowContentInput) SetContent(v string) *UpdateContactFlowContentInput {
 27162  	s.Content = &v
 27163  	return s
 27164  }
 27165  
 27166  // SetInstanceId sets the InstanceId field's value.
 27167  func (s *UpdateContactFlowContentInput) SetInstanceId(v string) *UpdateContactFlowContentInput {
 27168  	s.InstanceId = &v
 27169  	return s
 27170  }
 27171  
 27172  type UpdateContactFlowContentOutput struct {
 27173  	_ struct{} `type:"structure" nopayload:"true"`
 27174  }
 27175  
 27176  // String returns the string representation.
 27177  //
 27178  // API parameter values that are decorated as "sensitive" in the API will not
 27179  // be included in the string output. The member name will be present, but the
 27180  // value will be replaced with "sensitive".
 27181  func (s UpdateContactFlowContentOutput) String() string {
 27182  	return awsutil.Prettify(s)
 27183  }
 27184  
 27185  // GoString returns the string representation.
 27186  //
 27187  // API parameter values that are decorated as "sensitive" in the API will not
 27188  // be included in the string output. The member name will be present, but the
 27189  // value will be replaced with "sensitive".
 27190  func (s UpdateContactFlowContentOutput) GoString() string {
 27191  	return s.String()
 27192  }
 27193  
 27194  type UpdateContactFlowNameInput struct {
 27195  	_ struct{} `type:"structure"`
 27196  
 27197  	// The identifier of the contact flow.
 27198  	//
 27199  	// ContactFlowId is a required field
 27200  	ContactFlowId *string `location:"uri" locationName:"ContactFlowId" type:"string" required:"true"`
 27201  
 27202  	// The description of the contact flow.
 27203  	Description *string `type:"string"`
 27204  
 27205  	// The identifier of the Amazon Connect instance.
 27206  	//
 27207  	// InstanceId is a required field
 27208  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27209  
 27210  	// The name of the contact flow.
 27211  	Name *string `min:"1" type:"string"`
 27212  }
 27213  
 27214  // String returns the string representation.
 27215  //
 27216  // API parameter values that are decorated as "sensitive" in the API will not
 27217  // be included in the string output. The member name will be present, but the
 27218  // value will be replaced with "sensitive".
 27219  func (s UpdateContactFlowNameInput) String() string {
 27220  	return awsutil.Prettify(s)
 27221  }
 27222  
 27223  // GoString returns the string representation.
 27224  //
 27225  // API parameter values that are decorated as "sensitive" in the API will not
 27226  // be included in the string output. The member name will be present, but the
 27227  // value will be replaced with "sensitive".
 27228  func (s UpdateContactFlowNameInput) GoString() string {
 27229  	return s.String()
 27230  }
 27231  
 27232  // Validate inspects the fields of the type to determine if they are valid.
 27233  func (s *UpdateContactFlowNameInput) Validate() error {
 27234  	invalidParams := request.ErrInvalidParams{Context: "UpdateContactFlowNameInput"}
 27235  	if s.ContactFlowId == nil {
 27236  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 27237  	}
 27238  	if s.ContactFlowId != nil && len(*s.ContactFlowId) < 1 {
 27239  		invalidParams.Add(request.NewErrParamMinLen("ContactFlowId", 1))
 27240  	}
 27241  	if s.InstanceId == nil {
 27242  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27243  	}
 27244  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27245  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27246  	}
 27247  	if s.Name != nil && len(*s.Name) < 1 {
 27248  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 27249  	}
 27250  
 27251  	if invalidParams.Len() > 0 {
 27252  		return invalidParams
 27253  	}
 27254  	return nil
 27255  }
 27256  
 27257  // SetContactFlowId sets the ContactFlowId field's value.
 27258  func (s *UpdateContactFlowNameInput) SetContactFlowId(v string) *UpdateContactFlowNameInput {
 27259  	s.ContactFlowId = &v
 27260  	return s
 27261  }
 27262  
 27263  // SetDescription sets the Description field's value.
 27264  func (s *UpdateContactFlowNameInput) SetDescription(v string) *UpdateContactFlowNameInput {
 27265  	s.Description = &v
 27266  	return s
 27267  }
 27268  
 27269  // SetInstanceId sets the InstanceId field's value.
 27270  func (s *UpdateContactFlowNameInput) SetInstanceId(v string) *UpdateContactFlowNameInput {
 27271  	s.InstanceId = &v
 27272  	return s
 27273  }
 27274  
 27275  // SetName sets the Name field's value.
 27276  func (s *UpdateContactFlowNameInput) SetName(v string) *UpdateContactFlowNameInput {
 27277  	s.Name = &v
 27278  	return s
 27279  }
 27280  
 27281  type UpdateContactFlowNameOutput struct {
 27282  	_ struct{} `type:"structure" nopayload:"true"`
 27283  }
 27284  
 27285  // String returns the string representation.
 27286  //
 27287  // API parameter values that are decorated as "sensitive" in the API will not
 27288  // be included in the string output. The member name will be present, but the
 27289  // value will be replaced with "sensitive".
 27290  func (s UpdateContactFlowNameOutput) String() string {
 27291  	return awsutil.Prettify(s)
 27292  }
 27293  
 27294  // GoString returns the string representation.
 27295  //
 27296  // API parameter values that are decorated as "sensitive" in the API will not
 27297  // be included in the string output. The member name will be present, but the
 27298  // value will be replaced with "sensitive".
 27299  func (s UpdateContactFlowNameOutput) GoString() string {
 27300  	return s.String()
 27301  }
 27302  
 27303  type UpdateHoursOfOperationInput struct {
 27304  	_ struct{} `type:"structure"`
 27305  
 27306  	// Configuration information of the hours of operation.
 27307  	Config []*HoursOfOperationConfig `type:"list"`
 27308  
 27309  	// The description of the hours of operation.
 27310  	Description *string `type:"string"`
 27311  
 27312  	// The identifier of the hours of operation.
 27313  	//
 27314  	// HoursOfOperationId is a required field
 27315  	HoursOfOperationId *string `location:"uri" locationName:"HoursOfOperationId" type:"string" required:"true"`
 27316  
 27317  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27318  	// in the ARN of the instance.
 27319  	//
 27320  	// InstanceId is a required field
 27321  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27322  
 27323  	// The name of the hours of operation.
 27324  	Name *string `min:"1" type:"string"`
 27325  
 27326  	// The time zone of the hours of operation.
 27327  	TimeZone *string `type:"string"`
 27328  }
 27329  
 27330  // String returns the string representation.
 27331  //
 27332  // API parameter values that are decorated as "sensitive" in the API will not
 27333  // be included in the string output. The member name will be present, but the
 27334  // value will be replaced with "sensitive".
 27335  func (s UpdateHoursOfOperationInput) String() string {
 27336  	return awsutil.Prettify(s)
 27337  }
 27338  
 27339  // GoString returns the string representation.
 27340  //
 27341  // API parameter values that are decorated as "sensitive" in the API will not
 27342  // be included in the string output. The member name will be present, but the
 27343  // value will be replaced with "sensitive".
 27344  func (s UpdateHoursOfOperationInput) GoString() string {
 27345  	return s.String()
 27346  }
 27347  
 27348  // Validate inspects the fields of the type to determine if they are valid.
 27349  func (s *UpdateHoursOfOperationInput) Validate() error {
 27350  	invalidParams := request.ErrInvalidParams{Context: "UpdateHoursOfOperationInput"}
 27351  	if s.HoursOfOperationId == nil {
 27352  		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
 27353  	}
 27354  	if s.HoursOfOperationId != nil && len(*s.HoursOfOperationId) < 1 {
 27355  		invalidParams.Add(request.NewErrParamMinLen("HoursOfOperationId", 1))
 27356  	}
 27357  	if s.InstanceId == nil {
 27358  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27359  	}
 27360  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27361  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27362  	}
 27363  	if s.Name != nil && len(*s.Name) < 1 {
 27364  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 27365  	}
 27366  	if s.Config != nil {
 27367  		for i, v := range s.Config {
 27368  			if v == nil {
 27369  				continue
 27370  			}
 27371  			if err := v.Validate(); err != nil {
 27372  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Config", i), err.(request.ErrInvalidParams))
 27373  			}
 27374  		}
 27375  	}
 27376  
 27377  	if invalidParams.Len() > 0 {
 27378  		return invalidParams
 27379  	}
 27380  	return nil
 27381  }
 27382  
 27383  // SetConfig sets the Config field's value.
 27384  func (s *UpdateHoursOfOperationInput) SetConfig(v []*HoursOfOperationConfig) *UpdateHoursOfOperationInput {
 27385  	s.Config = v
 27386  	return s
 27387  }
 27388  
 27389  // SetDescription sets the Description field's value.
 27390  func (s *UpdateHoursOfOperationInput) SetDescription(v string) *UpdateHoursOfOperationInput {
 27391  	s.Description = &v
 27392  	return s
 27393  }
 27394  
 27395  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 27396  func (s *UpdateHoursOfOperationInput) SetHoursOfOperationId(v string) *UpdateHoursOfOperationInput {
 27397  	s.HoursOfOperationId = &v
 27398  	return s
 27399  }
 27400  
 27401  // SetInstanceId sets the InstanceId field's value.
 27402  func (s *UpdateHoursOfOperationInput) SetInstanceId(v string) *UpdateHoursOfOperationInput {
 27403  	s.InstanceId = &v
 27404  	return s
 27405  }
 27406  
 27407  // SetName sets the Name field's value.
 27408  func (s *UpdateHoursOfOperationInput) SetName(v string) *UpdateHoursOfOperationInput {
 27409  	s.Name = &v
 27410  	return s
 27411  }
 27412  
 27413  // SetTimeZone sets the TimeZone field's value.
 27414  func (s *UpdateHoursOfOperationInput) SetTimeZone(v string) *UpdateHoursOfOperationInput {
 27415  	s.TimeZone = &v
 27416  	return s
 27417  }
 27418  
 27419  type UpdateHoursOfOperationOutput struct {
 27420  	_ struct{} `type:"structure" nopayload:"true"`
 27421  }
 27422  
 27423  // String returns the string representation.
 27424  //
 27425  // API parameter values that are decorated as "sensitive" in the API will not
 27426  // be included in the string output. The member name will be present, but the
 27427  // value will be replaced with "sensitive".
 27428  func (s UpdateHoursOfOperationOutput) String() string {
 27429  	return awsutil.Prettify(s)
 27430  }
 27431  
 27432  // GoString returns the string representation.
 27433  //
 27434  // API parameter values that are decorated as "sensitive" in the API will not
 27435  // be included in the string output. The member name will be present, but the
 27436  // value will be replaced with "sensitive".
 27437  func (s UpdateHoursOfOperationOutput) GoString() string {
 27438  	return s.String()
 27439  }
 27440  
 27441  type UpdateInstanceAttributeInput struct {
 27442  	_ struct{} `type:"structure"`
 27443  
 27444  	// The type of attribute.
 27445  	//
 27446  	// Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this
 27447  	// feature, contact AWS Support for allowlisting.
 27448  	//
 27449  	// AttributeType is a required field
 27450  	AttributeType *string `location:"uri" locationName:"AttributeType" type:"string" required:"true" enum:"InstanceAttributeType"`
 27451  
 27452  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27453  	// in the ARN of the instance.
 27454  	//
 27455  	// InstanceId is a required field
 27456  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27457  
 27458  	// The value for the attribute. Maximum character limit is 100.
 27459  	//
 27460  	// Value is a required field
 27461  	Value *string `min:"1" type:"string" required:"true"`
 27462  }
 27463  
 27464  // String returns the string representation.
 27465  //
 27466  // API parameter values that are decorated as "sensitive" in the API will not
 27467  // be included in the string output. The member name will be present, but the
 27468  // value will be replaced with "sensitive".
 27469  func (s UpdateInstanceAttributeInput) String() string {
 27470  	return awsutil.Prettify(s)
 27471  }
 27472  
 27473  // GoString returns the string representation.
 27474  //
 27475  // API parameter values that are decorated as "sensitive" in the API will not
 27476  // be included in the string output. The member name will be present, but the
 27477  // value will be replaced with "sensitive".
 27478  func (s UpdateInstanceAttributeInput) GoString() string {
 27479  	return s.String()
 27480  }
 27481  
 27482  // Validate inspects the fields of the type to determine if they are valid.
 27483  func (s *UpdateInstanceAttributeInput) Validate() error {
 27484  	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceAttributeInput"}
 27485  	if s.AttributeType == nil {
 27486  		invalidParams.Add(request.NewErrParamRequired("AttributeType"))
 27487  	}
 27488  	if s.AttributeType != nil && len(*s.AttributeType) < 1 {
 27489  		invalidParams.Add(request.NewErrParamMinLen("AttributeType", 1))
 27490  	}
 27491  	if s.InstanceId == nil {
 27492  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27493  	}
 27494  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27495  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27496  	}
 27497  	if s.Value == nil {
 27498  		invalidParams.Add(request.NewErrParamRequired("Value"))
 27499  	}
 27500  	if s.Value != nil && len(*s.Value) < 1 {
 27501  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
 27502  	}
 27503  
 27504  	if invalidParams.Len() > 0 {
 27505  		return invalidParams
 27506  	}
 27507  	return nil
 27508  }
 27509  
 27510  // SetAttributeType sets the AttributeType field's value.
 27511  func (s *UpdateInstanceAttributeInput) SetAttributeType(v string) *UpdateInstanceAttributeInput {
 27512  	s.AttributeType = &v
 27513  	return s
 27514  }
 27515  
 27516  // SetInstanceId sets the InstanceId field's value.
 27517  func (s *UpdateInstanceAttributeInput) SetInstanceId(v string) *UpdateInstanceAttributeInput {
 27518  	s.InstanceId = &v
 27519  	return s
 27520  }
 27521  
 27522  // SetValue sets the Value field's value.
 27523  func (s *UpdateInstanceAttributeInput) SetValue(v string) *UpdateInstanceAttributeInput {
 27524  	s.Value = &v
 27525  	return s
 27526  }
 27527  
 27528  type UpdateInstanceAttributeOutput struct {
 27529  	_ struct{} `type:"structure" nopayload:"true"`
 27530  }
 27531  
 27532  // String returns the string representation.
 27533  //
 27534  // API parameter values that are decorated as "sensitive" in the API will not
 27535  // be included in the string output. The member name will be present, but the
 27536  // value will be replaced with "sensitive".
 27537  func (s UpdateInstanceAttributeOutput) String() string {
 27538  	return awsutil.Prettify(s)
 27539  }
 27540  
 27541  // GoString returns the string representation.
 27542  //
 27543  // API parameter values that are decorated as "sensitive" in the API will not
 27544  // be included in the string output. The member name will be present, but the
 27545  // value will be replaced with "sensitive".
 27546  func (s UpdateInstanceAttributeOutput) GoString() string {
 27547  	return s.String()
 27548  }
 27549  
 27550  type UpdateInstanceStorageConfigInput struct {
 27551  	_ struct{} `type:"structure"`
 27552  
 27553  	// The existing association identifier that uniquely identifies the resource
 27554  	// type and storage config for the given instance ID.
 27555  	//
 27556  	// AssociationId is a required field
 27557  	AssociationId *string `location:"uri" locationName:"AssociationId" min:"1" type:"string" required:"true"`
 27558  
 27559  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27560  	// in the ARN of the instance.
 27561  	//
 27562  	// InstanceId is a required field
 27563  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27564  
 27565  	// A valid resource type.
 27566  	//
 27567  	// ResourceType is a required field
 27568  	ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true" enum:"InstanceStorageResourceType"`
 27569  
 27570  	// The storage configuration for the instance.
 27571  	//
 27572  	// StorageConfig is a required field
 27573  	StorageConfig *InstanceStorageConfig `type:"structure" required:"true"`
 27574  }
 27575  
 27576  // String returns the string representation.
 27577  //
 27578  // API parameter values that are decorated as "sensitive" in the API will not
 27579  // be included in the string output. The member name will be present, but the
 27580  // value will be replaced with "sensitive".
 27581  func (s UpdateInstanceStorageConfigInput) String() string {
 27582  	return awsutil.Prettify(s)
 27583  }
 27584  
 27585  // GoString returns the string representation.
 27586  //
 27587  // API parameter values that are decorated as "sensitive" in the API will not
 27588  // be included in the string output. The member name will be present, but the
 27589  // value will be replaced with "sensitive".
 27590  func (s UpdateInstanceStorageConfigInput) GoString() string {
 27591  	return s.String()
 27592  }
 27593  
 27594  // Validate inspects the fields of the type to determine if they are valid.
 27595  func (s *UpdateInstanceStorageConfigInput) Validate() error {
 27596  	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceStorageConfigInput"}
 27597  	if s.AssociationId == nil {
 27598  		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
 27599  	}
 27600  	if s.AssociationId != nil && len(*s.AssociationId) < 1 {
 27601  		invalidParams.Add(request.NewErrParamMinLen("AssociationId", 1))
 27602  	}
 27603  	if s.InstanceId == nil {
 27604  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27605  	}
 27606  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27607  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27608  	}
 27609  	if s.ResourceType == nil {
 27610  		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
 27611  	}
 27612  	if s.StorageConfig == nil {
 27613  		invalidParams.Add(request.NewErrParamRequired("StorageConfig"))
 27614  	}
 27615  	if s.StorageConfig != nil {
 27616  		if err := s.StorageConfig.Validate(); err != nil {
 27617  			invalidParams.AddNested("StorageConfig", err.(request.ErrInvalidParams))
 27618  		}
 27619  	}
 27620  
 27621  	if invalidParams.Len() > 0 {
 27622  		return invalidParams
 27623  	}
 27624  	return nil
 27625  }
 27626  
 27627  // SetAssociationId sets the AssociationId field's value.
 27628  func (s *UpdateInstanceStorageConfigInput) SetAssociationId(v string) *UpdateInstanceStorageConfigInput {
 27629  	s.AssociationId = &v
 27630  	return s
 27631  }
 27632  
 27633  // SetInstanceId sets the InstanceId field's value.
 27634  func (s *UpdateInstanceStorageConfigInput) SetInstanceId(v string) *UpdateInstanceStorageConfigInput {
 27635  	s.InstanceId = &v
 27636  	return s
 27637  }
 27638  
 27639  // SetResourceType sets the ResourceType field's value.
 27640  func (s *UpdateInstanceStorageConfigInput) SetResourceType(v string) *UpdateInstanceStorageConfigInput {
 27641  	s.ResourceType = &v
 27642  	return s
 27643  }
 27644  
 27645  // SetStorageConfig sets the StorageConfig field's value.
 27646  func (s *UpdateInstanceStorageConfigInput) SetStorageConfig(v *InstanceStorageConfig) *UpdateInstanceStorageConfigInput {
 27647  	s.StorageConfig = v
 27648  	return s
 27649  }
 27650  
 27651  type UpdateInstanceStorageConfigOutput struct {
 27652  	_ struct{} `type:"structure" nopayload:"true"`
 27653  }
 27654  
 27655  // String returns the string representation.
 27656  //
 27657  // API parameter values that are decorated as "sensitive" in the API will not
 27658  // be included in the string output. The member name will be present, but the
 27659  // value will be replaced with "sensitive".
 27660  func (s UpdateInstanceStorageConfigOutput) String() string {
 27661  	return awsutil.Prettify(s)
 27662  }
 27663  
 27664  // GoString returns the string representation.
 27665  //
 27666  // API parameter values that are decorated as "sensitive" in the API will not
 27667  // be included in the string output. The member name will be present, but the
 27668  // value will be replaced with "sensitive".
 27669  func (s UpdateInstanceStorageConfigOutput) GoString() string {
 27670  	return s.String()
 27671  }
 27672  
 27673  type UpdateQueueHoursOfOperationInput struct {
 27674  	_ struct{} `type:"structure"`
 27675  
 27676  	// The identifier for the hours of operation.
 27677  	//
 27678  	// HoursOfOperationId is a required field
 27679  	HoursOfOperationId *string `type:"string" required:"true"`
 27680  
 27681  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27682  	// in the ARN of the instance.
 27683  	//
 27684  	// InstanceId is a required field
 27685  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27686  
 27687  	// The identifier for the queue.
 27688  	//
 27689  	// QueueId is a required field
 27690  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 27691  }
 27692  
 27693  // String returns the string representation.
 27694  //
 27695  // API parameter values that are decorated as "sensitive" in the API will not
 27696  // be included in the string output. The member name will be present, but the
 27697  // value will be replaced with "sensitive".
 27698  func (s UpdateQueueHoursOfOperationInput) String() string {
 27699  	return awsutil.Prettify(s)
 27700  }
 27701  
 27702  // GoString returns the string representation.
 27703  //
 27704  // API parameter values that are decorated as "sensitive" in the API will not
 27705  // be included in the string output. The member name will be present, but the
 27706  // value will be replaced with "sensitive".
 27707  func (s UpdateQueueHoursOfOperationInput) GoString() string {
 27708  	return s.String()
 27709  }
 27710  
 27711  // Validate inspects the fields of the type to determine if they are valid.
 27712  func (s *UpdateQueueHoursOfOperationInput) Validate() error {
 27713  	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueHoursOfOperationInput"}
 27714  	if s.HoursOfOperationId == nil {
 27715  		invalidParams.Add(request.NewErrParamRequired("HoursOfOperationId"))
 27716  	}
 27717  	if s.InstanceId == nil {
 27718  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27719  	}
 27720  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27721  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27722  	}
 27723  	if s.QueueId == nil {
 27724  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 27725  	}
 27726  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 27727  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 27728  	}
 27729  
 27730  	if invalidParams.Len() > 0 {
 27731  		return invalidParams
 27732  	}
 27733  	return nil
 27734  }
 27735  
 27736  // SetHoursOfOperationId sets the HoursOfOperationId field's value.
 27737  func (s *UpdateQueueHoursOfOperationInput) SetHoursOfOperationId(v string) *UpdateQueueHoursOfOperationInput {
 27738  	s.HoursOfOperationId = &v
 27739  	return s
 27740  }
 27741  
 27742  // SetInstanceId sets the InstanceId field's value.
 27743  func (s *UpdateQueueHoursOfOperationInput) SetInstanceId(v string) *UpdateQueueHoursOfOperationInput {
 27744  	s.InstanceId = &v
 27745  	return s
 27746  }
 27747  
 27748  // SetQueueId sets the QueueId field's value.
 27749  func (s *UpdateQueueHoursOfOperationInput) SetQueueId(v string) *UpdateQueueHoursOfOperationInput {
 27750  	s.QueueId = &v
 27751  	return s
 27752  }
 27753  
 27754  type UpdateQueueHoursOfOperationOutput struct {
 27755  	_ struct{} `type:"structure" nopayload:"true"`
 27756  }
 27757  
 27758  // String returns the string representation.
 27759  //
 27760  // API parameter values that are decorated as "sensitive" in the API will not
 27761  // be included in the string output. The member name will be present, but the
 27762  // value will be replaced with "sensitive".
 27763  func (s UpdateQueueHoursOfOperationOutput) String() string {
 27764  	return awsutil.Prettify(s)
 27765  }
 27766  
 27767  // GoString returns the string representation.
 27768  //
 27769  // API parameter values that are decorated as "sensitive" in the API will not
 27770  // be included in the string output. The member name will be present, but the
 27771  // value will be replaced with "sensitive".
 27772  func (s UpdateQueueHoursOfOperationOutput) GoString() string {
 27773  	return s.String()
 27774  }
 27775  
 27776  type UpdateQueueMaxContactsInput struct {
 27777  	_ struct{} `type:"structure"`
 27778  
 27779  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27780  	// in the ARN of the instance.
 27781  	//
 27782  	// InstanceId is a required field
 27783  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27784  
 27785  	// The maximum number of contacts that can be in the queue before it is considered
 27786  	// full.
 27787  	MaxContacts *int64 `type:"integer"`
 27788  
 27789  	// The identifier for the queue.
 27790  	//
 27791  	// QueueId is a required field
 27792  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 27793  }
 27794  
 27795  // String returns the string representation.
 27796  //
 27797  // API parameter values that are decorated as "sensitive" in the API will not
 27798  // be included in the string output. The member name will be present, but the
 27799  // value will be replaced with "sensitive".
 27800  func (s UpdateQueueMaxContactsInput) String() string {
 27801  	return awsutil.Prettify(s)
 27802  }
 27803  
 27804  // GoString returns the string representation.
 27805  //
 27806  // API parameter values that are decorated as "sensitive" in the API will not
 27807  // be included in the string output. The member name will be present, but the
 27808  // value will be replaced with "sensitive".
 27809  func (s UpdateQueueMaxContactsInput) GoString() string {
 27810  	return s.String()
 27811  }
 27812  
 27813  // Validate inspects the fields of the type to determine if they are valid.
 27814  func (s *UpdateQueueMaxContactsInput) Validate() error {
 27815  	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueMaxContactsInput"}
 27816  	if s.InstanceId == nil {
 27817  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27818  	}
 27819  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27820  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27821  	}
 27822  	if s.QueueId == nil {
 27823  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 27824  	}
 27825  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 27826  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 27827  	}
 27828  
 27829  	if invalidParams.Len() > 0 {
 27830  		return invalidParams
 27831  	}
 27832  	return nil
 27833  }
 27834  
 27835  // SetInstanceId sets the InstanceId field's value.
 27836  func (s *UpdateQueueMaxContactsInput) SetInstanceId(v string) *UpdateQueueMaxContactsInput {
 27837  	s.InstanceId = &v
 27838  	return s
 27839  }
 27840  
 27841  // SetMaxContacts sets the MaxContacts field's value.
 27842  func (s *UpdateQueueMaxContactsInput) SetMaxContacts(v int64) *UpdateQueueMaxContactsInput {
 27843  	s.MaxContacts = &v
 27844  	return s
 27845  }
 27846  
 27847  // SetQueueId sets the QueueId field's value.
 27848  func (s *UpdateQueueMaxContactsInput) SetQueueId(v string) *UpdateQueueMaxContactsInput {
 27849  	s.QueueId = &v
 27850  	return s
 27851  }
 27852  
 27853  type UpdateQueueMaxContactsOutput struct {
 27854  	_ struct{} `type:"structure" nopayload:"true"`
 27855  }
 27856  
 27857  // String returns the string representation.
 27858  //
 27859  // API parameter values that are decorated as "sensitive" in the API will not
 27860  // be included in the string output. The member name will be present, but the
 27861  // value will be replaced with "sensitive".
 27862  func (s UpdateQueueMaxContactsOutput) String() string {
 27863  	return awsutil.Prettify(s)
 27864  }
 27865  
 27866  // GoString returns the string representation.
 27867  //
 27868  // API parameter values that are decorated as "sensitive" in the API will not
 27869  // be included in the string output. The member name will be present, but the
 27870  // value will be replaced with "sensitive".
 27871  func (s UpdateQueueMaxContactsOutput) GoString() string {
 27872  	return s.String()
 27873  }
 27874  
 27875  type UpdateQueueNameInput struct {
 27876  	_ struct{} `type:"structure"`
 27877  
 27878  	// The description of the queue.
 27879  	Description *string `min:"1" type:"string"`
 27880  
 27881  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27882  	// in the ARN of the instance.
 27883  	//
 27884  	// InstanceId is a required field
 27885  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27886  
 27887  	// The name of the queue.
 27888  	Name *string `min:"1" type:"string"`
 27889  
 27890  	// The identifier for the queue.
 27891  	//
 27892  	// QueueId is a required field
 27893  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 27894  }
 27895  
 27896  // String returns the string representation.
 27897  //
 27898  // API parameter values that are decorated as "sensitive" in the API will not
 27899  // be included in the string output. The member name will be present, but the
 27900  // value will be replaced with "sensitive".
 27901  func (s UpdateQueueNameInput) String() string {
 27902  	return awsutil.Prettify(s)
 27903  }
 27904  
 27905  // GoString returns the string representation.
 27906  //
 27907  // API parameter values that are decorated as "sensitive" in the API will not
 27908  // be included in the string output. The member name will be present, but the
 27909  // value will be replaced with "sensitive".
 27910  func (s UpdateQueueNameInput) GoString() string {
 27911  	return s.String()
 27912  }
 27913  
 27914  // Validate inspects the fields of the type to determine if they are valid.
 27915  func (s *UpdateQueueNameInput) Validate() error {
 27916  	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueNameInput"}
 27917  	if s.Description != nil && len(*s.Description) < 1 {
 27918  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 27919  	}
 27920  	if s.InstanceId == nil {
 27921  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 27922  	}
 27923  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 27924  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 27925  	}
 27926  	if s.Name != nil && len(*s.Name) < 1 {
 27927  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 27928  	}
 27929  	if s.QueueId == nil {
 27930  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 27931  	}
 27932  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 27933  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 27934  	}
 27935  
 27936  	if invalidParams.Len() > 0 {
 27937  		return invalidParams
 27938  	}
 27939  	return nil
 27940  }
 27941  
 27942  // SetDescription sets the Description field's value.
 27943  func (s *UpdateQueueNameInput) SetDescription(v string) *UpdateQueueNameInput {
 27944  	s.Description = &v
 27945  	return s
 27946  }
 27947  
 27948  // SetInstanceId sets the InstanceId field's value.
 27949  func (s *UpdateQueueNameInput) SetInstanceId(v string) *UpdateQueueNameInput {
 27950  	s.InstanceId = &v
 27951  	return s
 27952  }
 27953  
 27954  // SetName sets the Name field's value.
 27955  func (s *UpdateQueueNameInput) SetName(v string) *UpdateQueueNameInput {
 27956  	s.Name = &v
 27957  	return s
 27958  }
 27959  
 27960  // SetQueueId sets the QueueId field's value.
 27961  func (s *UpdateQueueNameInput) SetQueueId(v string) *UpdateQueueNameInput {
 27962  	s.QueueId = &v
 27963  	return s
 27964  }
 27965  
 27966  type UpdateQueueNameOutput struct {
 27967  	_ struct{} `type:"structure" nopayload:"true"`
 27968  }
 27969  
 27970  // String returns the string representation.
 27971  //
 27972  // API parameter values that are decorated as "sensitive" in the API will not
 27973  // be included in the string output. The member name will be present, but the
 27974  // value will be replaced with "sensitive".
 27975  func (s UpdateQueueNameOutput) String() string {
 27976  	return awsutil.Prettify(s)
 27977  }
 27978  
 27979  // GoString returns the string representation.
 27980  //
 27981  // API parameter values that are decorated as "sensitive" in the API will not
 27982  // be included in the string output. The member name will be present, but the
 27983  // value will be replaced with "sensitive".
 27984  func (s UpdateQueueNameOutput) GoString() string {
 27985  	return s.String()
 27986  }
 27987  
 27988  type UpdateQueueOutboundCallerConfigInput struct {
 27989  	_ struct{} `type:"structure"`
 27990  
 27991  	// The identifier of the Amazon Connect instance. You can find the instanceId
 27992  	// in the ARN of the instance.
 27993  	//
 27994  	// InstanceId is a required field
 27995  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 27996  
 27997  	// The outbound caller ID name, number, and outbound whisper flow.
 27998  	//
 27999  	// OutboundCallerConfig is a required field
 28000  	OutboundCallerConfig *OutboundCallerConfig `type:"structure" required:"true"`
 28001  
 28002  	// The identifier for the queue.
 28003  	//
 28004  	// QueueId is a required field
 28005  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 28006  }
 28007  
 28008  // String returns the string representation.
 28009  //
 28010  // API parameter values that are decorated as "sensitive" in the API will not
 28011  // be included in the string output. The member name will be present, but the
 28012  // value will be replaced with "sensitive".
 28013  func (s UpdateQueueOutboundCallerConfigInput) String() string {
 28014  	return awsutil.Prettify(s)
 28015  }
 28016  
 28017  // GoString returns the string representation.
 28018  //
 28019  // API parameter values that are decorated as "sensitive" in the API will not
 28020  // be included in the string output. The member name will be present, but the
 28021  // value will be replaced with "sensitive".
 28022  func (s UpdateQueueOutboundCallerConfigInput) GoString() string {
 28023  	return s.String()
 28024  }
 28025  
 28026  // Validate inspects the fields of the type to determine if they are valid.
 28027  func (s *UpdateQueueOutboundCallerConfigInput) Validate() error {
 28028  	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueOutboundCallerConfigInput"}
 28029  	if s.InstanceId == nil {
 28030  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28031  	}
 28032  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28033  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28034  	}
 28035  	if s.OutboundCallerConfig == nil {
 28036  		invalidParams.Add(request.NewErrParamRequired("OutboundCallerConfig"))
 28037  	}
 28038  	if s.QueueId == nil {
 28039  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 28040  	}
 28041  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 28042  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 28043  	}
 28044  	if s.OutboundCallerConfig != nil {
 28045  		if err := s.OutboundCallerConfig.Validate(); err != nil {
 28046  			invalidParams.AddNested("OutboundCallerConfig", err.(request.ErrInvalidParams))
 28047  		}
 28048  	}
 28049  
 28050  	if invalidParams.Len() > 0 {
 28051  		return invalidParams
 28052  	}
 28053  	return nil
 28054  }
 28055  
 28056  // SetInstanceId sets the InstanceId field's value.
 28057  func (s *UpdateQueueOutboundCallerConfigInput) SetInstanceId(v string) *UpdateQueueOutboundCallerConfigInput {
 28058  	s.InstanceId = &v
 28059  	return s
 28060  }
 28061  
 28062  // SetOutboundCallerConfig sets the OutboundCallerConfig field's value.
 28063  func (s *UpdateQueueOutboundCallerConfigInput) SetOutboundCallerConfig(v *OutboundCallerConfig) *UpdateQueueOutboundCallerConfigInput {
 28064  	s.OutboundCallerConfig = v
 28065  	return s
 28066  }
 28067  
 28068  // SetQueueId sets the QueueId field's value.
 28069  func (s *UpdateQueueOutboundCallerConfigInput) SetQueueId(v string) *UpdateQueueOutboundCallerConfigInput {
 28070  	s.QueueId = &v
 28071  	return s
 28072  }
 28073  
 28074  type UpdateQueueOutboundCallerConfigOutput struct {
 28075  	_ struct{} `type:"structure" nopayload:"true"`
 28076  }
 28077  
 28078  // String returns the string representation.
 28079  //
 28080  // API parameter values that are decorated as "sensitive" in the API will not
 28081  // be included in the string output. The member name will be present, but the
 28082  // value will be replaced with "sensitive".
 28083  func (s UpdateQueueOutboundCallerConfigOutput) String() string {
 28084  	return awsutil.Prettify(s)
 28085  }
 28086  
 28087  // GoString returns the string representation.
 28088  //
 28089  // API parameter values that are decorated as "sensitive" in the API will not
 28090  // be included in the string output. The member name will be present, but the
 28091  // value will be replaced with "sensitive".
 28092  func (s UpdateQueueOutboundCallerConfigOutput) GoString() string {
 28093  	return s.String()
 28094  }
 28095  
 28096  type UpdateQueueStatusInput struct {
 28097  	_ struct{} `type:"structure"`
 28098  
 28099  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28100  	// in the ARN of the instance.
 28101  	//
 28102  	// InstanceId is a required field
 28103  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28104  
 28105  	// The identifier for the queue.
 28106  	//
 28107  	// QueueId is a required field
 28108  	QueueId *string `location:"uri" locationName:"QueueId" type:"string" required:"true"`
 28109  
 28110  	// The status of the queue.
 28111  	//
 28112  	// Status is a required field
 28113  	Status *string `type:"string" required:"true" enum:"QueueStatus"`
 28114  }
 28115  
 28116  // String returns the string representation.
 28117  //
 28118  // API parameter values that are decorated as "sensitive" in the API will not
 28119  // be included in the string output. The member name will be present, but the
 28120  // value will be replaced with "sensitive".
 28121  func (s UpdateQueueStatusInput) String() string {
 28122  	return awsutil.Prettify(s)
 28123  }
 28124  
 28125  // GoString returns the string representation.
 28126  //
 28127  // API parameter values that are decorated as "sensitive" in the API will not
 28128  // be included in the string output. The member name will be present, but the
 28129  // value will be replaced with "sensitive".
 28130  func (s UpdateQueueStatusInput) GoString() string {
 28131  	return s.String()
 28132  }
 28133  
 28134  // Validate inspects the fields of the type to determine if they are valid.
 28135  func (s *UpdateQueueStatusInput) Validate() error {
 28136  	invalidParams := request.ErrInvalidParams{Context: "UpdateQueueStatusInput"}
 28137  	if s.InstanceId == nil {
 28138  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28139  	}
 28140  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28141  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28142  	}
 28143  	if s.QueueId == nil {
 28144  		invalidParams.Add(request.NewErrParamRequired("QueueId"))
 28145  	}
 28146  	if s.QueueId != nil && len(*s.QueueId) < 1 {
 28147  		invalidParams.Add(request.NewErrParamMinLen("QueueId", 1))
 28148  	}
 28149  	if s.Status == nil {
 28150  		invalidParams.Add(request.NewErrParamRequired("Status"))
 28151  	}
 28152  
 28153  	if invalidParams.Len() > 0 {
 28154  		return invalidParams
 28155  	}
 28156  	return nil
 28157  }
 28158  
 28159  // SetInstanceId sets the InstanceId field's value.
 28160  func (s *UpdateQueueStatusInput) SetInstanceId(v string) *UpdateQueueStatusInput {
 28161  	s.InstanceId = &v
 28162  	return s
 28163  }
 28164  
 28165  // SetQueueId sets the QueueId field's value.
 28166  func (s *UpdateQueueStatusInput) SetQueueId(v string) *UpdateQueueStatusInput {
 28167  	s.QueueId = &v
 28168  	return s
 28169  }
 28170  
 28171  // SetStatus sets the Status field's value.
 28172  func (s *UpdateQueueStatusInput) SetStatus(v string) *UpdateQueueStatusInput {
 28173  	s.Status = &v
 28174  	return s
 28175  }
 28176  
 28177  type UpdateQueueStatusOutput struct {
 28178  	_ struct{} `type:"structure" nopayload:"true"`
 28179  }
 28180  
 28181  // String returns the string representation.
 28182  //
 28183  // API parameter values that are decorated as "sensitive" in the API will not
 28184  // be included in the string output. The member name will be present, but the
 28185  // value will be replaced with "sensitive".
 28186  func (s UpdateQueueStatusOutput) String() string {
 28187  	return awsutil.Prettify(s)
 28188  }
 28189  
 28190  // GoString returns the string representation.
 28191  //
 28192  // API parameter values that are decorated as "sensitive" in the API will not
 28193  // be included in the string output. The member name will be present, but the
 28194  // value will be replaced with "sensitive".
 28195  func (s UpdateQueueStatusOutput) GoString() string {
 28196  	return s.String()
 28197  }
 28198  
 28199  type UpdateQuickConnectConfigInput struct {
 28200  	_ struct{} `type:"structure"`
 28201  
 28202  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28203  	// in the ARN of the instance.
 28204  	//
 28205  	// InstanceId is a required field
 28206  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28207  
 28208  	// Information about the configuration settings for the quick connect.
 28209  	//
 28210  	// QuickConnectConfig is a required field
 28211  	QuickConnectConfig *QuickConnectConfig `type:"structure" required:"true"`
 28212  
 28213  	// The identifier for the quick connect.
 28214  	//
 28215  	// QuickConnectId is a required field
 28216  	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
 28217  }
 28218  
 28219  // String returns the string representation.
 28220  //
 28221  // API parameter values that are decorated as "sensitive" in the API will not
 28222  // be included in the string output. The member name will be present, but the
 28223  // value will be replaced with "sensitive".
 28224  func (s UpdateQuickConnectConfigInput) String() string {
 28225  	return awsutil.Prettify(s)
 28226  }
 28227  
 28228  // GoString returns the string representation.
 28229  //
 28230  // API parameter values that are decorated as "sensitive" in the API will not
 28231  // be included in the string output. The member name will be present, but the
 28232  // value will be replaced with "sensitive".
 28233  func (s UpdateQuickConnectConfigInput) GoString() string {
 28234  	return s.String()
 28235  }
 28236  
 28237  // Validate inspects the fields of the type to determine if they are valid.
 28238  func (s *UpdateQuickConnectConfigInput) Validate() error {
 28239  	invalidParams := request.ErrInvalidParams{Context: "UpdateQuickConnectConfigInput"}
 28240  	if s.InstanceId == nil {
 28241  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28242  	}
 28243  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28244  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28245  	}
 28246  	if s.QuickConnectConfig == nil {
 28247  		invalidParams.Add(request.NewErrParamRequired("QuickConnectConfig"))
 28248  	}
 28249  	if s.QuickConnectId == nil {
 28250  		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
 28251  	}
 28252  	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
 28253  		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
 28254  	}
 28255  	if s.QuickConnectConfig != nil {
 28256  		if err := s.QuickConnectConfig.Validate(); err != nil {
 28257  			invalidParams.AddNested("QuickConnectConfig", err.(request.ErrInvalidParams))
 28258  		}
 28259  	}
 28260  
 28261  	if invalidParams.Len() > 0 {
 28262  		return invalidParams
 28263  	}
 28264  	return nil
 28265  }
 28266  
 28267  // SetInstanceId sets the InstanceId field's value.
 28268  func (s *UpdateQuickConnectConfigInput) SetInstanceId(v string) *UpdateQuickConnectConfigInput {
 28269  	s.InstanceId = &v
 28270  	return s
 28271  }
 28272  
 28273  // SetQuickConnectConfig sets the QuickConnectConfig field's value.
 28274  func (s *UpdateQuickConnectConfigInput) SetQuickConnectConfig(v *QuickConnectConfig) *UpdateQuickConnectConfigInput {
 28275  	s.QuickConnectConfig = v
 28276  	return s
 28277  }
 28278  
 28279  // SetQuickConnectId sets the QuickConnectId field's value.
 28280  func (s *UpdateQuickConnectConfigInput) SetQuickConnectId(v string) *UpdateQuickConnectConfigInput {
 28281  	s.QuickConnectId = &v
 28282  	return s
 28283  }
 28284  
 28285  type UpdateQuickConnectConfigOutput struct {
 28286  	_ struct{} `type:"structure" nopayload:"true"`
 28287  }
 28288  
 28289  // String returns the string representation.
 28290  //
 28291  // API parameter values that are decorated as "sensitive" in the API will not
 28292  // be included in the string output. The member name will be present, but the
 28293  // value will be replaced with "sensitive".
 28294  func (s UpdateQuickConnectConfigOutput) String() string {
 28295  	return awsutil.Prettify(s)
 28296  }
 28297  
 28298  // GoString returns the string representation.
 28299  //
 28300  // API parameter values that are decorated as "sensitive" in the API will not
 28301  // be included in the string output. The member name will be present, but the
 28302  // value will be replaced with "sensitive".
 28303  func (s UpdateQuickConnectConfigOutput) GoString() string {
 28304  	return s.String()
 28305  }
 28306  
 28307  type UpdateQuickConnectNameInput struct {
 28308  	_ struct{} `type:"structure"`
 28309  
 28310  	// The description of the quick connect.
 28311  	Description *string `type:"string"`
 28312  
 28313  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28314  	// in the ARN of the instance.
 28315  	//
 28316  	// InstanceId is a required field
 28317  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28318  
 28319  	// The name of the quick connect.
 28320  	Name *string `min:"1" type:"string"`
 28321  
 28322  	// The identifier for the quick connect.
 28323  	//
 28324  	// QuickConnectId is a required field
 28325  	QuickConnectId *string `location:"uri" locationName:"QuickConnectId" type:"string" required:"true"`
 28326  }
 28327  
 28328  // String returns the string representation.
 28329  //
 28330  // API parameter values that are decorated as "sensitive" in the API will not
 28331  // be included in the string output. The member name will be present, but the
 28332  // value will be replaced with "sensitive".
 28333  func (s UpdateQuickConnectNameInput) String() string {
 28334  	return awsutil.Prettify(s)
 28335  }
 28336  
 28337  // GoString returns the string representation.
 28338  //
 28339  // API parameter values that are decorated as "sensitive" in the API will not
 28340  // be included in the string output. The member name will be present, but the
 28341  // value will be replaced with "sensitive".
 28342  func (s UpdateQuickConnectNameInput) GoString() string {
 28343  	return s.String()
 28344  }
 28345  
 28346  // Validate inspects the fields of the type to determine if they are valid.
 28347  func (s *UpdateQuickConnectNameInput) Validate() error {
 28348  	invalidParams := request.ErrInvalidParams{Context: "UpdateQuickConnectNameInput"}
 28349  	if s.InstanceId == nil {
 28350  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28351  	}
 28352  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28353  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28354  	}
 28355  	if s.Name != nil && len(*s.Name) < 1 {
 28356  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 28357  	}
 28358  	if s.QuickConnectId == nil {
 28359  		invalidParams.Add(request.NewErrParamRequired("QuickConnectId"))
 28360  	}
 28361  	if s.QuickConnectId != nil && len(*s.QuickConnectId) < 1 {
 28362  		invalidParams.Add(request.NewErrParamMinLen("QuickConnectId", 1))
 28363  	}
 28364  
 28365  	if invalidParams.Len() > 0 {
 28366  		return invalidParams
 28367  	}
 28368  	return nil
 28369  }
 28370  
 28371  // SetDescription sets the Description field's value.
 28372  func (s *UpdateQuickConnectNameInput) SetDescription(v string) *UpdateQuickConnectNameInput {
 28373  	s.Description = &v
 28374  	return s
 28375  }
 28376  
 28377  // SetInstanceId sets the InstanceId field's value.
 28378  func (s *UpdateQuickConnectNameInput) SetInstanceId(v string) *UpdateQuickConnectNameInput {
 28379  	s.InstanceId = &v
 28380  	return s
 28381  }
 28382  
 28383  // SetName sets the Name field's value.
 28384  func (s *UpdateQuickConnectNameInput) SetName(v string) *UpdateQuickConnectNameInput {
 28385  	s.Name = &v
 28386  	return s
 28387  }
 28388  
 28389  // SetQuickConnectId sets the QuickConnectId field's value.
 28390  func (s *UpdateQuickConnectNameInput) SetQuickConnectId(v string) *UpdateQuickConnectNameInput {
 28391  	s.QuickConnectId = &v
 28392  	return s
 28393  }
 28394  
 28395  type UpdateQuickConnectNameOutput struct {
 28396  	_ struct{} `type:"structure" nopayload:"true"`
 28397  }
 28398  
 28399  // String returns the string representation.
 28400  //
 28401  // API parameter values that are decorated as "sensitive" in the API will not
 28402  // be included in the string output. The member name will be present, but the
 28403  // value will be replaced with "sensitive".
 28404  func (s UpdateQuickConnectNameOutput) String() string {
 28405  	return awsutil.Prettify(s)
 28406  }
 28407  
 28408  // GoString returns the string representation.
 28409  //
 28410  // API parameter values that are decorated as "sensitive" in the API will not
 28411  // be included in the string output. The member name will be present, but the
 28412  // value will be replaced with "sensitive".
 28413  func (s UpdateQuickConnectNameOutput) GoString() string {
 28414  	return s.String()
 28415  }
 28416  
 28417  type UpdateRoutingProfileConcurrencyInput struct {
 28418  	_ struct{} `type:"structure"`
 28419  
 28420  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28421  	// in the ARN of the instance.
 28422  	//
 28423  	// InstanceId is a required field
 28424  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28425  
 28426  	// The channels that agents can handle in the Contact Control Panel (CCP).
 28427  	//
 28428  	// MediaConcurrencies is a required field
 28429  	MediaConcurrencies []*MediaConcurrency `type:"list" required:"true"`
 28430  
 28431  	// The identifier of the routing profile.
 28432  	//
 28433  	// RoutingProfileId is a required field
 28434  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 28435  }
 28436  
 28437  // String returns the string representation.
 28438  //
 28439  // API parameter values that are decorated as "sensitive" in the API will not
 28440  // be included in the string output. The member name will be present, but the
 28441  // value will be replaced with "sensitive".
 28442  func (s UpdateRoutingProfileConcurrencyInput) String() string {
 28443  	return awsutil.Prettify(s)
 28444  }
 28445  
 28446  // GoString returns the string representation.
 28447  //
 28448  // API parameter values that are decorated as "sensitive" in the API will not
 28449  // be included in the string output. The member name will be present, but the
 28450  // value will be replaced with "sensitive".
 28451  func (s UpdateRoutingProfileConcurrencyInput) GoString() string {
 28452  	return s.String()
 28453  }
 28454  
 28455  // Validate inspects the fields of the type to determine if they are valid.
 28456  func (s *UpdateRoutingProfileConcurrencyInput) Validate() error {
 28457  	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileConcurrencyInput"}
 28458  	if s.InstanceId == nil {
 28459  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28460  	}
 28461  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28462  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28463  	}
 28464  	if s.MediaConcurrencies == nil {
 28465  		invalidParams.Add(request.NewErrParamRequired("MediaConcurrencies"))
 28466  	}
 28467  	if s.RoutingProfileId == nil {
 28468  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 28469  	}
 28470  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 28471  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 28472  	}
 28473  	if s.MediaConcurrencies != nil {
 28474  		for i, v := range s.MediaConcurrencies {
 28475  			if v == nil {
 28476  				continue
 28477  			}
 28478  			if err := v.Validate(); err != nil {
 28479  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MediaConcurrencies", i), err.(request.ErrInvalidParams))
 28480  			}
 28481  		}
 28482  	}
 28483  
 28484  	if invalidParams.Len() > 0 {
 28485  		return invalidParams
 28486  	}
 28487  	return nil
 28488  }
 28489  
 28490  // SetInstanceId sets the InstanceId field's value.
 28491  func (s *UpdateRoutingProfileConcurrencyInput) SetInstanceId(v string) *UpdateRoutingProfileConcurrencyInput {
 28492  	s.InstanceId = &v
 28493  	return s
 28494  }
 28495  
 28496  // SetMediaConcurrencies sets the MediaConcurrencies field's value.
 28497  func (s *UpdateRoutingProfileConcurrencyInput) SetMediaConcurrencies(v []*MediaConcurrency) *UpdateRoutingProfileConcurrencyInput {
 28498  	s.MediaConcurrencies = v
 28499  	return s
 28500  }
 28501  
 28502  // SetRoutingProfileId sets the RoutingProfileId field's value.
 28503  func (s *UpdateRoutingProfileConcurrencyInput) SetRoutingProfileId(v string) *UpdateRoutingProfileConcurrencyInput {
 28504  	s.RoutingProfileId = &v
 28505  	return s
 28506  }
 28507  
 28508  type UpdateRoutingProfileConcurrencyOutput struct {
 28509  	_ struct{} `type:"structure" nopayload:"true"`
 28510  }
 28511  
 28512  // String returns the string representation.
 28513  //
 28514  // API parameter values that are decorated as "sensitive" in the API will not
 28515  // be included in the string output. The member name will be present, but the
 28516  // value will be replaced with "sensitive".
 28517  func (s UpdateRoutingProfileConcurrencyOutput) String() string {
 28518  	return awsutil.Prettify(s)
 28519  }
 28520  
 28521  // GoString returns the string representation.
 28522  //
 28523  // API parameter values that are decorated as "sensitive" in the API will not
 28524  // be included in the string output. The member name will be present, but the
 28525  // value will be replaced with "sensitive".
 28526  func (s UpdateRoutingProfileConcurrencyOutput) GoString() string {
 28527  	return s.String()
 28528  }
 28529  
 28530  type UpdateRoutingProfileDefaultOutboundQueueInput struct {
 28531  	_ struct{} `type:"structure"`
 28532  
 28533  	// The identifier for the default outbound queue.
 28534  	//
 28535  	// DefaultOutboundQueueId is a required field
 28536  	DefaultOutboundQueueId *string `type:"string" required:"true"`
 28537  
 28538  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28539  	// in the ARN of the instance.
 28540  	//
 28541  	// InstanceId is a required field
 28542  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28543  
 28544  	// The identifier of the routing profile.
 28545  	//
 28546  	// RoutingProfileId is a required field
 28547  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 28548  }
 28549  
 28550  // String returns the string representation.
 28551  //
 28552  // API parameter values that are decorated as "sensitive" in the API will not
 28553  // be included in the string output. The member name will be present, but the
 28554  // value will be replaced with "sensitive".
 28555  func (s UpdateRoutingProfileDefaultOutboundQueueInput) String() string {
 28556  	return awsutil.Prettify(s)
 28557  }
 28558  
 28559  // GoString returns the string representation.
 28560  //
 28561  // API parameter values that are decorated as "sensitive" in the API will not
 28562  // be included in the string output. The member name will be present, but the
 28563  // value will be replaced with "sensitive".
 28564  func (s UpdateRoutingProfileDefaultOutboundQueueInput) GoString() string {
 28565  	return s.String()
 28566  }
 28567  
 28568  // Validate inspects the fields of the type to determine if they are valid.
 28569  func (s *UpdateRoutingProfileDefaultOutboundQueueInput) Validate() error {
 28570  	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileDefaultOutboundQueueInput"}
 28571  	if s.DefaultOutboundQueueId == nil {
 28572  		invalidParams.Add(request.NewErrParamRequired("DefaultOutboundQueueId"))
 28573  	}
 28574  	if s.InstanceId == nil {
 28575  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28576  	}
 28577  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28578  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28579  	}
 28580  	if s.RoutingProfileId == nil {
 28581  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 28582  	}
 28583  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 28584  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 28585  	}
 28586  
 28587  	if invalidParams.Len() > 0 {
 28588  		return invalidParams
 28589  	}
 28590  	return nil
 28591  }
 28592  
 28593  // SetDefaultOutboundQueueId sets the DefaultOutboundQueueId field's value.
 28594  func (s *UpdateRoutingProfileDefaultOutboundQueueInput) SetDefaultOutboundQueueId(v string) *UpdateRoutingProfileDefaultOutboundQueueInput {
 28595  	s.DefaultOutboundQueueId = &v
 28596  	return s
 28597  }
 28598  
 28599  // SetInstanceId sets the InstanceId field's value.
 28600  func (s *UpdateRoutingProfileDefaultOutboundQueueInput) SetInstanceId(v string) *UpdateRoutingProfileDefaultOutboundQueueInput {
 28601  	s.InstanceId = &v
 28602  	return s
 28603  }
 28604  
 28605  // SetRoutingProfileId sets the RoutingProfileId field's value.
 28606  func (s *UpdateRoutingProfileDefaultOutboundQueueInput) SetRoutingProfileId(v string) *UpdateRoutingProfileDefaultOutboundQueueInput {
 28607  	s.RoutingProfileId = &v
 28608  	return s
 28609  }
 28610  
 28611  type UpdateRoutingProfileDefaultOutboundQueueOutput struct {
 28612  	_ struct{} `type:"structure" nopayload:"true"`
 28613  }
 28614  
 28615  // String returns the string representation.
 28616  //
 28617  // API parameter values that are decorated as "sensitive" in the API will not
 28618  // be included in the string output. The member name will be present, but the
 28619  // value will be replaced with "sensitive".
 28620  func (s UpdateRoutingProfileDefaultOutboundQueueOutput) String() string {
 28621  	return awsutil.Prettify(s)
 28622  }
 28623  
 28624  // GoString returns the string representation.
 28625  //
 28626  // API parameter values that are decorated as "sensitive" in the API will not
 28627  // be included in the string output. The member name will be present, but the
 28628  // value will be replaced with "sensitive".
 28629  func (s UpdateRoutingProfileDefaultOutboundQueueOutput) GoString() string {
 28630  	return s.String()
 28631  }
 28632  
 28633  type UpdateRoutingProfileNameInput struct {
 28634  	_ struct{} `type:"structure"`
 28635  
 28636  	// The description of the routing profile. Must not be more than 250 characters.
 28637  	Description *string `min:"1" type:"string"`
 28638  
 28639  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28640  	// in the ARN of the instance.
 28641  	//
 28642  	// InstanceId is a required field
 28643  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28644  
 28645  	// The name of the routing profile. Must not be more than 127 characters.
 28646  	Name *string `min:"1" type:"string"`
 28647  
 28648  	// The identifier of the routing profile.
 28649  	//
 28650  	// RoutingProfileId is a required field
 28651  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 28652  }
 28653  
 28654  // String returns the string representation.
 28655  //
 28656  // API parameter values that are decorated as "sensitive" in the API will not
 28657  // be included in the string output. The member name will be present, but the
 28658  // value will be replaced with "sensitive".
 28659  func (s UpdateRoutingProfileNameInput) String() string {
 28660  	return awsutil.Prettify(s)
 28661  }
 28662  
 28663  // GoString returns the string representation.
 28664  //
 28665  // API parameter values that are decorated as "sensitive" in the API will not
 28666  // be included in the string output. The member name will be present, but the
 28667  // value will be replaced with "sensitive".
 28668  func (s UpdateRoutingProfileNameInput) GoString() string {
 28669  	return s.String()
 28670  }
 28671  
 28672  // Validate inspects the fields of the type to determine if they are valid.
 28673  func (s *UpdateRoutingProfileNameInput) Validate() error {
 28674  	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileNameInput"}
 28675  	if s.Description != nil && len(*s.Description) < 1 {
 28676  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 28677  	}
 28678  	if s.InstanceId == nil {
 28679  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28680  	}
 28681  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28682  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28683  	}
 28684  	if s.Name != nil && len(*s.Name) < 1 {
 28685  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 28686  	}
 28687  	if s.RoutingProfileId == nil {
 28688  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 28689  	}
 28690  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 28691  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 28692  	}
 28693  
 28694  	if invalidParams.Len() > 0 {
 28695  		return invalidParams
 28696  	}
 28697  	return nil
 28698  }
 28699  
 28700  // SetDescription sets the Description field's value.
 28701  func (s *UpdateRoutingProfileNameInput) SetDescription(v string) *UpdateRoutingProfileNameInput {
 28702  	s.Description = &v
 28703  	return s
 28704  }
 28705  
 28706  // SetInstanceId sets the InstanceId field's value.
 28707  func (s *UpdateRoutingProfileNameInput) SetInstanceId(v string) *UpdateRoutingProfileNameInput {
 28708  	s.InstanceId = &v
 28709  	return s
 28710  }
 28711  
 28712  // SetName sets the Name field's value.
 28713  func (s *UpdateRoutingProfileNameInput) SetName(v string) *UpdateRoutingProfileNameInput {
 28714  	s.Name = &v
 28715  	return s
 28716  }
 28717  
 28718  // SetRoutingProfileId sets the RoutingProfileId field's value.
 28719  func (s *UpdateRoutingProfileNameInput) SetRoutingProfileId(v string) *UpdateRoutingProfileNameInput {
 28720  	s.RoutingProfileId = &v
 28721  	return s
 28722  }
 28723  
 28724  type UpdateRoutingProfileNameOutput struct {
 28725  	_ struct{} `type:"structure" nopayload:"true"`
 28726  }
 28727  
 28728  // String returns the string representation.
 28729  //
 28730  // API parameter values that are decorated as "sensitive" in the API will not
 28731  // be included in the string output. The member name will be present, but the
 28732  // value will be replaced with "sensitive".
 28733  func (s UpdateRoutingProfileNameOutput) String() string {
 28734  	return awsutil.Prettify(s)
 28735  }
 28736  
 28737  // GoString returns the string representation.
 28738  //
 28739  // API parameter values that are decorated as "sensitive" in the API will not
 28740  // be included in the string output. The member name will be present, but the
 28741  // value will be replaced with "sensitive".
 28742  func (s UpdateRoutingProfileNameOutput) GoString() string {
 28743  	return s.String()
 28744  }
 28745  
 28746  type UpdateRoutingProfileQueuesInput struct {
 28747  	_ struct{} `type:"structure"`
 28748  
 28749  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28750  	// in the ARN of the instance.
 28751  	//
 28752  	// InstanceId is a required field
 28753  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28754  
 28755  	// The queues to be updated for this routing profile. Queues must first be associated
 28756  	// to the routing profile. You can do this using AssociateRoutingProfileQueues.
 28757  	//
 28758  	// QueueConfigs is a required field
 28759  	QueueConfigs []*RoutingProfileQueueConfig `min:"1" type:"list" required:"true"`
 28760  
 28761  	// The identifier of the routing profile.
 28762  	//
 28763  	// RoutingProfileId is a required field
 28764  	RoutingProfileId *string `location:"uri" locationName:"RoutingProfileId" type:"string" required:"true"`
 28765  }
 28766  
 28767  // String returns the string representation.
 28768  //
 28769  // API parameter values that are decorated as "sensitive" in the API will not
 28770  // be included in the string output. The member name will be present, but the
 28771  // value will be replaced with "sensitive".
 28772  func (s UpdateRoutingProfileQueuesInput) String() string {
 28773  	return awsutil.Prettify(s)
 28774  }
 28775  
 28776  // GoString returns the string representation.
 28777  //
 28778  // API parameter values that are decorated as "sensitive" in the API will not
 28779  // be included in the string output. The member name will be present, but the
 28780  // value will be replaced with "sensitive".
 28781  func (s UpdateRoutingProfileQueuesInput) GoString() string {
 28782  	return s.String()
 28783  }
 28784  
 28785  // Validate inspects the fields of the type to determine if they are valid.
 28786  func (s *UpdateRoutingProfileQueuesInput) Validate() error {
 28787  	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingProfileQueuesInput"}
 28788  	if s.InstanceId == nil {
 28789  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28790  	}
 28791  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28792  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28793  	}
 28794  	if s.QueueConfigs == nil {
 28795  		invalidParams.Add(request.NewErrParamRequired("QueueConfigs"))
 28796  	}
 28797  	if s.QueueConfigs != nil && len(s.QueueConfigs) < 1 {
 28798  		invalidParams.Add(request.NewErrParamMinLen("QueueConfigs", 1))
 28799  	}
 28800  	if s.RoutingProfileId == nil {
 28801  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 28802  	}
 28803  	if s.RoutingProfileId != nil && len(*s.RoutingProfileId) < 1 {
 28804  		invalidParams.Add(request.NewErrParamMinLen("RoutingProfileId", 1))
 28805  	}
 28806  	if s.QueueConfigs != nil {
 28807  		for i, v := range s.QueueConfigs {
 28808  			if v == nil {
 28809  				continue
 28810  			}
 28811  			if err := v.Validate(); err != nil {
 28812  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "QueueConfigs", i), err.(request.ErrInvalidParams))
 28813  			}
 28814  		}
 28815  	}
 28816  
 28817  	if invalidParams.Len() > 0 {
 28818  		return invalidParams
 28819  	}
 28820  	return nil
 28821  }
 28822  
 28823  // SetInstanceId sets the InstanceId field's value.
 28824  func (s *UpdateRoutingProfileQueuesInput) SetInstanceId(v string) *UpdateRoutingProfileQueuesInput {
 28825  	s.InstanceId = &v
 28826  	return s
 28827  }
 28828  
 28829  // SetQueueConfigs sets the QueueConfigs field's value.
 28830  func (s *UpdateRoutingProfileQueuesInput) SetQueueConfigs(v []*RoutingProfileQueueConfig) *UpdateRoutingProfileQueuesInput {
 28831  	s.QueueConfigs = v
 28832  	return s
 28833  }
 28834  
 28835  // SetRoutingProfileId sets the RoutingProfileId field's value.
 28836  func (s *UpdateRoutingProfileQueuesInput) SetRoutingProfileId(v string) *UpdateRoutingProfileQueuesInput {
 28837  	s.RoutingProfileId = &v
 28838  	return s
 28839  }
 28840  
 28841  type UpdateRoutingProfileQueuesOutput struct {
 28842  	_ struct{} `type:"structure" nopayload:"true"`
 28843  }
 28844  
 28845  // String returns the string representation.
 28846  //
 28847  // API parameter values that are decorated as "sensitive" in the API will not
 28848  // be included in the string output. The member name will be present, but the
 28849  // value will be replaced with "sensitive".
 28850  func (s UpdateRoutingProfileQueuesOutput) String() string {
 28851  	return awsutil.Prettify(s)
 28852  }
 28853  
 28854  // GoString returns the string representation.
 28855  //
 28856  // API parameter values that are decorated as "sensitive" in the API will not
 28857  // be included in the string output. The member name will be present, but the
 28858  // value will be replaced with "sensitive".
 28859  func (s UpdateRoutingProfileQueuesOutput) GoString() string {
 28860  	return s.String()
 28861  }
 28862  
 28863  type UpdateUserHierarchyGroupNameInput struct {
 28864  	_ struct{} `type:"structure"`
 28865  
 28866  	// The identifier of the hierarchy group.
 28867  	//
 28868  	// HierarchyGroupId is a required field
 28869  	HierarchyGroupId *string `location:"uri" locationName:"HierarchyGroupId" type:"string" required:"true"`
 28870  
 28871  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28872  	// in the ARN of the instance.
 28873  	//
 28874  	// InstanceId is a required field
 28875  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28876  
 28877  	// The name of the hierarchy group. Must not be more than 100 characters.
 28878  	//
 28879  	// Name is a required field
 28880  	Name *string `type:"string" required:"true"`
 28881  }
 28882  
 28883  // String returns the string representation.
 28884  //
 28885  // API parameter values that are decorated as "sensitive" in the API will not
 28886  // be included in the string output. The member name will be present, but the
 28887  // value will be replaced with "sensitive".
 28888  func (s UpdateUserHierarchyGroupNameInput) String() string {
 28889  	return awsutil.Prettify(s)
 28890  }
 28891  
 28892  // GoString returns the string representation.
 28893  //
 28894  // API parameter values that are decorated as "sensitive" in the API will not
 28895  // be included in the string output. The member name will be present, but the
 28896  // value will be replaced with "sensitive".
 28897  func (s UpdateUserHierarchyGroupNameInput) GoString() string {
 28898  	return s.String()
 28899  }
 28900  
 28901  // Validate inspects the fields of the type to determine if they are valid.
 28902  func (s *UpdateUserHierarchyGroupNameInput) Validate() error {
 28903  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserHierarchyGroupNameInput"}
 28904  	if s.HierarchyGroupId == nil {
 28905  		invalidParams.Add(request.NewErrParamRequired("HierarchyGroupId"))
 28906  	}
 28907  	if s.HierarchyGroupId != nil && len(*s.HierarchyGroupId) < 1 {
 28908  		invalidParams.Add(request.NewErrParamMinLen("HierarchyGroupId", 1))
 28909  	}
 28910  	if s.InstanceId == nil {
 28911  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 28912  	}
 28913  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 28914  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 28915  	}
 28916  	if s.Name == nil {
 28917  		invalidParams.Add(request.NewErrParamRequired("Name"))
 28918  	}
 28919  
 28920  	if invalidParams.Len() > 0 {
 28921  		return invalidParams
 28922  	}
 28923  	return nil
 28924  }
 28925  
 28926  // SetHierarchyGroupId sets the HierarchyGroupId field's value.
 28927  func (s *UpdateUserHierarchyGroupNameInput) SetHierarchyGroupId(v string) *UpdateUserHierarchyGroupNameInput {
 28928  	s.HierarchyGroupId = &v
 28929  	return s
 28930  }
 28931  
 28932  // SetInstanceId sets the InstanceId field's value.
 28933  func (s *UpdateUserHierarchyGroupNameInput) SetInstanceId(v string) *UpdateUserHierarchyGroupNameInput {
 28934  	s.InstanceId = &v
 28935  	return s
 28936  }
 28937  
 28938  // SetName sets the Name field's value.
 28939  func (s *UpdateUserHierarchyGroupNameInput) SetName(v string) *UpdateUserHierarchyGroupNameInput {
 28940  	s.Name = &v
 28941  	return s
 28942  }
 28943  
 28944  type UpdateUserHierarchyGroupNameOutput struct {
 28945  	_ struct{} `type:"structure" nopayload:"true"`
 28946  }
 28947  
 28948  // String returns the string representation.
 28949  //
 28950  // API parameter values that are decorated as "sensitive" in the API will not
 28951  // be included in the string output. The member name will be present, but the
 28952  // value will be replaced with "sensitive".
 28953  func (s UpdateUserHierarchyGroupNameOutput) String() string {
 28954  	return awsutil.Prettify(s)
 28955  }
 28956  
 28957  // GoString returns the string representation.
 28958  //
 28959  // API parameter values that are decorated as "sensitive" in the API will not
 28960  // be included in the string output. The member name will be present, but the
 28961  // value will be replaced with "sensitive".
 28962  func (s UpdateUserHierarchyGroupNameOutput) GoString() string {
 28963  	return s.String()
 28964  }
 28965  
 28966  type UpdateUserHierarchyInput struct {
 28967  	_ struct{} `type:"structure"`
 28968  
 28969  	// The identifier of the hierarchy group.
 28970  	HierarchyGroupId *string `type:"string"`
 28971  
 28972  	// The identifier of the Amazon Connect instance. You can find the instanceId
 28973  	// in the ARN of the instance.
 28974  	//
 28975  	// InstanceId is a required field
 28976  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 28977  
 28978  	// The identifier of the user account.
 28979  	//
 28980  	// UserId is a required field
 28981  	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
 28982  }
 28983  
 28984  // String returns the string representation.
 28985  //
 28986  // API parameter values that are decorated as "sensitive" in the API will not
 28987  // be included in the string output. The member name will be present, but the
 28988  // value will be replaced with "sensitive".
 28989  func (s UpdateUserHierarchyInput) String() string {
 28990  	return awsutil.Prettify(s)
 28991  }
 28992  
 28993  // GoString returns the string representation.
 28994  //
 28995  // API parameter values that are decorated as "sensitive" in the API will not
 28996  // be included in the string output. The member name will be present, but the
 28997  // value will be replaced with "sensitive".
 28998  func (s UpdateUserHierarchyInput) GoString() string {
 28999  	return s.String()
 29000  }
 29001  
 29002  // Validate inspects the fields of the type to determine if they are valid.
 29003  func (s *UpdateUserHierarchyInput) Validate() error {
 29004  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserHierarchyInput"}
 29005  	if s.InstanceId == nil {
 29006  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 29007  	}
 29008  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 29009  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 29010  	}
 29011  	if s.UserId == nil {
 29012  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 29013  	}
 29014  	if s.UserId != nil && len(*s.UserId) < 1 {
 29015  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 29016  	}
 29017  
 29018  	if invalidParams.Len() > 0 {
 29019  		return invalidParams
 29020  	}
 29021  	return nil
 29022  }
 29023  
 29024  // SetHierarchyGroupId sets the HierarchyGroupId field's value.
 29025  func (s *UpdateUserHierarchyInput) SetHierarchyGroupId(v string) *UpdateUserHierarchyInput {
 29026  	s.HierarchyGroupId = &v
 29027  	return s
 29028  }
 29029  
 29030  // SetInstanceId sets the InstanceId field's value.
 29031  func (s *UpdateUserHierarchyInput) SetInstanceId(v string) *UpdateUserHierarchyInput {
 29032  	s.InstanceId = &v
 29033  	return s
 29034  }
 29035  
 29036  // SetUserId sets the UserId field's value.
 29037  func (s *UpdateUserHierarchyInput) SetUserId(v string) *UpdateUserHierarchyInput {
 29038  	s.UserId = &v
 29039  	return s
 29040  }
 29041  
 29042  type UpdateUserHierarchyOutput struct {
 29043  	_ struct{} `type:"structure" nopayload:"true"`
 29044  }
 29045  
 29046  // String returns the string representation.
 29047  //
 29048  // API parameter values that are decorated as "sensitive" in the API will not
 29049  // be included in the string output. The member name will be present, but the
 29050  // value will be replaced with "sensitive".
 29051  func (s UpdateUserHierarchyOutput) String() string {
 29052  	return awsutil.Prettify(s)
 29053  }
 29054  
 29055  // GoString returns the string representation.
 29056  //
 29057  // API parameter values that are decorated as "sensitive" in the API will not
 29058  // be included in the string output. The member name will be present, but the
 29059  // value will be replaced with "sensitive".
 29060  func (s UpdateUserHierarchyOutput) GoString() string {
 29061  	return s.String()
 29062  }
 29063  
 29064  type UpdateUserHierarchyStructureInput struct {
 29065  	_ struct{} `type:"structure"`
 29066  
 29067  	// The hierarchy levels to update.
 29068  	//
 29069  	// HierarchyStructure is a required field
 29070  	HierarchyStructure *HierarchyStructureUpdate `type:"structure" required:"true"`
 29071  
 29072  	// The identifier of the Amazon Connect instance. You can find the instanceId
 29073  	// in the ARN of the instance.
 29074  	//
 29075  	// InstanceId is a required field
 29076  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 29077  }
 29078  
 29079  // String returns the string representation.
 29080  //
 29081  // API parameter values that are decorated as "sensitive" in the API will not
 29082  // be included in the string output. The member name will be present, but the
 29083  // value will be replaced with "sensitive".
 29084  func (s UpdateUserHierarchyStructureInput) String() string {
 29085  	return awsutil.Prettify(s)
 29086  }
 29087  
 29088  // GoString returns the string representation.
 29089  //
 29090  // API parameter values that are decorated as "sensitive" in the API will not
 29091  // be included in the string output. The member name will be present, but the
 29092  // value will be replaced with "sensitive".
 29093  func (s UpdateUserHierarchyStructureInput) GoString() string {
 29094  	return s.String()
 29095  }
 29096  
 29097  // Validate inspects the fields of the type to determine if they are valid.
 29098  func (s *UpdateUserHierarchyStructureInput) Validate() error {
 29099  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserHierarchyStructureInput"}
 29100  	if s.HierarchyStructure == nil {
 29101  		invalidParams.Add(request.NewErrParamRequired("HierarchyStructure"))
 29102  	}
 29103  	if s.InstanceId == nil {
 29104  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 29105  	}
 29106  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 29107  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 29108  	}
 29109  	if s.HierarchyStructure != nil {
 29110  		if err := s.HierarchyStructure.Validate(); err != nil {
 29111  			invalidParams.AddNested("HierarchyStructure", err.(request.ErrInvalidParams))
 29112  		}
 29113  	}
 29114  
 29115  	if invalidParams.Len() > 0 {
 29116  		return invalidParams
 29117  	}
 29118  	return nil
 29119  }
 29120  
 29121  // SetHierarchyStructure sets the HierarchyStructure field's value.
 29122  func (s *UpdateUserHierarchyStructureInput) SetHierarchyStructure(v *HierarchyStructureUpdate) *UpdateUserHierarchyStructureInput {
 29123  	s.HierarchyStructure = v
 29124  	return s
 29125  }
 29126  
 29127  // SetInstanceId sets the InstanceId field's value.
 29128  func (s *UpdateUserHierarchyStructureInput) SetInstanceId(v string) *UpdateUserHierarchyStructureInput {
 29129  	s.InstanceId = &v
 29130  	return s
 29131  }
 29132  
 29133  type UpdateUserHierarchyStructureOutput struct {
 29134  	_ struct{} `type:"structure" nopayload:"true"`
 29135  }
 29136  
 29137  // String returns the string representation.
 29138  //
 29139  // API parameter values that are decorated as "sensitive" in the API will not
 29140  // be included in the string output. The member name will be present, but the
 29141  // value will be replaced with "sensitive".
 29142  func (s UpdateUserHierarchyStructureOutput) String() string {
 29143  	return awsutil.Prettify(s)
 29144  }
 29145  
 29146  // GoString returns the string representation.
 29147  //
 29148  // API parameter values that are decorated as "sensitive" in the API will not
 29149  // be included in the string output. The member name will be present, but the
 29150  // value will be replaced with "sensitive".
 29151  func (s UpdateUserHierarchyStructureOutput) GoString() string {
 29152  	return s.String()
 29153  }
 29154  
 29155  type UpdateUserIdentityInfoInput struct {
 29156  	_ struct{} `type:"structure"`
 29157  
 29158  	// The identity information for the user.
 29159  	//
 29160  	// IdentityInfo is a required field
 29161  	IdentityInfo *UserIdentityInfo `type:"structure" required:"true"`
 29162  
 29163  	// The identifier of the Amazon Connect instance. You can find the instanceId
 29164  	// in the ARN of the instance.
 29165  	//
 29166  	// InstanceId is a required field
 29167  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 29168  
 29169  	// The identifier of the user account.
 29170  	//
 29171  	// UserId is a required field
 29172  	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
 29173  }
 29174  
 29175  // String returns the string representation.
 29176  //
 29177  // API parameter values that are decorated as "sensitive" in the API will not
 29178  // be included in the string output. The member name will be present, but the
 29179  // value will be replaced with "sensitive".
 29180  func (s UpdateUserIdentityInfoInput) String() string {
 29181  	return awsutil.Prettify(s)
 29182  }
 29183  
 29184  // GoString returns the string representation.
 29185  //
 29186  // API parameter values that are decorated as "sensitive" in the API will not
 29187  // be included in the string output. The member name will be present, but the
 29188  // value will be replaced with "sensitive".
 29189  func (s UpdateUserIdentityInfoInput) GoString() string {
 29190  	return s.String()
 29191  }
 29192  
 29193  // Validate inspects the fields of the type to determine if they are valid.
 29194  func (s *UpdateUserIdentityInfoInput) Validate() error {
 29195  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserIdentityInfoInput"}
 29196  	if s.IdentityInfo == nil {
 29197  		invalidParams.Add(request.NewErrParamRequired("IdentityInfo"))
 29198  	}
 29199  	if s.InstanceId == nil {
 29200  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 29201  	}
 29202  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 29203  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 29204  	}
 29205  	if s.UserId == nil {
 29206  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 29207  	}
 29208  	if s.UserId != nil && len(*s.UserId) < 1 {
 29209  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 29210  	}
 29211  	if s.IdentityInfo != nil {
 29212  		if err := s.IdentityInfo.Validate(); err != nil {
 29213  			invalidParams.AddNested("IdentityInfo", err.(request.ErrInvalidParams))
 29214  		}
 29215  	}
 29216  
 29217  	if invalidParams.Len() > 0 {
 29218  		return invalidParams
 29219  	}
 29220  	return nil
 29221  }
 29222  
 29223  // SetIdentityInfo sets the IdentityInfo field's value.
 29224  func (s *UpdateUserIdentityInfoInput) SetIdentityInfo(v *UserIdentityInfo) *UpdateUserIdentityInfoInput {
 29225  	s.IdentityInfo = v
 29226  	return s
 29227  }
 29228  
 29229  // SetInstanceId sets the InstanceId field's value.
 29230  func (s *UpdateUserIdentityInfoInput) SetInstanceId(v string) *UpdateUserIdentityInfoInput {
 29231  	s.InstanceId = &v
 29232  	return s
 29233  }
 29234  
 29235  // SetUserId sets the UserId field's value.
 29236  func (s *UpdateUserIdentityInfoInput) SetUserId(v string) *UpdateUserIdentityInfoInput {
 29237  	s.UserId = &v
 29238  	return s
 29239  }
 29240  
 29241  type UpdateUserIdentityInfoOutput struct {
 29242  	_ struct{} `type:"structure" nopayload:"true"`
 29243  }
 29244  
 29245  // String returns the string representation.
 29246  //
 29247  // API parameter values that are decorated as "sensitive" in the API will not
 29248  // be included in the string output. The member name will be present, but the
 29249  // value will be replaced with "sensitive".
 29250  func (s UpdateUserIdentityInfoOutput) String() string {
 29251  	return awsutil.Prettify(s)
 29252  }
 29253  
 29254  // GoString returns the string representation.
 29255  //
 29256  // API parameter values that are decorated as "sensitive" in the API will not
 29257  // be included in the string output. The member name will be present, but the
 29258  // value will be replaced with "sensitive".
 29259  func (s UpdateUserIdentityInfoOutput) GoString() string {
 29260  	return s.String()
 29261  }
 29262  
 29263  type UpdateUserPhoneConfigInput struct {
 29264  	_ struct{} `type:"structure"`
 29265  
 29266  	// The identifier of the Amazon Connect instance. You can find the instanceId
 29267  	// in the ARN of the instance.
 29268  	//
 29269  	// InstanceId is a required field
 29270  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 29271  
 29272  	// Information about phone configuration settings for the user.
 29273  	//
 29274  	// PhoneConfig is a required field
 29275  	PhoneConfig *UserPhoneConfig `type:"structure" required:"true"`
 29276  
 29277  	// The identifier of the user account.
 29278  	//
 29279  	// UserId is a required field
 29280  	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
 29281  }
 29282  
 29283  // String returns the string representation.
 29284  //
 29285  // API parameter values that are decorated as "sensitive" in the API will not
 29286  // be included in the string output. The member name will be present, but the
 29287  // value will be replaced with "sensitive".
 29288  func (s UpdateUserPhoneConfigInput) String() string {
 29289  	return awsutil.Prettify(s)
 29290  }
 29291  
 29292  // GoString returns the string representation.
 29293  //
 29294  // API parameter values that are decorated as "sensitive" in the API will not
 29295  // be included in the string output. The member name will be present, but the
 29296  // value will be replaced with "sensitive".
 29297  func (s UpdateUserPhoneConfigInput) GoString() string {
 29298  	return s.String()
 29299  }
 29300  
 29301  // Validate inspects the fields of the type to determine if they are valid.
 29302  func (s *UpdateUserPhoneConfigInput) Validate() error {
 29303  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserPhoneConfigInput"}
 29304  	if s.InstanceId == nil {
 29305  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 29306  	}
 29307  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 29308  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 29309  	}
 29310  	if s.PhoneConfig == nil {
 29311  		invalidParams.Add(request.NewErrParamRequired("PhoneConfig"))
 29312  	}
 29313  	if s.UserId == nil {
 29314  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 29315  	}
 29316  	if s.UserId != nil && len(*s.UserId) < 1 {
 29317  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 29318  	}
 29319  	if s.PhoneConfig != nil {
 29320  		if err := s.PhoneConfig.Validate(); err != nil {
 29321  			invalidParams.AddNested("PhoneConfig", err.(request.ErrInvalidParams))
 29322  		}
 29323  	}
 29324  
 29325  	if invalidParams.Len() > 0 {
 29326  		return invalidParams
 29327  	}
 29328  	return nil
 29329  }
 29330  
 29331  // SetInstanceId sets the InstanceId field's value.
 29332  func (s *UpdateUserPhoneConfigInput) SetInstanceId(v string) *UpdateUserPhoneConfigInput {
 29333  	s.InstanceId = &v
 29334  	return s
 29335  }
 29336  
 29337  // SetPhoneConfig sets the PhoneConfig field's value.
 29338  func (s *UpdateUserPhoneConfigInput) SetPhoneConfig(v *UserPhoneConfig) *UpdateUserPhoneConfigInput {
 29339  	s.PhoneConfig = v
 29340  	return s
 29341  }
 29342  
 29343  // SetUserId sets the UserId field's value.
 29344  func (s *UpdateUserPhoneConfigInput) SetUserId(v string) *UpdateUserPhoneConfigInput {
 29345  	s.UserId = &v
 29346  	return s
 29347  }
 29348  
 29349  type UpdateUserPhoneConfigOutput struct {
 29350  	_ struct{} `type:"structure" nopayload:"true"`
 29351  }
 29352  
 29353  // String returns the string representation.
 29354  //
 29355  // API parameter values that are decorated as "sensitive" in the API will not
 29356  // be included in the string output. The member name will be present, but the
 29357  // value will be replaced with "sensitive".
 29358  func (s UpdateUserPhoneConfigOutput) String() string {
 29359  	return awsutil.Prettify(s)
 29360  }
 29361  
 29362  // GoString returns the string representation.
 29363  //
 29364  // API parameter values that are decorated as "sensitive" in the API will not
 29365  // be included in the string output. The member name will be present, but the
 29366  // value will be replaced with "sensitive".
 29367  func (s UpdateUserPhoneConfigOutput) GoString() string {
 29368  	return s.String()
 29369  }
 29370  
 29371  type UpdateUserRoutingProfileInput struct {
 29372  	_ struct{} `type:"structure"`
 29373  
 29374  	// The identifier of the Amazon Connect instance. You can find the instanceId
 29375  	// in the ARN of the instance.
 29376  	//
 29377  	// InstanceId is a required field
 29378  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 29379  
 29380  	// The identifier of the routing profile for the user.
 29381  	//
 29382  	// RoutingProfileId is a required field
 29383  	RoutingProfileId *string `type:"string" required:"true"`
 29384  
 29385  	// The identifier of the user account.
 29386  	//
 29387  	// UserId is a required field
 29388  	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
 29389  }
 29390  
 29391  // String returns the string representation.
 29392  //
 29393  // API parameter values that are decorated as "sensitive" in the API will not
 29394  // be included in the string output. The member name will be present, but the
 29395  // value will be replaced with "sensitive".
 29396  func (s UpdateUserRoutingProfileInput) String() string {
 29397  	return awsutil.Prettify(s)
 29398  }
 29399  
 29400  // GoString returns the string representation.
 29401  //
 29402  // API parameter values that are decorated as "sensitive" in the API will not
 29403  // be included in the string output. The member name will be present, but the
 29404  // value will be replaced with "sensitive".
 29405  func (s UpdateUserRoutingProfileInput) GoString() string {
 29406  	return s.String()
 29407  }
 29408  
 29409  // Validate inspects the fields of the type to determine if they are valid.
 29410  func (s *UpdateUserRoutingProfileInput) Validate() error {
 29411  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserRoutingProfileInput"}
 29412  	if s.InstanceId == nil {
 29413  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 29414  	}
 29415  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 29416  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 29417  	}
 29418  	if s.RoutingProfileId == nil {
 29419  		invalidParams.Add(request.NewErrParamRequired("RoutingProfileId"))
 29420  	}
 29421  	if s.UserId == nil {
 29422  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 29423  	}
 29424  	if s.UserId != nil && len(*s.UserId) < 1 {
 29425  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 29426  	}
 29427  
 29428  	if invalidParams.Len() > 0 {
 29429  		return invalidParams
 29430  	}
 29431  	return nil
 29432  }
 29433  
 29434  // SetInstanceId sets the InstanceId field's value.
 29435  func (s *UpdateUserRoutingProfileInput) SetInstanceId(v string) *UpdateUserRoutingProfileInput {
 29436  	s.InstanceId = &v
 29437  	return s
 29438  }
 29439  
 29440  // SetRoutingProfileId sets the RoutingProfileId field's value.
 29441  func (s *UpdateUserRoutingProfileInput) SetRoutingProfileId(v string) *UpdateUserRoutingProfileInput {
 29442  	s.RoutingProfileId = &v
 29443  	return s
 29444  }
 29445  
 29446  // SetUserId sets the UserId field's value.
 29447  func (s *UpdateUserRoutingProfileInput) SetUserId(v string) *UpdateUserRoutingProfileInput {
 29448  	s.UserId = &v
 29449  	return s
 29450  }
 29451  
 29452  type UpdateUserRoutingProfileOutput struct {
 29453  	_ struct{} `type:"structure" nopayload:"true"`
 29454  }
 29455  
 29456  // String returns the string representation.
 29457  //
 29458  // API parameter values that are decorated as "sensitive" in the API will not
 29459  // be included in the string output. The member name will be present, but the
 29460  // value will be replaced with "sensitive".
 29461  func (s UpdateUserRoutingProfileOutput) String() string {
 29462  	return awsutil.Prettify(s)
 29463  }
 29464  
 29465  // GoString returns the string representation.
 29466  //
 29467  // API parameter values that are decorated as "sensitive" in the API will not
 29468  // be included in the string output. The member name will be present, but the
 29469  // value will be replaced with "sensitive".
 29470  func (s UpdateUserRoutingProfileOutput) GoString() string {
 29471  	return s.String()
 29472  }
 29473  
 29474  type UpdateUserSecurityProfilesInput struct {
 29475  	_ struct{} `type:"structure"`
 29476  
 29477  	// The identifier of the Amazon Connect instance. You can find the instanceId
 29478  	// in the ARN of the instance.
 29479  	//
 29480  	// InstanceId is a required field
 29481  	InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"`
 29482  
 29483  	// The identifiers of the security profiles for the user.
 29484  	//
 29485  	// SecurityProfileIds is a required field
 29486  	SecurityProfileIds []*string `min:"1" type:"list" required:"true"`
 29487  
 29488  	// The identifier of the user account.
 29489  	//
 29490  	// UserId is a required field
 29491  	UserId *string `location:"uri" locationName:"UserId" type:"string" required:"true"`
 29492  }
 29493  
 29494  // String returns the string representation.
 29495  //
 29496  // API parameter values that are decorated as "sensitive" in the API will not
 29497  // be included in the string output. The member name will be present, but the
 29498  // value will be replaced with "sensitive".
 29499  func (s UpdateUserSecurityProfilesInput) String() string {
 29500  	return awsutil.Prettify(s)
 29501  }
 29502  
 29503  // GoString returns the string representation.
 29504  //
 29505  // API parameter values that are decorated as "sensitive" in the API will not
 29506  // be included in the string output. The member name will be present, but the
 29507  // value will be replaced with "sensitive".
 29508  func (s UpdateUserSecurityProfilesInput) GoString() string {
 29509  	return s.String()
 29510  }
 29511  
 29512  // Validate inspects the fields of the type to determine if they are valid.
 29513  func (s *UpdateUserSecurityProfilesInput) Validate() error {
 29514  	invalidParams := request.ErrInvalidParams{Context: "UpdateUserSecurityProfilesInput"}
 29515  	if s.InstanceId == nil {
 29516  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 29517  	}
 29518  	if s.InstanceId != nil && len(*s.InstanceId) < 1 {
 29519  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1))
 29520  	}
 29521  	if s.SecurityProfileIds == nil {
 29522  		invalidParams.Add(request.NewErrParamRequired("SecurityProfileIds"))
 29523  	}
 29524  	if s.SecurityProfileIds != nil && len(s.SecurityProfileIds) < 1 {
 29525  		invalidParams.Add(request.NewErrParamMinLen("SecurityProfileIds", 1))
 29526  	}
 29527  	if s.UserId == nil {
 29528  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 29529  	}
 29530  	if s.UserId != nil && len(*s.UserId) < 1 {
 29531  		invalidParams.Add(request.NewErrParamMinLen("UserId", 1))
 29532  	}
 29533  
 29534  	if invalidParams.Len() > 0 {
 29535  		return invalidParams
 29536  	}
 29537  	return nil
 29538  }
 29539  
 29540  // SetInstanceId sets the InstanceId field's value.
 29541  func (s *UpdateUserSecurityProfilesInput) SetInstanceId(v string) *UpdateUserSecurityProfilesInput {
 29542  	s.InstanceId = &v
 29543  	return s
 29544  }
 29545  
 29546  // SetSecurityProfileIds sets the SecurityProfileIds field's value.
 29547  func (s *UpdateUserSecurityProfilesInput) SetSecurityProfileIds(v []*string) *UpdateUserSecurityProfilesInput {
 29548  	s.SecurityProfileIds = v
 29549  	return s
 29550  }
 29551  
 29552  // SetUserId sets the UserId field's value.
 29553  func (s *UpdateUserSecurityProfilesInput) SetUserId(v string) *UpdateUserSecurityProfilesInput {
 29554  	s.UserId = &v
 29555  	return s
 29556  }
 29557  
 29558  type UpdateUserSecurityProfilesOutput struct {
 29559  	_ struct{} `type:"structure" nopayload:"true"`
 29560  }
 29561  
 29562  // String returns the string representation.
 29563  //
 29564  // API parameter values that are decorated as "sensitive" in the API will not
 29565  // be included in the string output. The member name will be present, but the
 29566  // value will be replaced with "sensitive".
 29567  func (s UpdateUserSecurityProfilesOutput) String() string {
 29568  	return awsutil.Prettify(s)
 29569  }
 29570  
 29571  // GoString returns the string representation.
 29572  //
 29573  // API parameter values that are decorated as "sensitive" in the API will not
 29574  // be included in the string output. The member name will be present, but the
 29575  // value will be replaced with "sensitive".
 29576  func (s UpdateUserSecurityProfilesOutput) GoString() string {
 29577  	return s.String()
 29578  }
 29579  
 29580  // Contains the use case.
 29581  type UseCase struct {
 29582  	_ struct{} `type:"structure"`
 29583  
 29584  	// The Amazon Resource Name (ARN) for the use case.
 29585  	UseCaseArn *string `type:"string"`
 29586  
 29587  	// The identifier for the use case.
 29588  	UseCaseId *string `min:"1" type:"string"`
 29589  
 29590  	// The type of use case to associate to the integration association. Each integration
 29591  	// association can have only one of each use case type.
 29592  	UseCaseType *string `type:"string" enum:"UseCaseType"`
 29593  }
 29594  
 29595  // String returns the string representation.
 29596  //
 29597  // API parameter values that are decorated as "sensitive" in the API will not
 29598  // be included in the string output. The member name will be present, but the
 29599  // value will be replaced with "sensitive".
 29600  func (s UseCase) String() string {
 29601  	return awsutil.Prettify(s)
 29602  }
 29603  
 29604  // GoString returns the string representation.
 29605  //
 29606  // API parameter values that are decorated as "sensitive" in the API will not
 29607  // be included in the string output. The member name will be present, but the
 29608  // value will be replaced with "sensitive".
 29609  func (s UseCase) GoString() string {
 29610  	return s.String()
 29611  }
 29612  
 29613  // SetUseCaseArn sets the UseCaseArn field's value.
 29614  func (s *UseCase) SetUseCaseArn(v string) *UseCase {
 29615  	s.UseCaseArn = &v
 29616  	return s
 29617  }
 29618  
 29619  // SetUseCaseId sets the UseCaseId field's value.
 29620  func (s *UseCase) SetUseCaseId(v string) *UseCase {
 29621  	s.UseCaseId = &v
 29622  	return s
 29623  }
 29624  
 29625  // SetUseCaseType sets the UseCaseType field's value.
 29626  func (s *UseCase) SetUseCaseType(v string) *UseCase {
 29627  	s.UseCaseType = &v
 29628  	return s
 29629  }
 29630  
 29631  // Contains information about a user account for a Amazon Connect instance.
 29632  type User struct {
 29633  	_ struct{} `type:"structure"`
 29634  
 29635  	// The Amazon Resource Name (ARN) of the user account.
 29636  	Arn *string `type:"string"`
 29637  
 29638  	// The identifier of the user account in the directory used for identity management.
 29639  	DirectoryUserId *string `type:"string"`
 29640  
 29641  	// The identifier of the hierarchy group for the user.
 29642  	HierarchyGroupId *string `type:"string"`
 29643  
 29644  	// The identifier of the user account.
 29645  	Id *string `type:"string"`
 29646  
 29647  	// Information about the user identity.
 29648  	IdentityInfo *UserIdentityInfo `type:"structure"`
 29649  
 29650  	// Information about the phone configuration for the user.
 29651  	PhoneConfig *UserPhoneConfig `type:"structure"`
 29652  
 29653  	// The identifier of the routing profile for the user.
 29654  	RoutingProfileId *string `type:"string"`
 29655  
 29656  	// The identifiers of the security profiles for the user.
 29657  	SecurityProfileIds []*string `min:"1" type:"list"`
 29658  
 29659  	// The tags.
 29660  	Tags map[string]*string `min:"1" type:"map"`
 29661  
 29662  	// The user name assigned to the user account.
 29663  	Username *string `min:"1" type:"string"`
 29664  }
 29665  
 29666  // String returns the string representation.
 29667  //
 29668  // API parameter values that are decorated as "sensitive" in the API will not
 29669  // be included in the string output. The member name will be present, but the
 29670  // value will be replaced with "sensitive".
 29671  func (s User) String() string {
 29672  	return awsutil.Prettify(s)
 29673  }
 29674  
 29675  // GoString returns the string representation.
 29676  //
 29677  // API parameter values that are decorated as "sensitive" in the API will not
 29678  // be included in the string output. The member name will be present, but the
 29679  // value will be replaced with "sensitive".
 29680  func (s User) GoString() string {
 29681  	return s.String()
 29682  }
 29683  
 29684  // SetArn sets the Arn field's value.
 29685  func (s *User) SetArn(v string) *User {
 29686  	s.Arn = &v
 29687  	return s
 29688  }
 29689  
 29690  // SetDirectoryUserId sets the DirectoryUserId field's value.
 29691  func (s *User) SetDirectoryUserId(v string) *User {
 29692  	s.DirectoryUserId = &v
 29693  	return s
 29694  }
 29695  
 29696  // SetHierarchyGroupId sets the HierarchyGroupId field's value.
 29697  func (s *User) SetHierarchyGroupId(v string) *User {
 29698  	s.HierarchyGroupId = &v
 29699  	return s
 29700  }
 29701  
 29702  // SetId sets the Id field's value.
 29703  func (s *User) SetId(v string) *User {
 29704  	s.Id = &v
 29705  	return s
 29706  }
 29707  
 29708  // SetIdentityInfo sets the IdentityInfo field's value.
 29709  func (s *User) SetIdentityInfo(v *UserIdentityInfo) *User {
 29710  	s.IdentityInfo = v
 29711  	return s
 29712  }
 29713  
 29714  // SetPhoneConfig sets the PhoneConfig field's value.
 29715  func (s *User) SetPhoneConfig(v *UserPhoneConfig) *User {
 29716  	s.PhoneConfig = v
 29717  	return s
 29718  }
 29719  
 29720  // SetRoutingProfileId sets the RoutingProfileId field's value.
 29721  func (s *User) SetRoutingProfileId(v string) *User {
 29722  	s.RoutingProfileId = &v
 29723  	return s
 29724  }
 29725  
 29726  // SetSecurityProfileIds sets the SecurityProfileIds field's value.
 29727  func (s *User) SetSecurityProfileIds(v []*string) *User {
 29728  	s.SecurityProfileIds = v
 29729  	return s
 29730  }
 29731  
 29732  // SetTags sets the Tags field's value.
 29733  func (s *User) SetTags(v map[string]*string) *User {
 29734  	s.Tags = v
 29735  	return s
 29736  }
 29737  
 29738  // SetUsername sets the Username field's value.
 29739  func (s *User) SetUsername(v string) *User {
 29740  	s.Username = &v
 29741  	return s
 29742  }
 29743  
 29744  // Contains information about the identity of a user.
 29745  type UserIdentityInfo struct {
 29746  	_ struct{} `type:"structure"`
 29747  
 29748  	// The email address. If you are using SAML for identity management and include
 29749  	// this parameter, an error is returned.
 29750  	Email *string `type:"string"`
 29751  
 29752  	// The first name. This is required if you are using Amazon Connect or SAML
 29753  	// for identity management.
 29754  	FirstName *string `min:"1" type:"string"`
 29755  
 29756  	// The last name. This is required if you are using Amazon Connect or SAML for
 29757  	// identity management.
 29758  	LastName *string `min:"1" type:"string"`
 29759  }
 29760  
 29761  // String returns the string representation.
 29762  //
 29763  // API parameter values that are decorated as "sensitive" in the API will not
 29764  // be included in the string output. The member name will be present, but the
 29765  // value will be replaced with "sensitive".
 29766  func (s UserIdentityInfo) String() string {
 29767  	return awsutil.Prettify(s)
 29768  }
 29769  
 29770  // GoString returns the string representation.
 29771  //
 29772  // API parameter values that are decorated as "sensitive" in the API will not
 29773  // be included in the string output. The member name will be present, but the
 29774  // value will be replaced with "sensitive".
 29775  func (s UserIdentityInfo) GoString() string {
 29776  	return s.String()
 29777  }
 29778  
 29779  // Validate inspects the fields of the type to determine if they are valid.
 29780  func (s *UserIdentityInfo) Validate() error {
 29781  	invalidParams := request.ErrInvalidParams{Context: "UserIdentityInfo"}
 29782  	if s.FirstName != nil && len(*s.FirstName) < 1 {
 29783  		invalidParams.Add(request.NewErrParamMinLen("FirstName", 1))
 29784  	}
 29785  	if s.LastName != nil && len(*s.LastName) < 1 {
 29786  		invalidParams.Add(request.NewErrParamMinLen("LastName", 1))
 29787  	}
 29788  
 29789  	if invalidParams.Len() > 0 {
 29790  		return invalidParams
 29791  	}
 29792  	return nil
 29793  }
 29794  
 29795  // SetEmail sets the Email field's value.
 29796  func (s *UserIdentityInfo) SetEmail(v string) *UserIdentityInfo {
 29797  	s.Email = &v
 29798  	return s
 29799  }
 29800  
 29801  // SetFirstName sets the FirstName field's value.
 29802  func (s *UserIdentityInfo) SetFirstName(v string) *UserIdentityInfo {
 29803  	s.FirstName = &v
 29804  	return s
 29805  }
 29806  
 29807  // SetLastName sets the LastName field's value.
 29808  func (s *UserIdentityInfo) SetLastName(v string) *UserIdentityInfo {
 29809  	s.LastName = &v
 29810  	return s
 29811  }
 29812  
 29813  // No user with the specified credentials was found in the Amazon Connect instance.
 29814  type UserNotFoundException struct {
 29815  	_            struct{}                  `type:"structure"`
 29816  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 29817  
 29818  	Message_ *string `locationName:"Message" type:"string"`
 29819  }
 29820  
 29821  // String returns the string representation.
 29822  //
 29823  // API parameter values that are decorated as "sensitive" in the API will not
 29824  // be included in the string output. The member name will be present, but the
 29825  // value will be replaced with "sensitive".
 29826  func (s UserNotFoundException) String() string {
 29827  	return awsutil.Prettify(s)
 29828  }
 29829  
 29830  // GoString returns the string representation.
 29831  //
 29832  // API parameter values that are decorated as "sensitive" in the API will not
 29833  // be included in the string output. The member name will be present, but the
 29834  // value will be replaced with "sensitive".
 29835  func (s UserNotFoundException) GoString() string {
 29836  	return s.String()
 29837  }
 29838  
 29839  func newErrorUserNotFoundException(v protocol.ResponseMetadata) error {
 29840  	return &UserNotFoundException{
 29841  		RespMetadata: v,
 29842  	}
 29843  }
 29844  
 29845  // Code returns the exception type name.
 29846  func (s *UserNotFoundException) Code() string {
 29847  	return "UserNotFoundException"
 29848  }
 29849  
 29850  // Message returns the exception's message.
 29851  func (s *UserNotFoundException) Message() string {
 29852  	if s.Message_ != nil {
 29853  		return *s.Message_
 29854  	}
 29855  	return ""
 29856  }
 29857  
 29858  // OrigErr always returns nil, satisfies awserr.Error interface.
 29859  func (s *UserNotFoundException) OrigErr() error {
 29860  	return nil
 29861  }
 29862  
 29863  func (s *UserNotFoundException) Error() string {
 29864  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 29865  }
 29866  
 29867  // Status code returns the HTTP status code for the request's response error.
 29868  func (s *UserNotFoundException) StatusCode() int {
 29869  	return s.RespMetadata.StatusCode
 29870  }
 29871  
 29872  // RequestID returns the service's response RequestID for request.
 29873  func (s *UserNotFoundException) RequestID() string {
 29874  	return s.RespMetadata.RequestID
 29875  }
 29876  
 29877  // Contains information about the phone configuration settings for a user.
 29878  type UserPhoneConfig struct {
 29879  	_ struct{} `type:"structure"`
 29880  
 29881  	// The After Call Work (ACW) timeout setting, in seconds.
 29882  	AfterContactWorkTimeLimit *int64 `type:"integer"`
 29883  
 29884  	// The Auto accept setting.
 29885  	AutoAccept *bool `type:"boolean"`
 29886  
 29887  	// The phone number for the user's desk phone.
 29888  	DeskPhoneNumber *string `type:"string"`
 29889  
 29890  	// The phone type.
 29891  	//
 29892  	// PhoneType is a required field
 29893  	PhoneType *string `type:"string" required:"true" enum:"PhoneType"`
 29894  }
 29895  
 29896  // String returns the string representation.
 29897  //
 29898  // API parameter values that are decorated as "sensitive" in the API will not
 29899  // be included in the string output. The member name will be present, but the
 29900  // value will be replaced with "sensitive".
 29901  func (s UserPhoneConfig) String() string {
 29902  	return awsutil.Prettify(s)
 29903  }
 29904  
 29905  // GoString returns the string representation.
 29906  //
 29907  // API parameter values that are decorated as "sensitive" in the API will not
 29908  // be included in the string output. The member name will be present, but the
 29909  // value will be replaced with "sensitive".
 29910  func (s UserPhoneConfig) GoString() string {
 29911  	return s.String()
 29912  }
 29913  
 29914  // Validate inspects the fields of the type to determine if they are valid.
 29915  func (s *UserPhoneConfig) Validate() error {
 29916  	invalidParams := request.ErrInvalidParams{Context: "UserPhoneConfig"}
 29917  	if s.PhoneType == nil {
 29918  		invalidParams.Add(request.NewErrParamRequired("PhoneType"))
 29919  	}
 29920  
 29921  	if invalidParams.Len() > 0 {
 29922  		return invalidParams
 29923  	}
 29924  	return nil
 29925  }
 29926  
 29927  // SetAfterContactWorkTimeLimit sets the AfterContactWorkTimeLimit field's value.
 29928  func (s *UserPhoneConfig) SetAfterContactWorkTimeLimit(v int64) *UserPhoneConfig {
 29929  	s.AfterContactWorkTimeLimit = &v
 29930  	return s
 29931  }
 29932  
 29933  // SetAutoAccept sets the AutoAccept field's value.
 29934  func (s *UserPhoneConfig) SetAutoAccept(v bool) *UserPhoneConfig {
 29935  	s.AutoAccept = &v
 29936  	return s
 29937  }
 29938  
 29939  // SetDeskPhoneNumber sets the DeskPhoneNumber field's value.
 29940  func (s *UserPhoneConfig) SetDeskPhoneNumber(v string) *UserPhoneConfig {
 29941  	s.DeskPhoneNumber = &v
 29942  	return s
 29943  }
 29944  
 29945  // SetPhoneType sets the PhoneType field's value.
 29946  func (s *UserPhoneConfig) SetPhoneType(v string) *UserPhoneConfig {
 29947  	s.PhoneType = &v
 29948  	return s
 29949  }
 29950  
 29951  // Contains information about the quick connect configuration settings for a
 29952  // user. The contact flow must be of type Transfer to Agent.
 29953  type UserQuickConnectConfig struct {
 29954  	_ struct{} `type:"structure"`
 29955  
 29956  	// The identifier of the contact flow.
 29957  	//
 29958  	// ContactFlowId is a required field
 29959  	ContactFlowId *string `type:"string" required:"true"`
 29960  
 29961  	// The identifier of the user.
 29962  	//
 29963  	// UserId is a required field
 29964  	UserId *string `type:"string" required:"true"`
 29965  }
 29966  
 29967  // String returns the string representation.
 29968  //
 29969  // API parameter values that are decorated as "sensitive" in the API will not
 29970  // be included in the string output. The member name will be present, but the
 29971  // value will be replaced with "sensitive".
 29972  func (s UserQuickConnectConfig) String() string {
 29973  	return awsutil.Prettify(s)
 29974  }
 29975  
 29976  // GoString returns the string representation.
 29977  //
 29978  // API parameter values that are decorated as "sensitive" in the API will not
 29979  // be included in the string output. The member name will be present, but the
 29980  // value will be replaced with "sensitive".
 29981  func (s UserQuickConnectConfig) GoString() string {
 29982  	return s.String()
 29983  }
 29984  
 29985  // Validate inspects the fields of the type to determine if they are valid.
 29986  func (s *UserQuickConnectConfig) Validate() error {
 29987  	invalidParams := request.ErrInvalidParams{Context: "UserQuickConnectConfig"}
 29988  	if s.ContactFlowId == nil {
 29989  		invalidParams.Add(request.NewErrParamRequired("ContactFlowId"))
 29990  	}
 29991  	if s.UserId == nil {
 29992  		invalidParams.Add(request.NewErrParamRequired("UserId"))
 29993  	}
 29994  
 29995  	if invalidParams.Len() > 0 {
 29996  		return invalidParams
 29997  	}
 29998  	return nil
 29999  }
 30000  
 30001  // SetContactFlowId sets the ContactFlowId field's value.
 30002  func (s *UserQuickConnectConfig) SetContactFlowId(v string) *UserQuickConnectConfig {
 30003  	s.ContactFlowId = &v
 30004  	return s
 30005  }
 30006  
 30007  // SetUserId sets the UserId field's value.
 30008  func (s *UserQuickConnectConfig) SetUserId(v string) *UserQuickConnectConfig {
 30009  	s.UserId = &v
 30010  	return s
 30011  }
 30012  
 30013  // Contains summary information about a user.
 30014  type UserSummary struct {
 30015  	_ struct{} `type:"structure"`
 30016  
 30017  	// The Amazon Resource Name (ARN) of the user account.
 30018  	Arn *string `type:"string"`
 30019  
 30020  	// The identifier of the user account.
 30021  	Id *string `type:"string"`
 30022  
 30023  	// The Amazon Connect user name of the user account.
 30024  	Username *string `min:"1" type:"string"`
 30025  }
 30026  
 30027  // String returns the string representation.
 30028  //
 30029  // API parameter values that are decorated as "sensitive" in the API will not
 30030  // be included in the string output. The member name will be present, but the
 30031  // value will be replaced with "sensitive".
 30032  func (s UserSummary) String() string {
 30033  	return awsutil.Prettify(s)
 30034  }
 30035  
 30036  // GoString returns the string representation.
 30037  //
 30038  // API parameter values that are decorated as "sensitive" in the API will not
 30039  // be included in the string output. The member name will be present, but the
 30040  // value will be replaced with "sensitive".
 30041  func (s UserSummary) GoString() string {
 30042  	return s.String()
 30043  }
 30044  
 30045  // SetArn sets the Arn field's value.
 30046  func (s *UserSummary) SetArn(v string) *UserSummary {
 30047  	s.Arn = &v
 30048  	return s
 30049  }
 30050  
 30051  // SetId sets the Id field's value.
 30052  func (s *UserSummary) SetId(v string) *UserSummary {
 30053  	s.Id = &v
 30054  	return s
 30055  }
 30056  
 30057  // SetUsername sets the Username field's value.
 30058  func (s *UserSummary) SetUsername(v string) *UserSummary {
 30059  	s.Username = &v
 30060  	return s
 30061  }
 30062  
 30063  // Contains information about the recording configuration settings.
 30064  type VoiceRecordingConfiguration struct {
 30065  	_ struct{} `type:"structure"`
 30066  
 30067  	// Identifies which track is being recorded.
 30068  	VoiceRecordingTrack *string `type:"string" enum:"VoiceRecordingTrack"`
 30069  }
 30070  
 30071  // String returns the string representation.
 30072  //
 30073  // API parameter values that are decorated as "sensitive" in the API will not
 30074  // be included in the string output. The member name will be present, but the
 30075  // value will be replaced with "sensitive".
 30076  func (s VoiceRecordingConfiguration) String() string {
 30077  	return awsutil.Prettify(s)
 30078  }
 30079  
 30080  // GoString returns the string representation.
 30081  //
 30082  // API parameter values that are decorated as "sensitive" in the API will not
 30083  // be included in the string output. The member name will be present, but the
 30084  // value will be replaced with "sensitive".
 30085  func (s VoiceRecordingConfiguration) GoString() string {
 30086  	return s.String()
 30087  }
 30088  
 30089  // SetVoiceRecordingTrack sets the VoiceRecordingTrack field's value.
 30090  func (s *VoiceRecordingConfiguration) SetVoiceRecordingTrack(v string) *VoiceRecordingConfiguration {
 30091  	s.VoiceRecordingTrack = &v
 30092  	return s
 30093  }
 30094  
 30095  const (
 30096  	// AgentStatusStateEnabled is a AgentStatusState enum value
 30097  	AgentStatusStateEnabled = "ENABLED"
 30098  
 30099  	// AgentStatusStateDisabled is a AgentStatusState enum value
 30100  	AgentStatusStateDisabled = "DISABLED"
 30101  )
 30102  
 30103  // AgentStatusState_Values returns all elements of the AgentStatusState enum
 30104  func AgentStatusState_Values() []string {
 30105  	return []string{
 30106  		AgentStatusStateEnabled,
 30107  		AgentStatusStateDisabled,
 30108  	}
 30109  }
 30110  
 30111  const (
 30112  	// AgentStatusTypeRoutable is a AgentStatusType enum value
 30113  	AgentStatusTypeRoutable = "ROUTABLE"
 30114  
 30115  	// AgentStatusTypeCustom is a AgentStatusType enum value
 30116  	AgentStatusTypeCustom = "CUSTOM"
 30117  
 30118  	// AgentStatusTypeOffline is a AgentStatusType enum value
 30119  	AgentStatusTypeOffline = "OFFLINE"
 30120  )
 30121  
 30122  // AgentStatusType_Values returns all elements of the AgentStatusType enum
 30123  func AgentStatusType_Values() []string {
 30124  	return []string{
 30125  		AgentStatusTypeRoutable,
 30126  		AgentStatusTypeCustom,
 30127  		AgentStatusTypeOffline,
 30128  	}
 30129  }
 30130  
 30131  const (
 30132  	// ChannelVoice is a Channel enum value
 30133  	ChannelVoice = "VOICE"
 30134  
 30135  	// ChannelChat is a Channel enum value
 30136  	ChannelChat = "CHAT"
 30137  
 30138  	// ChannelTask is a Channel enum value
 30139  	ChannelTask = "TASK"
 30140  )
 30141  
 30142  // Channel_Values returns all elements of the Channel enum
 30143  func Channel_Values() []string {
 30144  	return []string{
 30145  		ChannelVoice,
 30146  		ChannelChat,
 30147  		ChannelTask,
 30148  	}
 30149  }
 30150  
 30151  const (
 30152  	// ComparisonLt is a Comparison enum value
 30153  	ComparisonLt = "LT"
 30154  )
 30155  
 30156  // Comparison_Values returns all elements of the Comparison enum
 30157  func Comparison_Values() []string {
 30158  	return []string{
 30159  		ComparisonLt,
 30160  	}
 30161  }
 30162  
 30163  const (
 30164  	// ContactFlowTypeContactFlow is a ContactFlowType enum value
 30165  	ContactFlowTypeContactFlow = "CONTACT_FLOW"
 30166  
 30167  	// ContactFlowTypeCustomerQueue is a ContactFlowType enum value
 30168  	ContactFlowTypeCustomerQueue = "CUSTOMER_QUEUE"
 30169  
 30170  	// ContactFlowTypeCustomerHold is a ContactFlowType enum value
 30171  	ContactFlowTypeCustomerHold = "CUSTOMER_HOLD"
 30172  
 30173  	// ContactFlowTypeCustomerWhisper is a ContactFlowType enum value
 30174  	ContactFlowTypeCustomerWhisper = "CUSTOMER_WHISPER"
 30175  
 30176  	// ContactFlowTypeAgentHold is a ContactFlowType enum value
 30177  	ContactFlowTypeAgentHold = "AGENT_HOLD"
 30178  
 30179  	// ContactFlowTypeAgentWhisper is a ContactFlowType enum value
 30180  	ContactFlowTypeAgentWhisper = "AGENT_WHISPER"
 30181  
 30182  	// ContactFlowTypeOutboundWhisper is a ContactFlowType enum value
 30183  	ContactFlowTypeOutboundWhisper = "OUTBOUND_WHISPER"
 30184  
 30185  	// ContactFlowTypeAgentTransfer is a ContactFlowType enum value
 30186  	ContactFlowTypeAgentTransfer = "AGENT_TRANSFER"
 30187  
 30188  	// ContactFlowTypeQueueTransfer is a ContactFlowType enum value
 30189  	ContactFlowTypeQueueTransfer = "QUEUE_TRANSFER"
 30190  )
 30191  
 30192  // ContactFlowType_Values returns all elements of the ContactFlowType enum
 30193  func ContactFlowType_Values() []string {
 30194  	return []string{
 30195  		ContactFlowTypeContactFlow,
 30196  		ContactFlowTypeCustomerQueue,
 30197  		ContactFlowTypeCustomerHold,
 30198  		ContactFlowTypeCustomerWhisper,
 30199  		ContactFlowTypeAgentHold,
 30200  		ContactFlowTypeAgentWhisper,
 30201  		ContactFlowTypeOutboundWhisper,
 30202  		ContactFlowTypeAgentTransfer,
 30203  		ContactFlowTypeQueueTransfer,
 30204  	}
 30205  }
 30206  
 30207  // The current metric names.
 30208  const (
 30209  	// CurrentMetricNameAgentsOnline is a CurrentMetricName enum value
 30210  	CurrentMetricNameAgentsOnline = "AGENTS_ONLINE"
 30211  
 30212  	// CurrentMetricNameAgentsAvailable is a CurrentMetricName enum value
 30213  	CurrentMetricNameAgentsAvailable = "AGENTS_AVAILABLE"
 30214  
 30215  	// CurrentMetricNameAgentsOnCall is a CurrentMetricName enum value
 30216  	CurrentMetricNameAgentsOnCall = "AGENTS_ON_CALL"
 30217  
 30218  	// CurrentMetricNameAgentsNonProductive is a CurrentMetricName enum value
 30219  	CurrentMetricNameAgentsNonProductive = "AGENTS_NON_PRODUCTIVE"
 30220  
 30221  	// CurrentMetricNameAgentsAfterContactWork is a CurrentMetricName enum value
 30222  	CurrentMetricNameAgentsAfterContactWork = "AGENTS_AFTER_CONTACT_WORK"
 30223  
 30224  	// CurrentMetricNameAgentsError is a CurrentMetricName enum value
 30225  	CurrentMetricNameAgentsError = "AGENTS_ERROR"
 30226  
 30227  	// CurrentMetricNameAgentsStaffed is a CurrentMetricName enum value
 30228  	CurrentMetricNameAgentsStaffed = "AGENTS_STAFFED"
 30229  
 30230  	// CurrentMetricNameContactsInQueue is a CurrentMetricName enum value
 30231  	CurrentMetricNameContactsInQueue = "CONTACTS_IN_QUEUE"
 30232  
 30233  	// CurrentMetricNameOldestContactAge is a CurrentMetricName enum value
 30234  	CurrentMetricNameOldestContactAge = "OLDEST_CONTACT_AGE"
 30235  
 30236  	// CurrentMetricNameContactsScheduled is a CurrentMetricName enum value
 30237  	CurrentMetricNameContactsScheduled = "CONTACTS_SCHEDULED"
 30238  
 30239  	// CurrentMetricNameAgentsOnContact is a CurrentMetricName enum value
 30240  	CurrentMetricNameAgentsOnContact = "AGENTS_ON_CONTACT"
 30241  
 30242  	// CurrentMetricNameSlotsActive is a CurrentMetricName enum value
 30243  	CurrentMetricNameSlotsActive = "SLOTS_ACTIVE"
 30244  
 30245  	// CurrentMetricNameSlotsAvailable is a CurrentMetricName enum value
 30246  	CurrentMetricNameSlotsAvailable = "SLOTS_AVAILABLE"
 30247  )
 30248  
 30249  // CurrentMetricName_Values returns all elements of the CurrentMetricName enum
 30250  func CurrentMetricName_Values() []string {
 30251  	return []string{
 30252  		CurrentMetricNameAgentsOnline,
 30253  		CurrentMetricNameAgentsAvailable,
 30254  		CurrentMetricNameAgentsOnCall,
 30255  		CurrentMetricNameAgentsNonProductive,
 30256  		CurrentMetricNameAgentsAfterContactWork,
 30257  		CurrentMetricNameAgentsError,
 30258  		CurrentMetricNameAgentsStaffed,
 30259  		CurrentMetricNameContactsInQueue,
 30260  		CurrentMetricNameOldestContactAge,
 30261  		CurrentMetricNameContactsScheduled,
 30262  		CurrentMetricNameAgentsOnContact,
 30263  		CurrentMetricNameSlotsActive,
 30264  		CurrentMetricNameSlotsAvailable,
 30265  	}
 30266  }
 30267  
 30268  const (
 30269  	// DirectoryTypeSaml is a DirectoryType enum value
 30270  	DirectoryTypeSaml = "SAML"
 30271  
 30272  	// DirectoryTypeConnectManaged is a DirectoryType enum value
 30273  	DirectoryTypeConnectManaged = "CONNECT_MANAGED"
 30274  
 30275  	// DirectoryTypeExistingDirectory is a DirectoryType enum value
 30276  	DirectoryTypeExistingDirectory = "EXISTING_DIRECTORY"
 30277  )
 30278  
 30279  // DirectoryType_Values returns all elements of the DirectoryType enum
 30280  func DirectoryType_Values() []string {
 30281  	return []string{
 30282  		DirectoryTypeSaml,
 30283  		DirectoryTypeConnectManaged,
 30284  		DirectoryTypeExistingDirectory,
 30285  	}
 30286  }
 30287  
 30288  const (
 30289  	// EncryptionTypeKms is a EncryptionType enum value
 30290  	EncryptionTypeKms = "KMS"
 30291  )
 30292  
 30293  // EncryptionType_Values returns all elements of the EncryptionType enum
 30294  func EncryptionType_Values() []string {
 30295  	return []string{
 30296  		EncryptionTypeKms,
 30297  	}
 30298  }
 30299  
 30300  const (
 30301  	// GroupingQueue is a Grouping enum value
 30302  	GroupingQueue = "QUEUE"
 30303  
 30304  	// GroupingChannel is a Grouping enum value
 30305  	GroupingChannel = "CHANNEL"
 30306  )
 30307  
 30308  // Grouping_Values returns all elements of the Grouping enum
 30309  func Grouping_Values() []string {
 30310  	return []string{
 30311  		GroupingQueue,
 30312  		GroupingChannel,
 30313  	}
 30314  }
 30315  
 30316  // The historical metric names.
 30317  const (
 30318  	// HistoricalMetricNameContactsQueued is a HistoricalMetricName enum value
 30319  	HistoricalMetricNameContactsQueued = "CONTACTS_QUEUED"
 30320  
 30321  	// HistoricalMetricNameContactsHandled is a HistoricalMetricName enum value
 30322  	HistoricalMetricNameContactsHandled = "CONTACTS_HANDLED"
 30323  
 30324  	// HistoricalMetricNameContactsAbandoned is a HistoricalMetricName enum value
 30325  	HistoricalMetricNameContactsAbandoned = "CONTACTS_ABANDONED"
 30326  
 30327  	// HistoricalMetricNameContactsConsulted is a HistoricalMetricName enum value
 30328  	HistoricalMetricNameContactsConsulted = "CONTACTS_CONSULTED"
 30329  
 30330  	// HistoricalMetricNameContactsAgentHungUpFirst is a HistoricalMetricName enum value
 30331  	HistoricalMetricNameContactsAgentHungUpFirst = "CONTACTS_AGENT_HUNG_UP_FIRST"
 30332  
 30333  	// HistoricalMetricNameContactsHandledIncoming is a HistoricalMetricName enum value
 30334  	HistoricalMetricNameContactsHandledIncoming = "CONTACTS_HANDLED_INCOMING"
 30335  
 30336  	// HistoricalMetricNameContactsHandledOutbound is a HistoricalMetricName enum value
 30337  	HistoricalMetricNameContactsHandledOutbound = "CONTACTS_HANDLED_OUTBOUND"
 30338  
 30339  	// HistoricalMetricNameContactsHoldAbandons is a HistoricalMetricName enum value
 30340  	HistoricalMetricNameContactsHoldAbandons = "CONTACTS_HOLD_ABANDONS"
 30341  
 30342  	// HistoricalMetricNameContactsTransferredIn is a HistoricalMetricName enum value
 30343  	HistoricalMetricNameContactsTransferredIn = "CONTACTS_TRANSFERRED_IN"
 30344  
 30345  	// HistoricalMetricNameContactsTransferredOut is a HistoricalMetricName enum value
 30346  	HistoricalMetricNameContactsTransferredOut = "CONTACTS_TRANSFERRED_OUT"
 30347  
 30348  	// HistoricalMetricNameContactsTransferredInFromQueue is a HistoricalMetricName enum value
 30349  	HistoricalMetricNameContactsTransferredInFromQueue = "CONTACTS_TRANSFERRED_IN_FROM_QUEUE"
 30350  
 30351  	// HistoricalMetricNameContactsTransferredOutFromQueue is a HistoricalMetricName enum value
 30352  	HistoricalMetricNameContactsTransferredOutFromQueue = "CONTACTS_TRANSFERRED_OUT_FROM_QUEUE"
 30353  
 30354  	// HistoricalMetricNameContactsMissed is a HistoricalMetricName enum value
 30355  	HistoricalMetricNameContactsMissed = "CONTACTS_MISSED"
 30356  
 30357  	// HistoricalMetricNameCallbackContactsHandled is a HistoricalMetricName enum value
 30358  	HistoricalMetricNameCallbackContactsHandled = "CALLBACK_CONTACTS_HANDLED"
 30359  
 30360  	// HistoricalMetricNameApiContactsHandled is a HistoricalMetricName enum value
 30361  	HistoricalMetricNameApiContactsHandled = "API_CONTACTS_HANDLED"
 30362  
 30363  	// HistoricalMetricNameOccupancy is a HistoricalMetricName enum value
 30364  	HistoricalMetricNameOccupancy = "OCCUPANCY"
 30365  
 30366  	// HistoricalMetricNameHandleTime is a HistoricalMetricName enum value
 30367  	HistoricalMetricNameHandleTime = "HANDLE_TIME"
 30368  
 30369  	// HistoricalMetricNameAfterContactWorkTime is a HistoricalMetricName enum value
 30370  	HistoricalMetricNameAfterContactWorkTime = "AFTER_CONTACT_WORK_TIME"
 30371  
 30372  	// HistoricalMetricNameQueuedTime is a HistoricalMetricName enum value
 30373  	HistoricalMetricNameQueuedTime = "QUEUED_TIME"
 30374  
 30375  	// HistoricalMetricNameAbandonTime is a HistoricalMetricName enum value
 30376  	HistoricalMetricNameAbandonTime = "ABANDON_TIME"
 30377  
 30378  	// HistoricalMetricNameQueueAnswerTime is a HistoricalMetricName enum value
 30379  	HistoricalMetricNameQueueAnswerTime = "QUEUE_ANSWER_TIME"
 30380  
 30381  	// HistoricalMetricNameHoldTime is a HistoricalMetricName enum value
 30382  	HistoricalMetricNameHoldTime = "HOLD_TIME"
 30383  
 30384  	// HistoricalMetricNameInteractionTime is a HistoricalMetricName enum value
 30385  	HistoricalMetricNameInteractionTime = "INTERACTION_TIME"
 30386  
 30387  	// HistoricalMetricNameInteractionAndHoldTime is a HistoricalMetricName enum value
 30388  	HistoricalMetricNameInteractionAndHoldTime = "INTERACTION_AND_HOLD_TIME"
 30389  
 30390  	// HistoricalMetricNameServiceLevel is a HistoricalMetricName enum value
 30391  	HistoricalMetricNameServiceLevel = "SERVICE_LEVEL"
 30392  )
 30393  
 30394  // HistoricalMetricName_Values returns all elements of the HistoricalMetricName enum
 30395  func HistoricalMetricName_Values() []string {
 30396  	return []string{
 30397  		HistoricalMetricNameContactsQueued,
 30398  		HistoricalMetricNameContactsHandled,
 30399  		HistoricalMetricNameContactsAbandoned,
 30400  		HistoricalMetricNameContactsConsulted,
 30401  		HistoricalMetricNameContactsAgentHungUpFirst,
 30402  		HistoricalMetricNameContactsHandledIncoming,
 30403  		HistoricalMetricNameContactsHandledOutbound,
 30404  		HistoricalMetricNameContactsHoldAbandons,
 30405  		HistoricalMetricNameContactsTransferredIn,
 30406  		HistoricalMetricNameContactsTransferredOut,
 30407  		HistoricalMetricNameContactsTransferredInFromQueue,
 30408  		HistoricalMetricNameContactsTransferredOutFromQueue,
 30409  		HistoricalMetricNameContactsMissed,
 30410  		HistoricalMetricNameCallbackContactsHandled,
 30411  		HistoricalMetricNameApiContactsHandled,
 30412  		HistoricalMetricNameOccupancy,
 30413  		HistoricalMetricNameHandleTime,
 30414  		HistoricalMetricNameAfterContactWorkTime,
 30415  		HistoricalMetricNameQueuedTime,
 30416  		HistoricalMetricNameAbandonTime,
 30417  		HistoricalMetricNameQueueAnswerTime,
 30418  		HistoricalMetricNameHoldTime,
 30419  		HistoricalMetricNameInteractionTime,
 30420  		HistoricalMetricNameInteractionAndHoldTime,
 30421  		HistoricalMetricNameServiceLevel,
 30422  	}
 30423  }
 30424  
 30425  const (
 30426  	// HoursOfOperationDaysSunday is a HoursOfOperationDays enum value
 30427  	HoursOfOperationDaysSunday = "SUNDAY"
 30428  
 30429  	// HoursOfOperationDaysMonday is a HoursOfOperationDays enum value
 30430  	HoursOfOperationDaysMonday = "MONDAY"
 30431  
 30432  	// HoursOfOperationDaysTuesday is a HoursOfOperationDays enum value
 30433  	HoursOfOperationDaysTuesday = "TUESDAY"
 30434  
 30435  	// HoursOfOperationDaysWednesday is a HoursOfOperationDays enum value
 30436  	HoursOfOperationDaysWednesday = "WEDNESDAY"
 30437  
 30438  	// HoursOfOperationDaysThursday is a HoursOfOperationDays enum value
 30439  	HoursOfOperationDaysThursday = "THURSDAY"
 30440  
 30441  	// HoursOfOperationDaysFriday is a HoursOfOperationDays enum value
 30442  	HoursOfOperationDaysFriday = "FRIDAY"
 30443  
 30444  	// HoursOfOperationDaysSaturday is a HoursOfOperationDays enum value
 30445  	HoursOfOperationDaysSaturday = "SATURDAY"
 30446  )
 30447  
 30448  // HoursOfOperationDays_Values returns all elements of the HoursOfOperationDays enum
 30449  func HoursOfOperationDays_Values() []string {
 30450  	return []string{
 30451  		HoursOfOperationDaysSunday,
 30452  		HoursOfOperationDaysMonday,
 30453  		HoursOfOperationDaysTuesday,
 30454  		HoursOfOperationDaysWednesday,
 30455  		HoursOfOperationDaysThursday,
 30456  		HoursOfOperationDaysFriday,
 30457  		HoursOfOperationDaysSaturday,
 30458  	}
 30459  }
 30460  
 30461  const (
 30462  	// InstanceAttributeTypeInboundCalls is a InstanceAttributeType enum value
 30463  	InstanceAttributeTypeInboundCalls = "INBOUND_CALLS"
 30464  
 30465  	// InstanceAttributeTypeOutboundCalls is a InstanceAttributeType enum value
 30466  	InstanceAttributeTypeOutboundCalls = "OUTBOUND_CALLS"
 30467  
 30468  	// InstanceAttributeTypeContactflowLogs is a InstanceAttributeType enum value
 30469  	InstanceAttributeTypeContactflowLogs = "CONTACTFLOW_LOGS"
 30470  
 30471  	// InstanceAttributeTypeContactLens is a InstanceAttributeType enum value
 30472  	InstanceAttributeTypeContactLens = "CONTACT_LENS"
 30473  
 30474  	// InstanceAttributeTypeAutoResolveBestVoices is a InstanceAttributeType enum value
 30475  	InstanceAttributeTypeAutoResolveBestVoices = "AUTO_RESOLVE_BEST_VOICES"
 30476  
 30477  	// InstanceAttributeTypeUseCustomTtsVoices is a InstanceAttributeType enum value
 30478  	InstanceAttributeTypeUseCustomTtsVoices = "USE_CUSTOM_TTS_VOICES"
 30479  
 30480  	// InstanceAttributeTypeEarlyMedia is a InstanceAttributeType enum value
 30481  	InstanceAttributeTypeEarlyMedia = "EARLY_MEDIA"
 30482  )
 30483  
 30484  // InstanceAttributeType_Values returns all elements of the InstanceAttributeType enum
 30485  func InstanceAttributeType_Values() []string {
 30486  	return []string{
 30487  		InstanceAttributeTypeInboundCalls,
 30488  		InstanceAttributeTypeOutboundCalls,
 30489  		InstanceAttributeTypeContactflowLogs,
 30490  		InstanceAttributeTypeContactLens,
 30491  		InstanceAttributeTypeAutoResolveBestVoices,
 30492  		InstanceAttributeTypeUseCustomTtsVoices,
 30493  		InstanceAttributeTypeEarlyMedia,
 30494  	}
 30495  }
 30496  
 30497  const (
 30498  	// InstanceStatusCreationInProgress is a InstanceStatus enum value
 30499  	InstanceStatusCreationInProgress = "CREATION_IN_PROGRESS"
 30500  
 30501  	// InstanceStatusActive is a InstanceStatus enum value
 30502  	InstanceStatusActive = "ACTIVE"
 30503  
 30504  	// InstanceStatusCreationFailed is a InstanceStatus enum value
 30505  	InstanceStatusCreationFailed = "CREATION_FAILED"
 30506  )
 30507  
 30508  // InstanceStatus_Values returns all elements of the InstanceStatus enum
 30509  func InstanceStatus_Values() []string {
 30510  	return []string{
 30511  		InstanceStatusCreationInProgress,
 30512  		InstanceStatusActive,
 30513  		InstanceStatusCreationFailed,
 30514  	}
 30515  }
 30516  
 30517  const (
 30518  	// InstanceStorageResourceTypeChatTranscripts is a InstanceStorageResourceType enum value
 30519  	InstanceStorageResourceTypeChatTranscripts = "CHAT_TRANSCRIPTS"
 30520  
 30521  	// InstanceStorageResourceTypeCallRecordings is a InstanceStorageResourceType enum value
 30522  	InstanceStorageResourceTypeCallRecordings = "CALL_RECORDINGS"
 30523  
 30524  	// InstanceStorageResourceTypeScheduledReports is a InstanceStorageResourceType enum value
 30525  	InstanceStorageResourceTypeScheduledReports = "SCHEDULED_REPORTS"
 30526  
 30527  	// InstanceStorageResourceTypeMediaStreams is a InstanceStorageResourceType enum value
 30528  	InstanceStorageResourceTypeMediaStreams = "MEDIA_STREAMS"
 30529  
 30530  	// InstanceStorageResourceTypeContactTraceRecords is a InstanceStorageResourceType enum value
 30531  	InstanceStorageResourceTypeContactTraceRecords = "CONTACT_TRACE_RECORDS"
 30532  
 30533  	// InstanceStorageResourceTypeAgentEvents is a InstanceStorageResourceType enum value
 30534  	InstanceStorageResourceTypeAgentEvents = "AGENT_EVENTS"
 30535  )
 30536  
 30537  // InstanceStorageResourceType_Values returns all elements of the InstanceStorageResourceType enum
 30538  func InstanceStorageResourceType_Values() []string {
 30539  	return []string{
 30540  		InstanceStorageResourceTypeChatTranscripts,
 30541  		InstanceStorageResourceTypeCallRecordings,
 30542  		InstanceStorageResourceTypeScheduledReports,
 30543  		InstanceStorageResourceTypeMediaStreams,
 30544  		InstanceStorageResourceTypeContactTraceRecords,
 30545  		InstanceStorageResourceTypeAgentEvents,
 30546  	}
 30547  }
 30548  
 30549  const (
 30550  	// IntegrationTypeEvent is a IntegrationType enum value
 30551  	IntegrationTypeEvent = "EVENT"
 30552  
 30553  	// IntegrationTypeVoiceId is a IntegrationType enum value
 30554  	IntegrationTypeVoiceId = "VOICE_ID"
 30555  
 30556  	// IntegrationTypePinpointApp is a IntegrationType enum value
 30557  	IntegrationTypePinpointApp = "PINPOINT_APP"
 30558  
 30559  	// IntegrationTypeWisdomAssistant is a IntegrationType enum value
 30560  	IntegrationTypeWisdomAssistant = "WISDOM_ASSISTANT"
 30561  
 30562  	// IntegrationTypeWisdomKnowledgeBase is a IntegrationType enum value
 30563  	IntegrationTypeWisdomKnowledgeBase = "WISDOM_KNOWLEDGE_BASE"
 30564  )
 30565  
 30566  // IntegrationType_Values returns all elements of the IntegrationType enum
 30567  func IntegrationType_Values() []string {
 30568  	return []string{
 30569  		IntegrationTypeEvent,
 30570  		IntegrationTypeVoiceId,
 30571  		IntegrationTypePinpointApp,
 30572  		IntegrationTypeWisdomAssistant,
 30573  		IntegrationTypeWisdomKnowledgeBase,
 30574  	}
 30575  }
 30576  
 30577  const (
 30578  	// LexVersionV1 is a LexVersion enum value
 30579  	LexVersionV1 = "V1"
 30580  
 30581  	// LexVersionV2 is a LexVersion enum value
 30582  	LexVersionV2 = "V2"
 30583  )
 30584  
 30585  // LexVersion_Values returns all elements of the LexVersion enum
 30586  func LexVersion_Values() []string {
 30587  	return []string{
 30588  		LexVersionV1,
 30589  		LexVersionV2,
 30590  	}
 30591  }
 30592  
 30593  const (
 30594  	// PhoneNumberCountryCodeAf is a PhoneNumberCountryCode enum value
 30595  	PhoneNumberCountryCodeAf = "AF"
 30596  
 30597  	// PhoneNumberCountryCodeAl is a PhoneNumberCountryCode enum value
 30598  	PhoneNumberCountryCodeAl = "AL"
 30599  
 30600  	// PhoneNumberCountryCodeDz is a PhoneNumberCountryCode enum value
 30601  	PhoneNumberCountryCodeDz = "DZ"
 30602  
 30603  	// PhoneNumberCountryCodeAs is a PhoneNumberCountryCode enum value
 30604  	PhoneNumberCountryCodeAs = "AS"
 30605  
 30606  	// PhoneNumberCountryCodeAd is a PhoneNumberCountryCode enum value
 30607  	PhoneNumberCountryCodeAd = "AD"
 30608  
 30609  	// PhoneNumberCountryCodeAo is a PhoneNumberCountryCode enum value
 30610  	PhoneNumberCountryCodeAo = "AO"
 30611  
 30612  	// PhoneNumberCountryCodeAi is a PhoneNumberCountryCode enum value
 30613  	PhoneNumberCountryCodeAi = "AI"
 30614  
 30615  	// PhoneNumberCountryCodeAq is a PhoneNumberCountryCode enum value
 30616  	PhoneNumberCountryCodeAq = "AQ"
 30617  
 30618  	// PhoneNumberCountryCodeAg is a PhoneNumberCountryCode enum value
 30619  	PhoneNumberCountryCodeAg = "AG"
 30620  
 30621  	// PhoneNumberCountryCodeAr is a PhoneNumberCountryCode enum value
 30622  	PhoneNumberCountryCodeAr = "AR"
 30623  
 30624  	// PhoneNumberCountryCodeAm is a PhoneNumberCountryCode enum value
 30625  	PhoneNumberCountryCodeAm = "AM"
 30626  
 30627  	// PhoneNumberCountryCodeAw is a PhoneNumberCountryCode enum value
 30628  	PhoneNumberCountryCodeAw = "AW"
 30629  
 30630  	// PhoneNumberCountryCodeAu is a PhoneNumberCountryCode enum value
 30631  	PhoneNumberCountryCodeAu = "AU"
 30632  
 30633  	// PhoneNumberCountryCodeAt is a PhoneNumberCountryCode enum value
 30634  	PhoneNumberCountryCodeAt = "AT"
 30635  
 30636  	// PhoneNumberCountryCodeAz is a PhoneNumberCountryCode enum value
 30637  	PhoneNumberCountryCodeAz = "AZ"
 30638  
 30639  	// PhoneNumberCountryCodeBs is a PhoneNumberCountryCode enum value
 30640  	PhoneNumberCountryCodeBs = "BS"
 30641  
 30642  	// PhoneNumberCountryCodeBh is a PhoneNumberCountryCode enum value
 30643  	PhoneNumberCountryCodeBh = "BH"
 30644  
 30645  	// PhoneNumberCountryCodeBd is a PhoneNumberCountryCode enum value
 30646  	PhoneNumberCountryCodeBd = "BD"
 30647  
 30648  	// PhoneNumberCountryCodeBb is a PhoneNumberCountryCode enum value
 30649  	PhoneNumberCountryCodeBb = "BB"
 30650  
 30651  	// PhoneNumberCountryCodeBy is a PhoneNumberCountryCode enum value
 30652  	PhoneNumberCountryCodeBy = "BY"
 30653  
 30654  	// PhoneNumberCountryCodeBe is a PhoneNumberCountryCode enum value
 30655  	PhoneNumberCountryCodeBe = "BE"
 30656  
 30657  	// PhoneNumberCountryCodeBz is a PhoneNumberCountryCode enum value
 30658  	PhoneNumberCountryCodeBz = "BZ"
 30659  
 30660  	// PhoneNumberCountryCodeBj is a PhoneNumberCountryCode enum value
 30661  	PhoneNumberCountryCodeBj = "BJ"
 30662  
 30663  	// PhoneNumberCountryCodeBm is a PhoneNumberCountryCode enum value
 30664  	PhoneNumberCountryCodeBm = "BM"
 30665  
 30666  	// PhoneNumberCountryCodeBt is a PhoneNumberCountryCode enum value
 30667  	PhoneNumberCountryCodeBt = "BT"
 30668  
 30669  	// PhoneNumberCountryCodeBo is a PhoneNumberCountryCode enum value
 30670  	PhoneNumberCountryCodeBo = "BO"
 30671  
 30672  	// PhoneNumberCountryCodeBa is a PhoneNumberCountryCode enum value
 30673  	PhoneNumberCountryCodeBa = "BA"
 30674  
 30675  	// PhoneNumberCountryCodeBw is a PhoneNumberCountryCode enum value
 30676  	PhoneNumberCountryCodeBw = "BW"
 30677  
 30678  	// PhoneNumberCountryCodeBr is a PhoneNumberCountryCode enum value
 30679  	PhoneNumberCountryCodeBr = "BR"
 30680  
 30681  	// PhoneNumberCountryCodeIo is a PhoneNumberCountryCode enum value
 30682  	PhoneNumberCountryCodeIo = "IO"
 30683  
 30684  	// PhoneNumberCountryCodeVg is a PhoneNumberCountryCode enum value
 30685  	PhoneNumberCountryCodeVg = "VG"
 30686  
 30687  	// PhoneNumberCountryCodeBn is a PhoneNumberCountryCode enum value
 30688  	PhoneNumberCountryCodeBn = "BN"
 30689  
 30690  	// PhoneNumberCountryCodeBg is a PhoneNumberCountryCode enum value
 30691  	PhoneNumberCountryCodeBg = "BG"
 30692  
 30693  	// PhoneNumberCountryCodeBf is a PhoneNumberCountryCode enum value
 30694  	PhoneNumberCountryCodeBf = "BF"
 30695  
 30696  	// PhoneNumberCountryCodeBi is a PhoneNumberCountryCode enum value
 30697  	PhoneNumberCountryCodeBi = "BI"
 30698  
 30699  	// PhoneNumberCountryCodeKh is a PhoneNumberCountryCode enum value
 30700  	PhoneNumberCountryCodeKh = "KH"
 30701  
 30702  	// PhoneNumberCountryCodeCm is a PhoneNumberCountryCode enum value
 30703  	PhoneNumberCountryCodeCm = "CM"
 30704  
 30705  	// PhoneNumberCountryCodeCa is a PhoneNumberCountryCode enum value
 30706  	PhoneNumberCountryCodeCa = "CA"
 30707  
 30708  	// PhoneNumberCountryCodeCv is a PhoneNumberCountryCode enum value
 30709  	PhoneNumberCountryCodeCv = "CV"
 30710  
 30711  	// PhoneNumberCountryCodeKy is a PhoneNumberCountryCode enum value
 30712  	PhoneNumberCountryCodeKy = "KY"
 30713  
 30714  	// PhoneNumberCountryCodeCf is a PhoneNumberCountryCode enum value
 30715  	PhoneNumberCountryCodeCf = "CF"
 30716  
 30717  	// PhoneNumberCountryCodeTd is a PhoneNumberCountryCode enum value
 30718  	PhoneNumberCountryCodeTd = "TD"
 30719  
 30720  	// PhoneNumberCountryCodeCl is a PhoneNumberCountryCode enum value
 30721  	PhoneNumberCountryCodeCl = "CL"
 30722  
 30723  	// PhoneNumberCountryCodeCn is a PhoneNumberCountryCode enum value
 30724  	PhoneNumberCountryCodeCn = "CN"
 30725  
 30726  	// PhoneNumberCountryCodeCx is a PhoneNumberCountryCode enum value
 30727  	PhoneNumberCountryCodeCx = "CX"
 30728  
 30729  	// PhoneNumberCountryCodeCc is a PhoneNumberCountryCode enum value
 30730  	PhoneNumberCountryCodeCc = "CC"
 30731  
 30732  	// PhoneNumberCountryCodeCo is a PhoneNumberCountryCode enum value
 30733  	PhoneNumberCountryCodeCo = "CO"
 30734  
 30735  	// PhoneNumberCountryCodeKm is a PhoneNumberCountryCode enum value
 30736  	PhoneNumberCountryCodeKm = "KM"
 30737  
 30738  	// PhoneNumberCountryCodeCk is a PhoneNumberCountryCode enum value
 30739  	PhoneNumberCountryCodeCk = "CK"
 30740  
 30741  	// PhoneNumberCountryCodeCr is a PhoneNumberCountryCode enum value
 30742  	PhoneNumberCountryCodeCr = "CR"
 30743  
 30744  	// PhoneNumberCountryCodeHr is a PhoneNumberCountryCode enum value
 30745  	PhoneNumberCountryCodeHr = "HR"
 30746  
 30747  	// PhoneNumberCountryCodeCu is a PhoneNumberCountryCode enum value
 30748  	PhoneNumberCountryCodeCu = "CU"
 30749  
 30750  	// PhoneNumberCountryCodeCw is a PhoneNumberCountryCode enum value
 30751  	PhoneNumberCountryCodeCw = "CW"
 30752  
 30753  	// PhoneNumberCountryCodeCy is a PhoneNumberCountryCode enum value
 30754  	PhoneNumberCountryCodeCy = "CY"
 30755  
 30756  	// PhoneNumberCountryCodeCz is a PhoneNumberCountryCode enum value
 30757  	PhoneNumberCountryCodeCz = "CZ"
 30758  
 30759  	// PhoneNumberCountryCodeCd is a PhoneNumberCountryCode enum value
 30760  	PhoneNumberCountryCodeCd = "CD"
 30761  
 30762  	// PhoneNumberCountryCodeDk is a PhoneNumberCountryCode enum value
 30763  	PhoneNumberCountryCodeDk = "DK"
 30764  
 30765  	// PhoneNumberCountryCodeDj is a PhoneNumberCountryCode enum value
 30766  	PhoneNumberCountryCodeDj = "DJ"
 30767  
 30768  	// PhoneNumberCountryCodeDm is a PhoneNumberCountryCode enum value
 30769  	PhoneNumberCountryCodeDm = "DM"
 30770  
 30771  	// PhoneNumberCountryCodeDo is a PhoneNumberCountryCode enum value
 30772  	PhoneNumberCountryCodeDo = "DO"
 30773  
 30774  	// PhoneNumberCountryCodeTl is a PhoneNumberCountryCode enum value
 30775  	PhoneNumberCountryCodeTl = "TL"
 30776  
 30777  	// PhoneNumberCountryCodeEc is a PhoneNumberCountryCode enum value
 30778  	PhoneNumberCountryCodeEc = "EC"
 30779  
 30780  	// PhoneNumberCountryCodeEg is a PhoneNumberCountryCode enum value
 30781  	PhoneNumberCountryCodeEg = "EG"
 30782  
 30783  	// PhoneNumberCountryCodeSv is a PhoneNumberCountryCode enum value
 30784  	PhoneNumberCountryCodeSv = "SV"
 30785  
 30786  	// PhoneNumberCountryCodeGq is a PhoneNumberCountryCode enum value
 30787  	PhoneNumberCountryCodeGq = "GQ"
 30788  
 30789  	// PhoneNumberCountryCodeEr is a PhoneNumberCountryCode enum value
 30790  	PhoneNumberCountryCodeEr = "ER"
 30791  
 30792  	// PhoneNumberCountryCodeEe is a PhoneNumberCountryCode enum value
 30793  	PhoneNumberCountryCodeEe = "EE"
 30794  
 30795  	// PhoneNumberCountryCodeEt is a PhoneNumberCountryCode enum value
 30796  	PhoneNumberCountryCodeEt = "ET"
 30797  
 30798  	// PhoneNumberCountryCodeFk is a PhoneNumberCountryCode enum value
 30799  	PhoneNumberCountryCodeFk = "FK"
 30800  
 30801  	// PhoneNumberCountryCodeFo is a PhoneNumberCountryCode enum value
 30802  	PhoneNumberCountryCodeFo = "FO"
 30803  
 30804  	// PhoneNumberCountryCodeFj is a PhoneNumberCountryCode enum value
 30805  	PhoneNumberCountryCodeFj = "FJ"
 30806  
 30807  	// PhoneNumberCountryCodeFi is a PhoneNumberCountryCode enum value
 30808  	PhoneNumberCountryCodeFi = "FI"
 30809  
 30810  	// PhoneNumberCountryCodeFr is a PhoneNumberCountryCode enum value
 30811  	PhoneNumberCountryCodeFr = "FR"
 30812  
 30813  	// PhoneNumberCountryCodePf is a PhoneNumberCountryCode enum value
 30814  	PhoneNumberCountryCodePf = "PF"
 30815  
 30816  	// PhoneNumberCountryCodeGa is a PhoneNumberCountryCode enum value
 30817  	PhoneNumberCountryCodeGa = "GA"
 30818  
 30819  	// PhoneNumberCountryCodeGm is a PhoneNumberCountryCode enum value
 30820  	PhoneNumberCountryCodeGm = "GM"
 30821  
 30822  	// PhoneNumberCountryCodeGe is a PhoneNumberCountryCode enum value
 30823  	PhoneNumberCountryCodeGe = "GE"
 30824  
 30825  	// PhoneNumberCountryCodeDe is a PhoneNumberCountryCode enum value
 30826  	PhoneNumberCountryCodeDe = "DE"
 30827  
 30828  	// PhoneNumberCountryCodeGh is a PhoneNumberCountryCode enum value
 30829  	PhoneNumberCountryCodeGh = "GH"
 30830  
 30831  	// PhoneNumberCountryCodeGi is a PhoneNumberCountryCode enum value
 30832  	PhoneNumberCountryCodeGi = "GI"
 30833  
 30834  	// PhoneNumberCountryCodeGr is a PhoneNumberCountryCode enum value
 30835  	PhoneNumberCountryCodeGr = "GR"
 30836  
 30837  	// PhoneNumberCountryCodeGl is a PhoneNumberCountryCode enum value
 30838  	PhoneNumberCountryCodeGl = "GL"
 30839  
 30840  	// PhoneNumberCountryCodeGd is a PhoneNumberCountryCode enum value
 30841  	PhoneNumberCountryCodeGd = "GD"
 30842  
 30843  	// PhoneNumberCountryCodeGu is a PhoneNumberCountryCode enum value
 30844  	PhoneNumberCountryCodeGu = "GU"
 30845  
 30846  	// PhoneNumberCountryCodeGt is a PhoneNumberCountryCode enum value
 30847  	PhoneNumberCountryCodeGt = "GT"
 30848  
 30849  	// PhoneNumberCountryCodeGg is a PhoneNumberCountryCode enum value
 30850  	PhoneNumberCountryCodeGg = "GG"
 30851  
 30852  	// PhoneNumberCountryCodeGn is a PhoneNumberCountryCode enum value
 30853  	PhoneNumberCountryCodeGn = "GN"
 30854  
 30855  	// PhoneNumberCountryCodeGw is a PhoneNumberCountryCode enum value
 30856  	PhoneNumberCountryCodeGw = "GW"
 30857  
 30858  	// PhoneNumberCountryCodeGy is a PhoneNumberCountryCode enum value
 30859  	PhoneNumberCountryCodeGy = "GY"
 30860  
 30861  	// PhoneNumberCountryCodeHt is a PhoneNumberCountryCode enum value
 30862  	PhoneNumberCountryCodeHt = "HT"
 30863  
 30864  	// PhoneNumberCountryCodeHn is a PhoneNumberCountryCode enum value
 30865  	PhoneNumberCountryCodeHn = "HN"
 30866  
 30867  	// PhoneNumberCountryCodeHk is a PhoneNumberCountryCode enum value
 30868  	PhoneNumberCountryCodeHk = "HK"
 30869  
 30870  	// PhoneNumberCountryCodeHu is a PhoneNumberCountryCode enum value
 30871  	PhoneNumberCountryCodeHu = "HU"
 30872  
 30873  	// PhoneNumberCountryCodeIs is a PhoneNumberCountryCode enum value
 30874  	PhoneNumberCountryCodeIs = "IS"
 30875  
 30876  	// PhoneNumberCountryCodeIn is a PhoneNumberCountryCode enum value
 30877  	PhoneNumberCountryCodeIn = "IN"
 30878  
 30879  	// PhoneNumberCountryCodeId is a PhoneNumberCountryCode enum value
 30880  	PhoneNumberCountryCodeId = "ID"
 30881  
 30882  	// PhoneNumberCountryCodeIr is a PhoneNumberCountryCode enum value
 30883  	PhoneNumberCountryCodeIr = "IR"
 30884  
 30885  	// PhoneNumberCountryCodeIq is a PhoneNumberCountryCode enum value
 30886  	PhoneNumberCountryCodeIq = "IQ"
 30887  
 30888  	// PhoneNumberCountryCodeIe is a PhoneNumberCountryCode enum value
 30889  	PhoneNumberCountryCodeIe = "IE"
 30890  
 30891  	// PhoneNumberCountryCodeIm is a PhoneNumberCountryCode enum value
 30892  	PhoneNumberCountryCodeIm = "IM"
 30893  
 30894  	// PhoneNumberCountryCodeIl is a PhoneNumberCountryCode enum value
 30895  	PhoneNumberCountryCodeIl = "IL"
 30896  
 30897  	// PhoneNumberCountryCodeIt is a PhoneNumberCountryCode enum value
 30898  	PhoneNumberCountryCodeIt = "IT"
 30899  
 30900  	// PhoneNumberCountryCodeCi is a PhoneNumberCountryCode enum value
 30901  	PhoneNumberCountryCodeCi = "CI"
 30902  
 30903  	// PhoneNumberCountryCodeJm is a PhoneNumberCountryCode enum value
 30904  	PhoneNumberCountryCodeJm = "JM"
 30905  
 30906  	// PhoneNumberCountryCodeJp is a PhoneNumberCountryCode enum value
 30907  	PhoneNumberCountryCodeJp = "JP"
 30908  
 30909  	// PhoneNumberCountryCodeJe is a PhoneNumberCountryCode enum value
 30910  	PhoneNumberCountryCodeJe = "JE"
 30911  
 30912  	// PhoneNumberCountryCodeJo is a PhoneNumberCountryCode enum value
 30913  	PhoneNumberCountryCodeJo = "JO"
 30914  
 30915  	// PhoneNumberCountryCodeKz is a PhoneNumberCountryCode enum value
 30916  	PhoneNumberCountryCodeKz = "KZ"
 30917  
 30918  	// PhoneNumberCountryCodeKe is a PhoneNumberCountryCode enum value
 30919  	PhoneNumberCountryCodeKe = "KE"
 30920  
 30921  	// PhoneNumberCountryCodeKi is a PhoneNumberCountryCode enum value
 30922  	PhoneNumberCountryCodeKi = "KI"
 30923  
 30924  	// PhoneNumberCountryCodeKw is a PhoneNumberCountryCode enum value
 30925  	PhoneNumberCountryCodeKw = "KW"
 30926  
 30927  	// PhoneNumberCountryCodeKg is a PhoneNumberCountryCode enum value
 30928  	PhoneNumberCountryCodeKg = "KG"
 30929  
 30930  	// PhoneNumberCountryCodeLa is a PhoneNumberCountryCode enum value
 30931  	PhoneNumberCountryCodeLa = "LA"
 30932  
 30933  	// PhoneNumberCountryCodeLv is a PhoneNumberCountryCode enum value
 30934  	PhoneNumberCountryCodeLv = "LV"
 30935  
 30936  	// PhoneNumberCountryCodeLb is a PhoneNumberCountryCode enum value
 30937  	PhoneNumberCountryCodeLb = "LB"
 30938  
 30939  	// PhoneNumberCountryCodeLs is a PhoneNumberCountryCode enum value
 30940  	PhoneNumberCountryCodeLs = "LS"
 30941  
 30942  	// PhoneNumberCountryCodeLr is a PhoneNumberCountryCode enum value
 30943  	PhoneNumberCountryCodeLr = "LR"
 30944  
 30945  	// PhoneNumberCountryCodeLy is a PhoneNumberCountryCode enum value
 30946  	PhoneNumberCountryCodeLy = "LY"
 30947  
 30948  	// PhoneNumberCountryCodeLi is a PhoneNumberCountryCode enum value
 30949  	PhoneNumberCountryCodeLi = "LI"
 30950  
 30951  	// PhoneNumberCountryCodeLt is a PhoneNumberCountryCode enum value
 30952  	PhoneNumberCountryCodeLt = "LT"
 30953  
 30954  	// PhoneNumberCountryCodeLu is a PhoneNumberCountryCode enum value
 30955  	PhoneNumberCountryCodeLu = "LU"
 30956  
 30957  	// PhoneNumberCountryCodeMo is a PhoneNumberCountryCode enum value
 30958  	PhoneNumberCountryCodeMo = "MO"
 30959  
 30960  	// PhoneNumberCountryCodeMk is a PhoneNumberCountryCode enum value
 30961  	PhoneNumberCountryCodeMk = "MK"
 30962  
 30963  	// PhoneNumberCountryCodeMg is a PhoneNumberCountryCode enum value
 30964  	PhoneNumberCountryCodeMg = "MG"
 30965  
 30966  	// PhoneNumberCountryCodeMw is a PhoneNumberCountryCode enum value
 30967  	PhoneNumberCountryCodeMw = "MW"
 30968  
 30969  	// PhoneNumberCountryCodeMy is a PhoneNumberCountryCode enum value
 30970  	PhoneNumberCountryCodeMy = "MY"
 30971  
 30972  	// PhoneNumberCountryCodeMv is a PhoneNumberCountryCode enum value
 30973  	PhoneNumberCountryCodeMv = "MV"
 30974  
 30975  	// PhoneNumberCountryCodeMl is a PhoneNumberCountryCode enum value
 30976  	PhoneNumberCountryCodeMl = "ML"
 30977  
 30978  	// PhoneNumberCountryCodeMt is a PhoneNumberCountryCode enum value
 30979  	PhoneNumberCountryCodeMt = "MT"
 30980  
 30981  	// PhoneNumberCountryCodeMh is a PhoneNumberCountryCode enum value
 30982  	PhoneNumberCountryCodeMh = "MH"
 30983  
 30984  	// PhoneNumberCountryCodeMr is a PhoneNumberCountryCode enum value
 30985  	PhoneNumberCountryCodeMr = "MR"
 30986  
 30987  	// PhoneNumberCountryCodeMu is a PhoneNumberCountryCode enum value
 30988  	PhoneNumberCountryCodeMu = "MU"
 30989  
 30990  	// PhoneNumberCountryCodeYt is a PhoneNumberCountryCode enum value
 30991  	PhoneNumberCountryCodeYt = "YT"
 30992  
 30993  	// PhoneNumberCountryCodeMx is a PhoneNumberCountryCode enum value
 30994  	PhoneNumberCountryCodeMx = "MX"
 30995  
 30996  	// PhoneNumberCountryCodeFm is a PhoneNumberCountryCode enum value
 30997  	PhoneNumberCountryCodeFm = "FM"
 30998  
 30999  	// PhoneNumberCountryCodeMd is a PhoneNumberCountryCode enum value
 31000  	PhoneNumberCountryCodeMd = "MD"
 31001  
 31002  	// PhoneNumberCountryCodeMc is a PhoneNumberCountryCode enum value
 31003  	PhoneNumberCountryCodeMc = "MC"
 31004  
 31005  	// PhoneNumberCountryCodeMn is a PhoneNumberCountryCode enum value
 31006  	PhoneNumberCountryCodeMn = "MN"
 31007  
 31008  	// PhoneNumberCountryCodeMe is a PhoneNumberCountryCode enum value
 31009  	PhoneNumberCountryCodeMe = "ME"
 31010  
 31011  	// PhoneNumberCountryCodeMs is a PhoneNumberCountryCode enum value
 31012  	PhoneNumberCountryCodeMs = "MS"
 31013  
 31014  	// PhoneNumberCountryCodeMa is a PhoneNumberCountryCode enum value
 31015  	PhoneNumberCountryCodeMa = "MA"
 31016  
 31017  	// PhoneNumberCountryCodeMz is a PhoneNumberCountryCode enum value
 31018  	PhoneNumberCountryCodeMz = "MZ"
 31019  
 31020  	// PhoneNumberCountryCodeMm is a PhoneNumberCountryCode enum value
 31021  	PhoneNumberCountryCodeMm = "MM"
 31022  
 31023  	// PhoneNumberCountryCodeNa is a PhoneNumberCountryCode enum value
 31024  	PhoneNumberCountryCodeNa = "NA"
 31025  
 31026  	// PhoneNumberCountryCodeNr is a PhoneNumberCountryCode enum value
 31027  	PhoneNumberCountryCodeNr = "NR"
 31028  
 31029  	// PhoneNumberCountryCodeNp is a PhoneNumberCountryCode enum value
 31030  	PhoneNumberCountryCodeNp = "NP"
 31031  
 31032  	// PhoneNumberCountryCodeNl is a PhoneNumberCountryCode enum value
 31033  	PhoneNumberCountryCodeNl = "NL"
 31034  
 31035  	// PhoneNumberCountryCodeAn is a PhoneNumberCountryCode enum value
 31036  	PhoneNumberCountryCodeAn = "AN"
 31037  
 31038  	// PhoneNumberCountryCodeNc is a PhoneNumberCountryCode enum value
 31039  	PhoneNumberCountryCodeNc = "NC"
 31040  
 31041  	// PhoneNumberCountryCodeNz is a PhoneNumberCountryCode enum value
 31042  	PhoneNumberCountryCodeNz = "NZ"
 31043  
 31044  	// PhoneNumberCountryCodeNi is a PhoneNumberCountryCode enum value
 31045  	PhoneNumberCountryCodeNi = "NI"
 31046  
 31047  	// PhoneNumberCountryCodeNe is a PhoneNumberCountryCode enum value
 31048  	PhoneNumberCountryCodeNe = "NE"
 31049  
 31050  	// PhoneNumberCountryCodeNg is a PhoneNumberCountryCode enum value
 31051  	PhoneNumberCountryCodeNg = "NG"
 31052  
 31053  	// PhoneNumberCountryCodeNu is a PhoneNumberCountryCode enum value
 31054  	PhoneNumberCountryCodeNu = "NU"
 31055  
 31056  	// PhoneNumberCountryCodeKp is a PhoneNumberCountryCode enum value
 31057  	PhoneNumberCountryCodeKp = "KP"
 31058  
 31059  	// PhoneNumberCountryCodeMp is a PhoneNumberCountryCode enum value
 31060  	PhoneNumberCountryCodeMp = "MP"
 31061  
 31062  	// PhoneNumberCountryCodeNo is a PhoneNumberCountryCode enum value
 31063  	PhoneNumberCountryCodeNo = "NO"
 31064  
 31065  	// PhoneNumberCountryCodeOm is a PhoneNumberCountryCode enum value
 31066  	PhoneNumberCountryCodeOm = "OM"
 31067  
 31068  	// PhoneNumberCountryCodePk is a PhoneNumberCountryCode enum value
 31069  	PhoneNumberCountryCodePk = "PK"
 31070  
 31071  	// PhoneNumberCountryCodePw is a PhoneNumberCountryCode enum value
 31072  	PhoneNumberCountryCodePw = "PW"
 31073  
 31074  	// PhoneNumberCountryCodePa is a PhoneNumberCountryCode enum value
 31075  	PhoneNumberCountryCodePa = "PA"
 31076  
 31077  	// PhoneNumberCountryCodePg is a PhoneNumberCountryCode enum value
 31078  	PhoneNumberCountryCodePg = "PG"
 31079  
 31080  	// PhoneNumberCountryCodePy is a PhoneNumberCountryCode enum value
 31081  	PhoneNumberCountryCodePy = "PY"
 31082  
 31083  	// PhoneNumberCountryCodePe is a PhoneNumberCountryCode enum value
 31084  	PhoneNumberCountryCodePe = "PE"
 31085  
 31086  	// PhoneNumberCountryCodePh is a PhoneNumberCountryCode enum value
 31087  	PhoneNumberCountryCodePh = "PH"
 31088  
 31089  	// PhoneNumberCountryCodePn is a PhoneNumberCountryCode enum value
 31090  	PhoneNumberCountryCodePn = "PN"
 31091  
 31092  	// PhoneNumberCountryCodePl is a PhoneNumberCountryCode enum value
 31093  	PhoneNumberCountryCodePl = "PL"
 31094  
 31095  	// PhoneNumberCountryCodePt is a PhoneNumberCountryCode enum value
 31096  	PhoneNumberCountryCodePt = "PT"
 31097  
 31098  	// PhoneNumberCountryCodePr is a PhoneNumberCountryCode enum value
 31099  	PhoneNumberCountryCodePr = "PR"
 31100  
 31101  	// PhoneNumberCountryCodeQa is a PhoneNumberCountryCode enum value
 31102  	PhoneNumberCountryCodeQa = "QA"
 31103  
 31104  	// PhoneNumberCountryCodeCg is a PhoneNumberCountryCode enum value
 31105  	PhoneNumberCountryCodeCg = "CG"
 31106  
 31107  	// PhoneNumberCountryCodeRe is a PhoneNumberCountryCode enum value
 31108  	PhoneNumberCountryCodeRe = "RE"
 31109  
 31110  	// PhoneNumberCountryCodeRo is a PhoneNumberCountryCode enum value
 31111  	PhoneNumberCountryCodeRo = "RO"
 31112  
 31113  	// PhoneNumberCountryCodeRu is a PhoneNumberCountryCode enum value
 31114  	PhoneNumberCountryCodeRu = "RU"
 31115  
 31116  	// PhoneNumberCountryCodeRw is a PhoneNumberCountryCode enum value
 31117  	PhoneNumberCountryCodeRw = "RW"
 31118  
 31119  	// PhoneNumberCountryCodeBl is a PhoneNumberCountryCode enum value
 31120  	PhoneNumberCountryCodeBl = "BL"
 31121  
 31122  	// PhoneNumberCountryCodeSh is a PhoneNumberCountryCode enum value
 31123  	PhoneNumberCountryCodeSh = "SH"
 31124  
 31125  	// PhoneNumberCountryCodeKn is a PhoneNumberCountryCode enum value
 31126  	PhoneNumberCountryCodeKn = "KN"
 31127  
 31128  	// PhoneNumberCountryCodeLc is a PhoneNumberCountryCode enum value
 31129  	PhoneNumberCountryCodeLc = "LC"
 31130  
 31131  	// PhoneNumberCountryCodeMf is a PhoneNumberCountryCode enum value
 31132  	PhoneNumberCountryCodeMf = "MF"
 31133  
 31134  	// PhoneNumberCountryCodePm is a PhoneNumberCountryCode enum value
 31135  	PhoneNumberCountryCodePm = "PM"
 31136  
 31137  	// PhoneNumberCountryCodeVc is a PhoneNumberCountryCode enum value
 31138  	PhoneNumberCountryCodeVc = "VC"
 31139  
 31140  	// PhoneNumberCountryCodeWs is a PhoneNumberCountryCode enum value
 31141  	PhoneNumberCountryCodeWs = "WS"
 31142  
 31143  	// PhoneNumberCountryCodeSm is a PhoneNumberCountryCode enum value
 31144  	PhoneNumberCountryCodeSm = "SM"
 31145  
 31146  	// PhoneNumberCountryCodeSt is a PhoneNumberCountryCode enum value
 31147  	PhoneNumberCountryCodeSt = "ST"
 31148  
 31149  	// PhoneNumberCountryCodeSa is a PhoneNumberCountryCode enum value
 31150  	PhoneNumberCountryCodeSa = "SA"
 31151  
 31152  	// PhoneNumberCountryCodeSn is a PhoneNumberCountryCode enum value
 31153  	PhoneNumberCountryCodeSn = "SN"
 31154  
 31155  	// PhoneNumberCountryCodeRs is a PhoneNumberCountryCode enum value
 31156  	PhoneNumberCountryCodeRs = "RS"
 31157  
 31158  	// PhoneNumberCountryCodeSc is a PhoneNumberCountryCode enum value
 31159  	PhoneNumberCountryCodeSc = "SC"
 31160  
 31161  	// PhoneNumberCountryCodeSl is a PhoneNumberCountryCode enum value
 31162  	PhoneNumberCountryCodeSl = "SL"
 31163  
 31164  	// PhoneNumberCountryCodeSg is a PhoneNumberCountryCode enum value
 31165  	PhoneNumberCountryCodeSg = "SG"
 31166  
 31167  	// PhoneNumberCountryCodeSx is a PhoneNumberCountryCode enum value
 31168  	PhoneNumberCountryCodeSx = "SX"
 31169  
 31170  	// PhoneNumberCountryCodeSk is a PhoneNumberCountryCode enum value
 31171  	PhoneNumberCountryCodeSk = "SK"
 31172  
 31173  	// PhoneNumberCountryCodeSi is a PhoneNumberCountryCode enum value
 31174  	PhoneNumberCountryCodeSi = "SI"
 31175  
 31176  	// PhoneNumberCountryCodeSb is a PhoneNumberCountryCode enum value
 31177  	PhoneNumberCountryCodeSb = "SB"
 31178  
 31179  	// PhoneNumberCountryCodeSo is a PhoneNumberCountryCode enum value
 31180  	PhoneNumberCountryCodeSo = "SO"
 31181  
 31182  	// PhoneNumberCountryCodeZa is a PhoneNumberCountryCode enum value
 31183  	PhoneNumberCountryCodeZa = "ZA"
 31184  
 31185  	// PhoneNumberCountryCodeKr is a PhoneNumberCountryCode enum value
 31186  	PhoneNumberCountryCodeKr = "KR"
 31187  
 31188  	// PhoneNumberCountryCodeEs is a PhoneNumberCountryCode enum value
 31189  	PhoneNumberCountryCodeEs = "ES"
 31190  
 31191  	// PhoneNumberCountryCodeLk is a PhoneNumberCountryCode enum value
 31192  	PhoneNumberCountryCodeLk = "LK"
 31193  
 31194  	// PhoneNumberCountryCodeSd is a PhoneNumberCountryCode enum value
 31195  	PhoneNumberCountryCodeSd = "SD"
 31196  
 31197  	// PhoneNumberCountryCodeSr is a PhoneNumberCountryCode enum value
 31198  	PhoneNumberCountryCodeSr = "SR"
 31199  
 31200  	// PhoneNumberCountryCodeSj is a PhoneNumberCountryCode enum value
 31201  	PhoneNumberCountryCodeSj = "SJ"
 31202  
 31203  	// PhoneNumberCountryCodeSz is a PhoneNumberCountryCode enum value
 31204  	PhoneNumberCountryCodeSz = "SZ"
 31205  
 31206  	// PhoneNumberCountryCodeSe is a PhoneNumberCountryCode enum value
 31207  	PhoneNumberCountryCodeSe = "SE"
 31208  
 31209  	// PhoneNumberCountryCodeCh is a PhoneNumberCountryCode enum value
 31210  	PhoneNumberCountryCodeCh = "CH"
 31211  
 31212  	// PhoneNumberCountryCodeSy is a PhoneNumberCountryCode enum value
 31213  	PhoneNumberCountryCodeSy = "SY"
 31214  
 31215  	// PhoneNumberCountryCodeTw is a PhoneNumberCountryCode enum value
 31216  	PhoneNumberCountryCodeTw = "TW"
 31217  
 31218  	// PhoneNumberCountryCodeTj is a PhoneNumberCountryCode enum value
 31219  	PhoneNumberCountryCodeTj = "TJ"
 31220  
 31221  	// PhoneNumberCountryCodeTz is a PhoneNumberCountryCode enum value
 31222  	PhoneNumberCountryCodeTz = "TZ"
 31223  
 31224  	// PhoneNumberCountryCodeTh is a PhoneNumberCountryCode enum value
 31225  	PhoneNumberCountryCodeTh = "TH"
 31226  
 31227  	// PhoneNumberCountryCodeTg is a PhoneNumberCountryCode enum value
 31228  	PhoneNumberCountryCodeTg = "TG"
 31229  
 31230  	// PhoneNumberCountryCodeTk is a PhoneNumberCountryCode enum value
 31231  	PhoneNumberCountryCodeTk = "TK"
 31232  
 31233  	// PhoneNumberCountryCodeTo is a PhoneNumberCountryCode enum value
 31234  	PhoneNumberCountryCodeTo = "TO"
 31235  
 31236  	// PhoneNumberCountryCodeTt is a PhoneNumberCountryCode enum value
 31237  	PhoneNumberCountryCodeTt = "TT"
 31238  
 31239  	// PhoneNumberCountryCodeTn is a PhoneNumberCountryCode enum value
 31240  	PhoneNumberCountryCodeTn = "TN"
 31241  
 31242  	// PhoneNumberCountryCodeTr is a PhoneNumberCountryCode enum value
 31243  	PhoneNumberCountryCodeTr = "TR"
 31244  
 31245  	// PhoneNumberCountryCodeTm is a PhoneNumberCountryCode enum value
 31246  	PhoneNumberCountryCodeTm = "TM"
 31247  
 31248  	// PhoneNumberCountryCodeTc is a PhoneNumberCountryCode enum value
 31249  	PhoneNumberCountryCodeTc = "TC"
 31250  
 31251  	// PhoneNumberCountryCodeTv is a PhoneNumberCountryCode enum value
 31252  	PhoneNumberCountryCodeTv = "TV"
 31253  
 31254  	// PhoneNumberCountryCodeVi is a PhoneNumberCountryCode enum value
 31255  	PhoneNumberCountryCodeVi = "VI"
 31256  
 31257  	// PhoneNumberCountryCodeUg is a PhoneNumberCountryCode enum value
 31258  	PhoneNumberCountryCodeUg = "UG"
 31259  
 31260  	// PhoneNumberCountryCodeUa is a PhoneNumberCountryCode enum value
 31261  	PhoneNumberCountryCodeUa = "UA"
 31262  
 31263  	// PhoneNumberCountryCodeAe is a PhoneNumberCountryCode enum value
 31264  	PhoneNumberCountryCodeAe = "AE"
 31265  
 31266  	// PhoneNumberCountryCodeGb is a PhoneNumberCountryCode enum value
 31267  	PhoneNumberCountryCodeGb = "GB"
 31268  
 31269  	// PhoneNumberCountryCodeUs is a PhoneNumberCountryCode enum value
 31270  	PhoneNumberCountryCodeUs = "US"
 31271  
 31272  	// PhoneNumberCountryCodeUy is a PhoneNumberCountryCode enum value
 31273  	PhoneNumberCountryCodeUy = "UY"
 31274  
 31275  	// PhoneNumberCountryCodeUz is a PhoneNumberCountryCode enum value
 31276  	PhoneNumberCountryCodeUz = "UZ"
 31277  
 31278  	// PhoneNumberCountryCodeVu is a PhoneNumberCountryCode enum value
 31279  	PhoneNumberCountryCodeVu = "VU"
 31280  
 31281  	// PhoneNumberCountryCodeVa is a PhoneNumberCountryCode enum value
 31282  	PhoneNumberCountryCodeVa = "VA"
 31283  
 31284  	// PhoneNumberCountryCodeVe is a PhoneNumberCountryCode enum value
 31285  	PhoneNumberCountryCodeVe = "VE"
 31286  
 31287  	// PhoneNumberCountryCodeVn is a PhoneNumberCountryCode enum value
 31288  	PhoneNumberCountryCodeVn = "VN"
 31289  
 31290  	// PhoneNumberCountryCodeWf is a PhoneNumberCountryCode enum value
 31291  	PhoneNumberCountryCodeWf = "WF"
 31292  
 31293  	// PhoneNumberCountryCodeEh is a PhoneNumberCountryCode enum value
 31294  	PhoneNumberCountryCodeEh = "EH"
 31295  
 31296  	// PhoneNumberCountryCodeYe is a PhoneNumberCountryCode enum value
 31297  	PhoneNumberCountryCodeYe = "YE"
 31298  
 31299  	// PhoneNumberCountryCodeZm is a PhoneNumberCountryCode enum value
 31300  	PhoneNumberCountryCodeZm = "ZM"
 31301  
 31302  	// PhoneNumberCountryCodeZw is a PhoneNumberCountryCode enum value
 31303  	PhoneNumberCountryCodeZw = "ZW"
 31304  )
 31305  
 31306  // PhoneNumberCountryCode_Values returns all elements of the PhoneNumberCountryCode enum
 31307  func PhoneNumberCountryCode_Values() []string {
 31308  	return []string{
 31309  		PhoneNumberCountryCodeAf,
 31310  		PhoneNumberCountryCodeAl,
 31311  		PhoneNumberCountryCodeDz,
 31312  		PhoneNumberCountryCodeAs,
 31313  		PhoneNumberCountryCodeAd,
 31314  		PhoneNumberCountryCodeAo,
 31315  		PhoneNumberCountryCodeAi,
 31316  		PhoneNumberCountryCodeAq,
 31317  		PhoneNumberCountryCodeAg,
 31318  		PhoneNumberCountryCodeAr,
 31319  		PhoneNumberCountryCodeAm,
 31320  		PhoneNumberCountryCodeAw,
 31321  		PhoneNumberCountryCodeAu,
 31322  		PhoneNumberCountryCodeAt,
 31323  		PhoneNumberCountryCodeAz,
 31324  		PhoneNumberCountryCodeBs,
 31325  		PhoneNumberCountryCodeBh,
 31326  		PhoneNumberCountryCodeBd,
 31327  		PhoneNumberCountryCodeBb,
 31328  		PhoneNumberCountryCodeBy,
 31329  		PhoneNumberCountryCodeBe,
 31330  		PhoneNumberCountryCodeBz,
 31331  		PhoneNumberCountryCodeBj,
 31332  		PhoneNumberCountryCodeBm,
 31333  		PhoneNumberCountryCodeBt,
 31334  		PhoneNumberCountryCodeBo,
 31335  		PhoneNumberCountryCodeBa,
 31336  		PhoneNumberCountryCodeBw,
 31337  		PhoneNumberCountryCodeBr,
 31338  		PhoneNumberCountryCodeIo,
 31339  		PhoneNumberCountryCodeVg,
 31340  		PhoneNumberCountryCodeBn,
 31341  		PhoneNumberCountryCodeBg,
 31342  		PhoneNumberCountryCodeBf,
 31343  		PhoneNumberCountryCodeBi,
 31344  		PhoneNumberCountryCodeKh,
 31345  		PhoneNumberCountryCodeCm,
 31346  		PhoneNumberCountryCodeCa,
 31347  		PhoneNumberCountryCodeCv,
 31348  		PhoneNumberCountryCodeKy,
 31349  		PhoneNumberCountryCodeCf,
 31350  		PhoneNumberCountryCodeTd,
 31351  		PhoneNumberCountryCodeCl,
 31352  		PhoneNumberCountryCodeCn,
 31353  		PhoneNumberCountryCodeCx,
 31354  		PhoneNumberCountryCodeCc,
 31355  		PhoneNumberCountryCodeCo,
 31356  		PhoneNumberCountryCodeKm,
 31357  		PhoneNumberCountryCodeCk,
 31358  		PhoneNumberCountryCodeCr,
 31359  		PhoneNumberCountryCodeHr,
 31360  		PhoneNumberCountryCodeCu,
 31361  		PhoneNumberCountryCodeCw,
 31362  		PhoneNumberCountryCodeCy,
 31363  		PhoneNumberCountryCodeCz,
 31364  		PhoneNumberCountryCodeCd,
 31365  		PhoneNumberCountryCodeDk,
 31366  		PhoneNumberCountryCodeDj,
 31367  		PhoneNumberCountryCodeDm,
 31368  		PhoneNumberCountryCodeDo,
 31369  		PhoneNumberCountryCodeTl,
 31370  		PhoneNumberCountryCodeEc,
 31371  		PhoneNumberCountryCodeEg,
 31372  		PhoneNumberCountryCodeSv,
 31373  		PhoneNumberCountryCodeGq,
 31374  		PhoneNumberCountryCodeEr,
 31375  		PhoneNumberCountryCodeEe,
 31376  		PhoneNumberCountryCodeEt,
 31377  		PhoneNumberCountryCodeFk,
 31378  		PhoneNumberCountryCodeFo,
 31379  		PhoneNumberCountryCodeFj,
 31380  		PhoneNumberCountryCodeFi,
 31381  		PhoneNumberCountryCodeFr,
 31382  		PhoneNumberCountryCodePf,
 31383  		PhoneNumberCountryCodeGa,
 31384  		PhoneNumberCountryCodeGm,
 31385  		PhoneNumberCountryCodeGe,
 31386  		PhoneNumberCountryCodeDe,
 31387  		PhoneNumberCountryCodeGh,
 31388  		PhoneNumberCountryCodeGi,
 31389  		PhoneNumberCountryCodeGr,
 31390  		PhoneNumberCountryCodeGl,
 31391  		PhoneNumberCountryCodeGd,
 31392  		PhoneNumberCountryCodeGu,
 31393  		PhoneNumberCountryCodeGt,
 31394  		PhoneNumberCountryCodeGg,
 31395  		PhoneNumberCountryCodeGn,
 31396  		PhoneNumberCountryCodeGw,
 31397  		PhoneNumberCountryCodeGy,
 31398  		PhoneNumberCountryCodeHt,
 31399  		PhoneNumberCountryCodeHn,
 31400  		PhoneNumberCountryCodeHk,
 31401  		PhoneNumberCountryCodeHu,
 31402  		PhoneNumberCountryCodeIs,
 31403  		PhoneNumberCountryCodeIn,
 31404  		PhoneNumberCountryCodeId,
 31405  		PhoneNumberCountryCodeIr,
 31406  		PhoneNumberCountryCodeIq,
 31407  		PhoneNumberCountryCodeIe,
 31408  		PhoneNumberCountryCodeIm,
 31409  		PhoneNumberCountryCodeIl,
 31410  		PhoneNumberCountryCodeIt,
 31411  		PhoneNumberCountryCodeCi,
 31412  		PhoneNumberCountryCodeJm,
 31413  		PhoneNumberCountryCodeJp,
 31414  		PhoneNumberCountryCodeJe,
 31415  		PhoneNumberCountryCodeJo,
 31416  		PhoneNumberCountryCodeKz,
 31417  		PhoneNumberCountryCodeKe,
 31418  		PhoneNumberCountryCodeKi,
 31419  		PhoneNumberCountryCodeKw,
 31420  		PhoneNumberCountryCodeKg,
 31421  		PhoneNumberCountryCodeLa,
 31422  		PhoneNumberCountryCodeLv,
 31423  		PhoneNumberCountryCodeLb,
 31424  		PhoneNumberCountryCodeLs,
 31425  		PhoneNumberCountryCodeLr,
 31426  		PhoneNumberCountryCodeLy,
 31427  		PhoneNumberCountryCodeLi,
 31428  		PhoneNumberCountryCodeLt,
 31429  		PhoneNumberCountryCodeLu,
 31430  		PhoneNumberCountryCodeMo,
 31431  		PhoneNumberCountryCodeMk,
 31432  		PhoneNumberCountryCodeMg,
 31433  		PhoneNumberCountryCodeMw,
 31434  		PhoneNumberCountryCodeMy,
 31435  		PhoneNumberCountryCodeMv,
 31436  		PhoneNumberCountryCodeMl,
 31437  		PhoneNumberCountryCodeMt,
 31438  		PhoneNumberCountryCodeMh,
 31439  		PhoneNumberCountryCodeMr,
 31440  		PhoneNumberCountryCodeMu,
 31441  		PhoneNumberCountryCodeYt,
 31442  		PhoneNumberCountryCodeMx,
 31443  		PhoneNumberCountryCodeFm,
 31444  		PhoneNumberCountryCodeMd,
 31445  		PhoneNumberCountryCodeMc,
 31446  		PhoneNumberCountryCodeMn,
 31447  		PhoneNumberCountryCodeMe,
 31448  		PhoneNumberCountryCodeMs,
 31449  		PhoneNumberCountryCodeMa,
 31450  		PhoneNumberCountryCodeMz,
 31451  		PhoneNumberCountryCodeMm,
 31452  		PhoneNumberCountryCodeNa,
 31453  		PhoneNumberCountryCodeNr,
 31454  		PhoneNumberCountryCodeNp,
 31455  		PhoneNumberCountryCodeNl,
 31456  		PhoneNumberCountryCodeAn,
 31457  		PhoneNumberCountryCodeNc,
 31458  		PhoneNumberCountryCodeNz,
 31459  		PhoneNumberCountryCodeNi,
 31460  		PhoneNumberCountryCodeNe,
 31461  		PhoneNumberCountryCodeNg,
 31462  		PhoneNumberCountryCodeNu,
 31463  		PhoneNumberCountryCodeKp,
 31464  		PhoneNumberCountryCodeMp,
 31465  		PhoneNumberCountryCodeNo,
 31466  		PhoneNumberCountryCodeOm,
 31467  		PhoneNumberCountryCodePk,
 31468  		PhoneNumberCountryCodePw,
 31469  		PhoneNumberCountryCodePa,
 31470  		PhoneNumberCountryCodePg,
 31471  		PhoneNumberCountryCodePy,
 31472  		PhoneNumberCountryCodePe,
 31473  		PhoneNumberCountryCodePh,
 31474  		PhoneNumberCountryCodePn,
 31475  		PhoneNumberCountryCodePl,
 31476  		PhoneNumberCountryCodePt,
 31477  		PhoneNumberCountryCodePr,
 31478  		PhoneNumberCountryCodeQa,
 31479  		PhoneNumberCountryCodeCg,
 31480  		PhoneNumberCountryCodeRe,
 31481  		PhoneNumberCountryCodeRo,
 31482  		PhoneNumberCountryCodeRu,
 31483  		PhoneNumberCountryCodeRw,
 31484  		PhoneNumberCountryCodeBl,
 31485  		PhoneNumberCountryCodeSh,
 31486  		PhoneNumberCountryCodeKn,
 31487  		PhoneNumberCountryCodeLc,
 31488  		PhoneNumberCountryCodeMf,
 31489  		PhoneNumberCountryCodePm,
 31490  		PhoneNumberCountryCodeVc,
 31491  		PhoneNumberCountryCodeWs,
 31492  		PhoneNumberCountryCodeSm,
 31493  		PhoneNumberCountryCodeSt,
 31494  		PhoneNumberCountryCodeSa,
 31495  		PhoneNumberCountryCodeSn,
 31496  		PhoneNumberCountryCodeRs,
 31497  		PhoneNumberCountryCodeSc,
 31498  		PhoneNumberCountryCodeSl,
 31499  		PhoneNumberCountryCodeSg,
 31500  		PhoneNumberCountryCodeSx,
 31501  		PhoneNumberCountryCodeSk,
 31502  		PhoneNumberCountryCodeSi,
 31503  		PhoneNumberCountryCodeSb,
 31504  		PhoneNumberCountryCodeSo,
 31505  		PhoneNumberCountryCodeZa,
 31506  		PhoneNumberCountryCodeKr,
 31507  		PhoneNumberCountryCodeEs,
 31508  		PhoneNumberCountryCodeLk,
 31509  		PhoneNumberCountryCodeSd,
 31510  		PhoneNumberCountryCodeSr,
 31511  		PhoneNumberCountryCodeSj,
 31512  		PhoneNumberCountryCodeSz,
 31513  		PhoneNumberCountryCodeSe,
 31514  		PhoneNumberCountryCodeCh,
 31515  		PhoneNumberCountryCodeSy,
 31516  		PhoneNumberCountryCodeTw,
 31517  		PhoneNumberCountryCodeTj,
 31518  		PhoneNumberCountryCodeTz,
 31519  		PhoneNumberCountryCodeTh,
 31520  		PhoneNumberCountryCodeTg,
 31521  		PhoneNumberCountryCodeTk,
 31522  		PhoneNumberCountryCodeTo,
 31523  		PhoneNumberCountryCodeTt,
 31524  		PhoneNumberCountryCodeTn,
 31525  		PhoneNumberCountryCodeTr,
 31526  		PhoneNumberCountryCodeTm,
 31527  		PhoneNumberCountryCodeTc,
 31528  		PhoneNumberCountryCodeTv,
 31529  		PhoneNumberCountryCodeVi,
 31530  		PhoneNumberCountryCodeUg,
 31531  		PhoneNumberCountryCodeUa,
 31532  		PhoneNumberCountryCodeAe,
 31533  		PhoneNumberCountryCodeGb,
 31534  		PhoneNumberCountryCodeUs,
 31535  		PhoneNumberCountryCodeUy,
 31536  		PhoneNumberCountryCodeUz,
 31537  		PhoneNumberCountryCodeVu,
 31538  		PhoneNumberCountryCodeVa,
 31539  		PhoneNumberCountryCodeVe,
 31540  		PhoneNumberCountryCodeVn,
 31541  		PhoneNumberCountryCodeWf,
 31542  		PhoneNumberCountryCodeEh,
 31543  		PhoneNumberCountryCodeYe,
 31544  		PhoneNumberCountryCodeZm,
 31545  		PhoneNumberCountryCodeZw,
 31546  	}
 31547  }
 31548  
 31549  const (
 31550  	// PhoneNumberTypeTollFree is a PhoneNumberType enum value
 31551  	PhoneNumberTypeTollFree = "TOLL_FREE"
 31552  
 31553  	// PhoneNumberTypeDid is a PhoneNumberType enum value
 31554  	PhoneNumberTypeDid = "DID"
 31555  )
 31556  
 31557  // PhoneNumberType_Values returns all elements of the PhoneNumberType enum
 31558  func PhoneNumberType_Values() []string {
 31559  	return []string{
 31560  		PhoneNumberTypeTollFree,
 31561  		PhoneNumberTypeDid,
 31562  	}
 31563  }
 31564  
 31565  const (
 31566  	// PhoneTypeSoftPhone is a PhoneType enum value
 31567  	PhoneTypeSoftPhone = "SOFT_PHONE"
 31568  
 31569  	// PhoneTypeDeskPhone is a PhoneType enum value
 31570  	PhoneTypeDeskPhone = "DESK_PHONE"
 31571  )
 31572  
 31573  // PhoneType_Values returns all elements of the PhoneType enum
 31574  func PhoneType_Values() []string {
 31575  	return []string{
 31576  		PhoneTypeSoftPhone,
 31577  		PhoneTypeDeskPhone,
 31578  	}
 31579  }
 31580  
 31581  const (
 31582  	// QueueStatusEnabled is a QueueStatus enum value
 31583  	QueueStatusEnabled = "ENABLED"
 31584  
 31585  	// QueueStatusDisabled is a QueueStatus enum value
 31586  	QueueStatusDisabled = "DISABLED"
 31587  )
 31588  
 31589  // QueueStatus_Values returns all elements of the QueueStatus enum
 31590  func QueueStatus_Values() []string {
 31591  	return []string{
 31592  		QueueStatusEnabled,
 31593  		QueueStatusDisabled,
 31594  	}
 31595  }
 31596  
 31597  const (
 31598  	// QueueTypeStandard is a QueueType enum value
 31599  	QueueTypeStandard = "STANDARD"
 31600  
 31601  	// QueueTypeAgent is a QueueType enum value
 31602  	QueueTypeAgent = "AGENT"
 31603  )
 31604  
 31605  // QueueType_Values returns all elements of the QueueType enum
 31606  func QueueType_Values() []string {
 31607  	return []string{
 31608  		QueueTypeStandard,
 31609  		QueueTypeAgent,
 31610  	}
 31611  }
 31612  
 31613  const (
 31614  	// QuickConnectTypeUser is a QuickConnectType enum value
 31615  	QuickConnectTypeUser = "USER"
 31616  
 31617  	// QuickConnectTypeQueue is a QuickConnectType enum value
 31618  	QuickConnectTypeQueue = "QUEUE"
 31619  
 31620  	// QuickConnectTypePhoneNumber is a QuickConnectType enum value
 31621  	QuickConnectTypePhoneNumber = "PHONE_NUMBER"
 31622  )
 31623  
 31624  // QuickConnectType_Values returns all elements of the QuickConnectType enum
 31625  func QuickConnectType_Values() []string {
 31626  	return []string{
 31627  		QuickConnectTypeUser,
 31628  		QuickConnectTypeQueue,
 31629  		QuickConnectTypePhoneNumber,
 31630  	}
 31631  }
 31632  
 31633  const (
 31634  	// ReferenceTypeUrl is a ReferenceType enum value
 31635  	ReferenceTypeUrl = "URL"
 31636  )
 31637  
 31638  // ReferenceType_Values returns all elements of the ReferenceType enum
 31639  func ReferenceType_Values() []string {
 31640  	return []string{
 31641  		ReferenceTypeUrl,
 31642  	}
 31643  }
 31644  
 31645  const (
 31646  	// ResourceTypeContact is a ResourceType enum value
 31647  	ResourceTypeContact = "CONTACT"
 31648  
 31649  	// ResourceTypeContactFlow is a ResourceType enum value
 31650  	ResourceTypeContactFlow = "CONTACT_FLOW"
 31651  
 31652  	// ResourceTypeInstance is a ResourceType enum value
 31653  	ResourceTypeInstance = "INSTANCE"
 31654  
 31655  	// ResourceTypeParticipant is a ResourceType enum value
 31656  	ResourceTypeParticipant = "PARTICIPANT"
 31657  
 31658  	// ResourceTypeHierarchyLevel is a ResourceType enum value
 31659  	ResourceTypeHierarchyLevel = "HIERARCHY_LEVEL"
 31660  
 31661  	// ResourceTypeHierarchyGroup is a ResourceType enum value
 31662  	ResourceTypeHierarchyGroup = "HIERARCHY_GROUP"
 31663  
 31664  	// ResourceTypeUser is a ResourceType enum value
 31665  	ResourceTypeUser = "USER"
 31666  )
 31667  
 31668  // ResourceType_Values returns all elements of the ResourceType enum
 31669  func ResourceType_Values() []string {
 31670  	return []string{
 31671  		ResourceTypeContact,
 31672  		ResourceTypeContactFlow,
 31673  		ResourceTypeInstance,
 31674  		ResourceTypeParticipant,
 31675  		ResourceTypeHierarchyLevel,
 31676  		ResourceTypeHierarchyGroup,
 31677  		ResourceTypeUser,
 31678  	}
 31679  }
 31680  
 31681  const (
 31682  	// SourceTypeSalesforce is a SourceType enum value
 31683  	SourceTypeSalesforce = "SALESFORCE"
 31684  
 31685  	// SourceTypeZendesk is a SourceType enum value
 31686  	SourceTypeZendesk = "ZENDESK"
 31687  )
 31688  
 31689  // SourceType_Values returns all elements of the SourceType enum
 31690  func SourceType_Values() []string {
 31691  	return []string{
 31692  		SourceTypeSalesforce,
 31693  		SourceTypeZendesk,
 31694  	}
 31695  }
 31696  
 31697  const (
 31698  	// StatisticSum is a Statistic enum value
 31699  	StatisticSum = "SUM"
 31700  
 31701  	// StatisticMax is a Statistic enum value
 31702  	StatisticMax = "MAX"
 31703  
 31704  	// StatisticAvg is a Statistic enum value
 31705  	StatisticAvg = "AVG"
 31706  )
 31707  
 31708  // Statistic_Values returns all elements of the Statistic enum
 31709  func Statistic_Values() []string {
 31710  	return []string{
 31711  		StatisticSum,
 31712  		StatisticMax,
 31713  		StatisticAvg,
 31714  	}
 31715  }
 31716  
 31717  const (
 31718  	// StorageTypeS3 is a StorageType enum value
 31719  	StorageTypeS3 = "S3"
 31720  
 31721  	// StorageTypeKinesisVideoStream is a StorageType enum value
 31722  	StorageTypeKinesisVideoStream = "KINESIS_VIDEO_STREAM"
 31723  
 31724  	// StorageTypeKinesisStream is a StorageType enum value
 31725  	StorageTypeKinesisStream = "KINESIS_STREAM"
 31726  
 31727  	// StorageTypeKinesisFirehose is a StorageType enum value
 31728  	StorageTypeKinesisFirehose = "KINESIS_FIREHOSE"
 31729  )
 31730  
 31731  // StorageType_Values returns all elements of the StorageType enum
 31732  func StorageType_Values() []string {
 31733  	return []string{
 31734  		StorageTypeS3,
 31735  		StorageTypeKinesisVideoStream,
 31736  		StorageTypeKinesisStream,
 31737  		StorageTypeKinesisFirehose,
 31738  	}
 31739  }
 31740  
 31741  const (
 31742  	// TrafficTypeGeneral is a TrafficType enum value
 31743  	TrafficTypeGeneral = "GENERAL"
 31744  
 31745  	// TrafficTypeCampaign is a TrafficType enum value
 31746  	TrafficTypeCampaign = "CAMPAIGN"
 31747  )
 31748  
 31749  // TrafficType_Values returns all elements of the TrafficType enum
 31750  func TrafficType_Values() []string {
 31751  	return []string{
 31752  		TrafficTypeGeneral,
 31753  		TrafficTypeCampaign,
 31754  	}
 31755  }
 31756  
 31757  const (
 31758  	// UnitSeconds is a Unit enum value
 31759  	UnitSeconds = "SECONDS"
 31760  
 31761  	// UnitCount is a Unit enum value
 31762  	UnitCount = "COUNT"
 31763  
 31764  	// UnitPercent is a Unit enum value
 31765  	UnitPercent = "PERCENT"
 31766  )
 31767  
 31768  // Unit_Values returns all elements of the Unit enum
 31769  func Unit_Values() []string {
 31770  	return []string{
 31771  		UnitSeconds,
 31772  		UnitCount,
 31773  		UnitPercent,
 31774  	}
 31775  }
 31776  
 31777  const (
 31778  	// UseCaseTypeRulesEvaluation is a UseCaseType enum value
 31779  	UseCaseTypeRulesEvaluation = "RULES_EVALUATION"
 31780  
 31781  	// UseCaseTypeConnectCampaigns is a UseCaseType enum value
 31782  	UseCaseTypeConnectCampaigns = "CONNECT_CAMPAIGNS"
 31783  )
 31784  
 31785  // UseCaseType_Values returns all elements of the UseCaseType enum
 31786  func UseCaseType_Values() []string {
 31787  	return []string{
 31788  		UseCaseTypeRulesEvaluation,
 31789  		UseCaseTypeConnectCampaigns,
 31790  	}
 31791  }
 31792  
 31793  const (
 31794  	// VoiceRecordingTrackFromAgent is a VoiceRecordingTrack enum value
 31795  	VoiceRecordingTrackFromAgent = "FROM_AGENT"
 31796  
 31797  	// VoiceRecordingTrackToAgent is a VoiceRecordingTrack enum value
 31798  	VoiceRecordingTrackToAgent = "TO_AGENT"
 31799  
 31800  	// VoiceRecordingTrackAll is a VoiceRecordingTrack enum value
 31801  	VoiceRecordingTrackAll = "ALL"
 31802  )
 31803  
 31804  // VoiceRecordingTrack_Values returns all elements of the VoiceRecordingTrack enum
 31805  func VoiceRecordingTrack_Values() []string {
 31806  	return []string{
 31807  		VoiceRecordingTrackFromAgent,
 31808  		VoiceRecordingTrackToAgent,
 31809  		VoiceRecordingTrackAll,
 31810  	}
 31811  }