/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.connect; import org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.connect.AmazonConnectClientBuilder; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.connect.model.*; import com.amazonaws.services.connect.model.transform.*; /** * Client for accessing Amazon Connect. All service calls made using this client are blocking, and will not return until * the service call completes. *

*

* Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer contact center * and provide reliable customer engagement at any scale. *

*

* Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing. You can also * resolve customer issues more efficiently by getting customers in touch with the appropriate agents. *

*

* There are limits to the number of Amazon Connect resources that you can create. There are also limits to the number * of requests that you can make per second. For more information, see Amazon Connect * Service Quotas in the Amazon Connect Administrator Guide. *

*

* You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect * endpoints, see Amazon Connect * Endpoints. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonConnectClient extends AmazonWebServiceClient implements AmazonConnect { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AmazonConnect.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "connect"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .withContentTypeOverride("application/json") .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OutboundContactNotPermittedException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.OutboundContactNotPermittedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotReadyException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ResourceNotReadyExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ContactFlowNotPublishedException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ContactFlowNotPublishedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ServiceQuotaExceededException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ServiceQuotaExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DuplicateResourceException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.DuplicateResourceExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("LimitExceededException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.LimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("UserNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.UserNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DestinationNotAllowedException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.DestinationNotAllowedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("PropertyValidationException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.PropertyValidationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InternalServiceException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.InternalServiceExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceInUseException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ResourceInUseExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ThrottlingExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidRequestException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.InvalidRequestExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("MaximumResultReturnedException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.MaximumResultReturnedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidContactFlowModuleException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.InvalidContactFlowModuleExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceConflictException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ResourceConflictExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidContactFlowException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.InvalidContactFlowExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidParameterException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.InvalidParameterExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ContactNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.ContactNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.AccessDeniedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("IdempotencyException").withExceptionUnmarshaller( com.amazonaws.services.connect.model.transform.IdempotencyExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.connect.model.AmazonConnectException.class)); public static AmazonConnectClientBuilder builder() { return AmazonConnectClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on Amazon Connect using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonConnectClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on Amazon Connect using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonConnectClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("connect.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/connect/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/connect/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *

* Activates an evaluation form in the specified Amazon Connect instance. After the evaluation form is activated, it * is available to start new evaluations based on the form. *

* * @param activateEvaluationFormRequest * @return Result of the ActivateEvaluationForm operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.ActivateEvaluationForm * @see AWS * API Documentation */ @Override public ActivateEvaluationFormResult activateEvaluationForm(ActivateEvaluationFormRequest request) { request = beforeClientExecution(request); return executeActivateEvaluationForm(request); } @SdkInternalApi final ActivateEvaluationFormResult executeActivateEvaluationForm(ActivateEvaluationFormRequest activateEvaluationFormRequest) { ExecutionContext executionContext = createExecutionContext(activateEvaluationFormRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ActivateEvaluationFormRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(activateEvaluationFormRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ActivateEvaluationForm"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ActivateEvaluationFormResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Associates an approved origin to an Amazon Connect instance. *

* * @param associateApprovedOriginRequest * @return Result of the AssociateApprovedOrigin operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceConflictException * A resource already has that name. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.AssociateApprovedOrigin * @see AWS API Documentation */ @Override public AssociateApprovedOriginResult associateApprovedOrigin(AssociateApprovedOriginRequest request) { request = beforeClientExecution(request); return executeAssociateApprovedOrigin(request); } @SdkInternalApi final AssociateApprovedOriginResult executeAssociateApprovedOrigin(AssociateApprovedOriginRequest associateApprovedOriginRequest) { ExecutionContext executionContext = createExecutionContext(associateApprovedOriginRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateApprovedOriginRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateApprovedOriginRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateApprovedOrigin"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateApprovedOriginResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Allows the specified Amazon Connect instance to access the specified Amazon Lex or Amazon Lex V2 bot. *

* * @param associateBotRequest * @return Result of the AssociateBot operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceConflictException * A resource already has that name. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.AssociateBot * @see AWS API * Documentation */ @Override public AssociateBotResult associateBot(AssociateBotRequest request) { request = beforeClientExecution(request); return executeAssociateBot(request); } @SdkInternalApi final AssociateBotResult executeAssociateBot(AssociateBotRequest associateBotRequest) { ExecutionContext executionContext = createExecutionContext(associateBotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateBotRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateBotRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateBot"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateBotResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Associates an existing vocabulary as the default. Contact Lens for Amazon Connect uses the vocabulary in * post-call and real-time analysis sessions for the given language. *

* * @param associateDefaultVocabularyRequest * @return Result of the AssociateDefaultVocabulary operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.AssociateDefaultVocabulary * @see AWS API Documentation */ @Override public AssociateDefaultVocabularyResult associateDefaultVocabulary(AssociateDefaultVocabularyRequest request) { request = beforeClientExecution(request); return executeAssociateDefaultVocabulary(request); } @SdkInternalApi final AssociateDefaultVocabularyResult executeAssociateDefaultVocabulary(AssociateDefaultVocabularyRequest associateDefaultVocabularyRequest) { ExecutionContext executionContext = createExecutionContext(associateDefaultVocabularyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateDefaultVocabularyRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateDefaultVocabularyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateDefaultVocabulary"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateDefaultVocabularyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Associates a storage resource type for the first time. You can only associate one type of storage configuration * in a single call. This means, for example, that you can't define an instance with multiple S3 buckets for storing * chat transcripts. *

*

* This API does not create a resource that doesn't exist. It only associates it to the instance. Ensure that the * resource being specified in the storage configuration, like an S3 bucket, exists when being used for association. *

* * @param associateInstanceStorageConfigRequest * @return Result of the AssociateInstanceStorageConfig operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceConflictException * A resource already has that name. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.AssociateInstanceStorageConfig * @see AWS API Documentation */ @Override public AssociateInstanceStorageConfigResult associateInstanceStorageConfig(AssociateInstanceStorageConfigRequest request) { request = beforeClientExecution(request); return executeAssociateInstanceStorageConfig(request); } @SdkInternalApi final AssociateInstanceStorageConfigResult executeAssociateInstanceStorageConfig(AssociateInstanceStorageConfigRequest associateInstanceStorageConfigRequest) { ExecutionContext executionContext = createExecutionContext(associateInstanceStorageConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateInstanceStorageConfigRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateInstanceStorageConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateInstanceStorageConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateInstanceStorageConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Allows the specified Amazon Connect instance to access the specified Lambda function. *

* * @param associateLambdaFunctionRequest * @return Result of the AssociateLambdaFunction operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceConflictException * A resource already has that name. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.AssociateLambdaFunction * @see AWS API Documentation */ @Override public AssociateLambdaFunctionResult associateLambdaFunction(AssociateLambdaFunctionRequest request) { request = beforeClientExecution(request); return executeAssociateLambdaFunction(request); } @SdkInternalApi final AssociateLambdaFunctionResult executeAssociateLambdaFunction(AssociateLambdaFunctionRequest associateLambdaFunctionRequest) { ExecutionContext executionContext = createExecutionContext(associateLambdaFunctionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateLambdaFunctionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateLambdaFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateLambdaFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateLambdaFunctionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Allows the specified Amazon Connect instance to access the specified Amazon Lex V1 bot. This API only supports * the association of Amazon Lex V1 bots. *

* * @param associateLexBotRequest * @return Result of the AssociateLexBot operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceConflictException * A resource already has that name. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.AssociateLexBot * @see AWS API * Documentation */ @Override public AssociateLexBotResult associateLexBot(AssociateLexBotRequest request) { request = beforeClientExecution(request); return executeAssociateLexBot(request); } @SdkInternalApi final AssociateLexBotResult executeAssociateLexBot(AssociateLexBotRequest associateLexBotRequest) { ExecutionContext executionContext = createExecutionContext(associateLexBotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateLexBotRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateLexBotRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateLexBot"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateLexBotResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Associates a flow with a phone number claimed to your Amazon Connect instance. *

* *

* If the number is claimed to a traffic distribution group, and you are calling this API using an instance in the * Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone * number ARN or UUID value for the PhoneNumberId URI request parameter. However, if the number is * claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon * Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If * a UUID is provided in this scenario, you will receive a ResourceNotFoundException. *

*
* * @param associatePhoneNumberContactFlowRequest * @return Result of the AssociatePhoneNumberContactFlow operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.AssociatePhoneNumberContactFlow * @see AWS API Documentation */ @Override public AssociatePhoneNumberContactFlowResult associatePhoneNumberContactFlow(AssociatePhoneNumberContactFlowRequest request) { request = beforeClientExecution(request); return executeAssociatePhoneNumberContactFlow(request); } @SdkInternalApi final AssociatePhoneNumberContactFlowResult executeAssociatePhoneNumberContactFlow( AssociatePhoneNumberContactFlowRequest associatePhoneNumberContactFlowRequest) { ExecutionContext executionContext = createExecutionContext(associatePhoneNumberContactFlowRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociatePhoneNumberContactFlowRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associatePhoneNumberContactFlowRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociatePhoneNumberContactFlow"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociatePhoneNumberContactFlowResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Associates a set of quick connects with a queue. *

* * @param associateQueueQuickConnectsRequest * @return Result of the AssociateQueueQuickConnects operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.AssociateQueueQuickConnects * @see AWS API Documentation */ @Override public AssociateQueueQuickConnectsResult associateQueueQuickConnects(AssociateQueueQuickConnectsRequest request) { request = beforeClientExecution(request); return executeAssociateQueueQuickConnects(request); } @SdkInternalApi final AssociateQueueQuickConnectsResult executeAssociateQueueQuickConnects(AssociateQueueQuickConnectsRequest associateQueueQuickConnectsRequest) { ExecutionContext executionContext = createExecutionContext(associateQueueQuickConnectsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateQueueQuickConnectsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateQueueQuickConnectsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateQueueQuickConnects"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateQueueQuickConnectsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Associates a set of queues with a routing profile. *

* * @param associateRoutingProfileQueuesRequest * @return Result of the AssociateRoutingProfileQueues operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.AssociateRoutingProfileQueues * @see AWS API Documentation */ @Override public AssociateRoutingProfileQueuesResult associateRoutingProfileQueues(AssociateRoutingProfileQueuesRequest request) { request = beforeClientExecution(request); return executeAssociateRoutingProfileQueues(request); } @SdkInternalApi final AssociateRoutingProfileQueuesResult executeAssociateRoutingProfileQueues(AssociateRoutingProfileQueuesRequest associateRoutingProfileQueuesRequest) { ExecutionContext executionContext = createExecutionContext(associateRoutingProfileQueuesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateRoutingProfileQueuesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateRoutingProfileQueuesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateRoutingProfileQueues"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateRoutingProfileQueuesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Associates a security key to the instance. *

* * @param associateSecurityKeyRequest * @return Result of the AssociateSecurityKey operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceConflictException * A resource already has that name. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.AssociateSecurityKey * @see AWS * API Documentation */ @Override public AssociateSecurityKeyResult associateSecurityKey(AssociateSecurityKeyRequest request) { request = beforeClientExecution(request); return executeAssociateSecurityKey(request); } @SdkInternalApi final AssociateSecurityKeyResult executeAssociateSecurityKey(AssociateSecurityKeyRequest associateSecurityKeyRequest) { ExecutionContext executionContext = createExecutionContext(associateSecurityKeyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateSecurityKeyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateSecurityKeyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateSecurityKey"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateSecurityKeyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Claims an available phone number to your Amazon Connect instance or traffic distribution group. You can call this * API only in the same Amazon Web Services Region where the Amazon Connect instance or traffic distribution group * was created. *

*

* For more information about how to use this operation, see Claim a phone number in your * country and Claim phone numbers to traffic distribution groups in the Amazon Connect Administrator Guide. *

* *

* You can call the SearchAvailablePhoneNumbers API for available phone numbers that you can claim. Call the DescribePhoneNumber API to verify the status of a previous ClaimPhoneNumber * operation. *

*
*

* If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota * exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 * days past the oldest number released has expired. *

*

* By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day * period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds * 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days * past the oldest number released has expired. *

*

* For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 * day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point * you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket. *

* * @param claimPhoneNumberRequest * @return Result of the ClaimPhoneNumber operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws IdempotencyException * An entity with the same name already exists. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.ClaimPhoneNumber * @see AWS API * Documentation */ @Override public ClaimPhoneNumberResult claimPhoneNumber(ClaimPhoneNumberRequest request) { request = beforeClientExecution(request); return executeClaimPhoneNumber(request); } @SdkInternalApi final ClaimPhoneNumberResult executeClaimPhoneNumber(ClaimPhoneNumberRequest claimPhoneNumberRequest) { ExecutionContext executionContext = createExecutionContext(claimPhoneNumberRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ClaimPhoneNumberRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(claimPhoneNumberRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ClaimPhoneNumber"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ClaimPhoneNumberResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Creates an agent status for the specified Amazon Connect instance. *

* * @param createAgentStatusRequest * @return Result of the CreateAgentStatus operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateAgentStatus * @see AWS API * Documentation */ @Override public CreateAgentStatusResult createAgentStatus(CreateAgentStatusRequest request) { request = beforeClientExecution(request); return executeCreateAgentStatus(request); } @SdkInternalApi final CreateAgentStatusResult executeCreateAgentStatus(CreateAgentStatusRequest createAgentStatusRequest) { ExecutionContext executionContext = createExecutionContext(createAgentStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateAgentStatusRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createAgentStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateAgentStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateAgentStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a flow for the specified Amazon Connect instance. *

*

* You can also create and update flows using the Amazon Connect Flow * language. *

* * @param createContactFlowRequest * @return Result of the CreateContactFlow operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidContactFlowException * The flow is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateContactFlow * @see AWS API * Documentation */ @Override public CreateContactFlowResult createContactFlow(CreateContactFlowRequest request) { request = beforeClientExecution(request); return executeCreateContactFlow(request); } @SdkInternalApi final CreateContactFlowResult executeCreateContactFlow(CreateContactFlowRequest createContactFlowRequest) { ExecutionContext executionContext = createExecutionContext(createContactFlowRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateContactFlowRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createContactFlowRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateContactFlow"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateContactFlowResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a flow module for the specified Amazon Connect instance. *

* * @param createContactFlowModuleRequest * @return Result of the CreateContactFlowModule operation returned by the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InvalidRequestException * The request is not valid. * @throws InvalidContactFlowModuleException * The problems with the module. Please fix before trying again. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws IdempotencyException * An entity with the same name already exists. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateContactFlowModule * @see AWS API Documentation */ @Override public CreateContactFlowModuleResult createContactFlowModule(CreateContactFlowModuleRequest request) { request = beforeClientExecution(request); return executeCreateContactFlowModule(request); } @SdkInternalApi final CreateContactFlowModuleResult executeCreateContactFlowModule(CreateContactFlowModuleRequest createContactFlowModuleRequest) { ExecutionContext executionContext = createExecutionContext(createContactFlowModuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateContactFlowModuleRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createContactFlowModuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateContactFlowModule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateContactFlowModuleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates an evaluation form in the specified Amazon Connect instance. The form can be used to define questions * related to agent performance, and create sections to organize such questions. Question and section identifiers * cannot be duplicated within the same evaluation form. *

* * @param createEvaluationFormRequest * @return Result of the CreateEvaluationForm operation returned by the service. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.CreateEvaluationForm * @see AWS * API Documentation */ @Override public CreateEvaluationFormResult createEvaluationForm(CreateEvaluationFormRequest request) { request = beforeClientExecution(request); return executeCreateEvaluationForm(request); } @SdkInternalApi final CreateEvaluationFormResult executeCreateEvaluationForm(CreateEvaluationFormRequest createEvaluationFormRequest) { ExecutionContext executionContext = createExecutionContext(createEvaluationFormRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateEvaluationFormRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createEvaluationFormRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateEvaluationForm"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateEvaluationFormResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Creates hours of operation. *

* * @param createHoursOfOperationRequest * @return Result of the CreateHoursOfOperation operation returned by the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateHoursOfOperation * @see AWS * API Documentation */ @Override public CreateHoursOfOperationResult createHoursOfOperation(CreateHoursOfOperationRequest request) { request = beforeClientExecution(request); return executeCreateHoursOfOperation(request); } @SdkInternalApi final CreateHoursOfOperationResult executeCreateHoursOfOperation(CreateHoursOfOperationRequest createHoursOfOperationRequest) { ExecutionContext executionContext = createExecutionContext(createHoursOfOperationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateHoursOfOperationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createHoursOfOperationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateHoursOfOperation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateHoursOfOperationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Initiates an Amazon Connect instance with all the supported channels enabled. It does not attach any storage, * such as Amazon Simple Storage Service (Amazon S3) or Amazon Kinesis. It also does not allow for any * configurations on features, such as Contact Lens for Amazon Connect. *

*

* Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. If you * exceed this limit, you will get an error message indicating there has been an excessive number of attempts at * creating or deleting instances. You must wait 30 days before you can restart creating and deleting instances in * your account. *

* * @param createInstanceRequest * @return Result of the CreateInstance operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateInstance * @see AWS API * Documentation */ @Override public CreateInstanceResult createInstance(CreateInstanceRequest request) { request = beforeClientExecution(request); return executeCreateInstance(request); } @SdkInternalApi final CreateInstanceResult executeCreateInstance(CreateInstanceRequest createInstanceRequest) { ExecutionContext executionContext = createExecutionContext(createInstanceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateInstanceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createInstanceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateInstance"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateInstanceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates an Amazon Web Services resource association with an Amazon Connect instance. *

* * @param createIntegrationAssociationRequest * @return Result of the CreateIntegrationAssociation operation returned by the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.CreateIntegrationAssociation * @see AWS API Documentation */ @Override public CreateIntegrationAssociationResult createIntegrationAssociation(CreateIntegrationAssociationRequest request) { request = beforeClientExecution(request); return executeCreateIntegrationAssociation(request); } @SdkInternalApi final CreateIntegrationAssociationResult executeCreateIntegrationAssociation(CreateIntegrationAssociationRequest createIntegrationAssociationRequest) { ExecutionContext executionContext = createExecutionContext(createIntegrationAssociationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateIntegrationAssociationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createIntegrationAssociationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateIntegrationAssociation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateIntegrationAssociationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Adds a new participant into an on-going chat contact. For more information, see Customize chat flow * experiences by integrating custom participants. *

* * @param createParticipantRequest * @return Result of the CreateParticipant operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.CreateParticipant * @see AWS API * Documentation */ @Override public CreateParticipantResult createParticipant(CreateParticipantRequest request) { request = beforeClientExecution(request); return executeCreateParticipant(request); } @SdkInternalApi final CreateParticipantResult executeCreateParticipant(CreateParticipantRequest createParticipantRequest) { ExecutionContext executionContext = createExecutionContext(createParticipantRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateParticipantRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createParticipantRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateParticipant"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateParticipantResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon * Connect Administrator's Guide. *

* * @param createPromptRequest * @return Result of the CreatePrompt operation returned by the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreatePrompt * @see AWS API * Documentation */ @Override public CreatePromptResult createPrompt(CreatePromptRequest request) { request = beforeClientExecution(request); return executeCreatePrompt(request); } @SdkInternalApi final CreatePromptResult executeCreatePrompt(CreatePromptRequest createPromptRequest) { ExecutionContext executionContext = createExecutionContext(createPromptRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePromptRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createPromptRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreatePrompt"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreatePromptResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Creates a new queue for the specified Amazon Connect instance. *

* *

* If the number being used in the input is claimed to a traffic distribution group, and you are calling this API * using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use * either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig * request body parameter. However, if the number is claimed to a traffic distribution group and you are calling * this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution * group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a * ResourceNotFoundException. *

*

* Only use the phone number ARN format that doesn't contain instance in the path, for example, * arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned * when you call the ListPhoneNumbersV2 * API. *

*
* * @param createQueueRequest * @return Result of the CreateQueue operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateQueue * @see AWS API * Documentation */ @Override public CreateQueueResult createQueue(CreateQueueRequest request) { request = beforeClientExecution(request); return executeCreateQueue(request); } @SdkInternalApi final CreateQueueResult executeCreateQueue(CreateQueueRequest createQueueRequest) { ExecutionContext executionContext = createExecutionContext(createQueueRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateQueueRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createQueueRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateQueue"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateQueueResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a quick connect for the specified Amazon Connect instance. *

* * @param createQuickConnectRequest * @return Result of the CreateQuickConnect operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateQuickConnect * @see AWS API * Documentation */ @Override public CreateQuickConnectResult createQuickConnect(CreateQuickConnectRequest request) { request = beforeClientExecution(request); return executeCreateQuickConnect(request); } @SdkInternalApi final CreateQuickConnectResult executeCreateQuickConnect(CreateQuickConnectRequest createQuickConnectRequest) { ExecutionContext executionContext = createExecutionContext(createQuickConnectRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateQuickConnectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createQuickConnectRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateQuickConnect"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateQuickConnectResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new routing profile. *

* * @param createRoutingProfileRequest * @return Result of the CreateRoutingProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateRoutingProfile * @see AWS * API Documentation */ @Override public CreateRoutingProfileResult createRoutingProfile(CreateRoutingProfileRequest request) { request = beforeClientExecution(request); return executeCreateRoutingProfile(request); } @SdkInternalApi final CreateRoutingProfileResult executeCreateRoutingProfile(CreateRoutingProfileRequest createRoutingProfileRequest) { ExecutionContext executionContext = createExecutionContext(createRoutingProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateRoutingProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createRoutingProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRoutingProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateRoutingProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a rule for the specified Amazon Connect instance. *

*

* Use the Rules * Function language to code conditions for the rule. *

* * @param createRuleRequest * @return Result of the CreateRule operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceConflictException * A resource already has that name. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @sample AmazonConnect.CreateRule * @see AWS API * Documentation */ @Override public CreateRuleResult createRule(CreateRuleRequest request) { request = beforeClientExecution(request); return executeCreateRule(request); } @SdkInternalApi final CreateRuleResult executeCreateRule(CreateRuleRequest createRuleRequest) { ExecutionContext executionContext = createExecutionContext(createRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateRuleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Creates a security profile. *

* * @param createSecurityProfileRequest * @return Result of the CreateSecurityProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateSecurityProfile * @see AWS * API Documentation */ @Override public CreateSecurityProfileResult createSecurityProfile(CreateSecurityProfileRequest request) { request = beforeClientExecution(request); return executeCreateSecurityProfile(request); } @SdkInternalApi final CreateSecurityProfileResult executeCreateSecurityProfile(CreateSecurityProfileRequest createSecurityProfileRequest) { ExecutionContext executionContext = createExecutionContext(createSecurityProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateSecurityProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createSecurityProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateSecurityProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateSecurityProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new task template in the specified Amazon Connect instance. *

* * @param createTaskTemplateRequest * @return Result of the CreateTaskTemplate operation returned by the service. * @throws PropertyValidationException * The property is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateTaskTemplate * @see AWS API * Documentation */ @Override public CreateTaskTemplateResult createTaskTemplate(CreateTaskTemplateRequest request) { request = beforeClientExecution(request); return executeCreateTaskTemplate(request); } @SdkInternalApi final CreateTaskTemplateResult executeCreateTaskTemplate(CreateTaskTemplateRequest createTaskTemplateRequest) { ExecutionContext executionContext = createExecutionContext(createTaskTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTaskTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTaskTemplateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTaskTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTaskTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a traffic distribution group given an Amazon Connect instance that has been replicated. *

*

* For more information about creating traffic distribution groups, see Set up * traffic distribution groups in the Amazon Connect Administrator Guide. *

* * @param createTrafficDistributionGroupRequest * @return Result of the CreateTrafficDistributionGroup operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceConflictException * A resource already has that name. * @throws ResourceNotReadyException * The resource is not ready. * @sample AmazonConnect.CreateTrafficDistributionGroup * @see AWS API Documentation */ @Override public CreateTrafficDistributionGroupResult createTrafficDistributionGroup(CreateTrafficDistributionGroupRequest request) { request = beforeClientExecution(request); return executeCreateTrafficDistributionGroup(request); } @SdkInternalApi final CreateTrafficDistributionGroupResult executeCreateTrafficDistributionGroup(CreateTrafficDistributionGroupRequest createTrafficDistributionGroupRequest) { ExecutionContext executionContext = createExecutionContext(createTrafficDistributionGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTrafficDistributionGroupRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createTrafficDistributionGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTrafficDistributionGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTrafficDistributionGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a use case for an integration association. *

* * @param createUseCaseRequest * @return Result of the CreateUseCase operation returned by the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.CreateUseCase * @see AWS API * Documentation */ @Override public CreateUseCaseResult createUseCase(CreateUseCaseRequest request) { request = beforeClientExecution(request); return executeCreateUseCase(request); } @SdkInternalApi final CreateUseCaseResult executeCreateUseCase(CreateUseCaseRequest createUseCaseRequest) { ExecutionContext executionContext = createExecutionContext(createUseCaseRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateUseCaseRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createUseCaseRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateUseCase"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateUseCaseResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a user account for the specified Amazon Connect instance. *

*

* For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon * Connect Administrator Guide. *

* * @param createUserRequest * @return Result of the CreateUser operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateUser * @see AWS API * Documentation */ @Override public CreateUserResult createUser(CreateUserRequest request) { request = beforeClientExecution(request); return executeCreateUser(request); } @SdkInternalApi final CreateUserResult executeCreateUser(CreateUserRequest createUserRequest) { ExecutionContext executionContext = createExecutionContext(createUserRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createUserRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateUser"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateUserResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new user hierarchy group. *

* * @param createUserHierarchyGroupRequest * @return Result of the CreateUserHierarchyGroup operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.CreateUserHierarchyGroup * @see AWS API Documentation */ @Override public CreateUserHierarchyGroupResult createUserHierarchyGroup(CreateUserHierarchyGroupRequest request) { request = beforeClientExecution(request); return executeCreateUserHierarchyGroup(request); } @SdkInternalApi final CreateUserHierarchyGroupResult executeCreateUserHierarchyGroup(CreateUserHierarchyGroupRequest createUserHierarchyGroupRequest) { ExecutionContext executionContext = createExecutionContext(createUserHierarchyGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateUserHierarchyGroupRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createUserHierarchyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateUserHierarchyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateUserHierarchyGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a custom vocabulary associated with your Amazon Connect instance. You can set a custom vocabulary to be * your default vocabulary for a given language. Contact Lens for Amazon Connect uses the default vocabulary in * post-call and real-time contact analysis sessions for that language. *

* * @param createVocabularyRequest * @return Result of the CreateVocabulary operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceConflictException * A resource already has that name. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @sample AmazonConnect.CreateVocabulary * @see AWS API * Documentation */ @Override public CreateVocabularyResult createVocabulary(CreateVocabularyRequest request) { request = beforeClientExecution(request); return executeCreateVocabulary(request); } @SdkInternalApi final CreateVocabularyResult executeCreateVocabulary(CreateVocabularyRequest createVocabularyRequest) { ExecutionContext executionContext = createExecutionContext(createVocabularyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateVocabularyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createVocabularyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateVocabulary"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateVocabularyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deactivates an evaluation form in the specified Amazon Connect instance. After a form is deactivated, it is no * longer available for users to start new evaluations based on the form. *

* * @param deactivateEvaluationFormRequest * @return Result of the DeactivateEvaluationForm operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.DeactivateEvaluationForm * @see AWS API Documentation */ @Override public DeactivateEvaluationFormResult deactivateEvaluationForm(DeactivateEvaluationFormRequest request) { request = beforeClientExecution(request); return executeDeactivateEvaluationForm(request); } @SdkInternalApi final DeactivateEvaluationFormResult executeDeactivateEvaluationForm(DeactivateEvaluationFormRequest deactivateEvaluationFormRequest) { ExecutionContext executionContext = createExecutionContext(deactivateEvaluationFormRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeactivateEvaluationFormRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deactivateEvaluationFormRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeactivateEvaluationForm"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeactivateEvaluationFormResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a contact evaluation in the specified Amazon Connect instance. *

* * @param deleteContactEvaluationRequest * @return Result of the DeleteContactEvaluation operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.DeleteContactEvaluation * @see AWS API Documentation */ @Override public DeleteContactEvaluationResult deleteContactEvaluation(DeleteContactEvaluationRequest request) { request = beforeClientExecution(request); return executeDeleteContactEvaluation(request); } @SdkInternalApi final DeleteContactEvaluationResult executeDeleteContactEvaluation(DeleteContactEvaluationRequest deleteContactEvaluationRequest) { ExecutionContext executionContext = createExecutionContext(deleteContactEvaluationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteContactEvaluationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteContactEvaluationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteContactEvaluation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteContactEvaluationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a flow for the specified Amazon Connect instance. *

* * @param deleteContactFlowRequest * @return Result of the DeleteContactFlow operation returned by the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DeleteContactFlow * @see AWS API * Documentation */ @Override public DeleteContactFlowResult deleteContactFlow(DeleteContactFlowRequest request) { request = beforeClientExecution(request); return executeDeleteContactFlow(request); } @SdkInternalApi final DeleteContactFlowResult executeDeleteContactFlow(DeleteContactFlowRequest deleteContactFlowRequest) { ExecutionContext executionContext = createExecutionContext(deleteContactFlowRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteContactFlowRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteContactFlowRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteContactFlow"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteContactFlowResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the specified flow module. *

* * @param deleteContactFlowModuleRequest * @return Result of the DeleteContactFlowModule operation returned by the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteContactFlowModule * @see AWS API Documentation */ @Override public DeleteContactFlowModuleResult deleteContactFlowModule(DeleteContactFlowModuleRequest request) { request = beforeClientExecution(request); return executeDeleteContactFlowModule(request); } @SdkInternalApi final DeleteContactFlowModuleResult executeDeleteContactFlowModule(DeleteContactFlowModuleRequest deleteContactFlowModuleRequest) { ExecutionContext executionContext = createExecutionContext(deleteContactFlowModuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteContactFlowModuleRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteContactFlowModuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteContactFlowModule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteContactFlowModuleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes an evaluation form in the specified Amazon Connect instance. *

*
    *
  • *

    * If the version property is provided, only the specified version of the evaluation form is deleted. *

    *
  • *
  • *

    * If no version is provided, then the full form (all versions) is deleted. *

    *
  • *
* * @param deleteEvaluationFormRequest * @return Result of the DeleteEvaluationForm operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.DeleteEvaluationForm * @see AWS * API Documentation */ @Override public DeleteEvaluationFormResult deleteEvaluationForm(DeleteEvaluationFormRequest request) { request = beforeClientExecution(request); return executeDeleteEvaluationForm(request); } @SdkInternalApi final DeleteEvaluationFormResult executeDeleteEvaluationForm(DeleteEvaluationFormRequest deleteEvaluationFormRequest) { ExecutionContext executionContext = createExecutionContext(deleteEvaluationFormRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteEvaluationFormRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteEvaluationFormRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteEvaluationForm"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteEvaluationFormResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Deletes an hours of operation. *

* * @param deleteHoursOfOperationRequest * @return Result of the DeleteHoursOfOperation operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteHoursOfOperation * @see AWS * API Documentation */ @Override public DeleteHoursOfOperationResult deleteHoursOfOperation(DeleteHoursOfOperationRequest request) { request = beforeClientExecution(request); return executeDeleteHoursOfOperation(request); } @SdkInternalApi final DeleteHoursOfOperationResult executeDeleteHoursOfOperation(DeleteHoursOfOperationRequest deleteHoursOfOperationRequest) { ExecutionContext executionContext = createExecutionContext(deleteHoursOfOperationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteHoursOfOperationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteHoursOfOperationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteHoursOfOperation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteHoursOfOperationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Deletes the Amazon Connect instance. *

*

* Amazon Connect enforces a limit on the total number of instances that you can create or delete in 30 days. If you * exceed this limit, you will get an error message indicating there has been an excessive number of attempts at * creating or deleting instances. You must wait 30 days before you can restart creating and deleting instances in * your account. *

* * @param deleteInstanceRequest * @return Result of the DeleteInstance operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @sample AmazonConnect.DeleteInstance * @see AWS API * Documentation */ @Override public DeleteInstanceResult deleteInstance(DeleteInstanceRequest request) { request = beforeClientExecution(request); return executeDeleteInstance(request); } @SdkInternalApi final DeleteInstanceResult executeDeleteInstance(DeleteInstanceRequest deleteInstanceRequest) { ExecutionContext executionContext = createExecutionContext(deleteInstanceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteInstanceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteInstanceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteInstance"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteInstanceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not * have any use cases associated with it. *

* * @param deleteIntegrationAssociationRequest * @return Result of the DeleteIntegrationAssociation operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DeleteIntegrationAssociation * @see AWS API Documentation */ @Override public DeleteIntegrationAssociationResult deleteIntegrationAssociation(DeleteIntegrationAssociationRequest request) { request = beforeClientExecution(request); return executeDeleteIntegrationAssociation(request); } @SdkInternalApi final DeleteIntegrationAssociationResult executeDeleteIntegrationAssociation(DeleteIntegrationAssociationRequest deleteIntegrationAssociationRequest) { ExecutionContext executionContext = createExecutionContext(deleteIntegrationAssociationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteIntegrationAssociationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteIntegrationAssociationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteIntegrationAssociation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteIntegrationAssociationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a prompt. *

* * @param deletePromptRequest * @return Result of the DeletePrompt operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeletePrompt * @see AWS API * Documentation */ @Override public DeletePromptResult deletePrompt(DeletePromptRequest request) { request = beforeClientExecution(request); return executeDeletePrompt(request); } @SdkInternalApi final DeletePromptResult executeDeletePrompt(DeletePromptRequest deletePromptRequest) { ExecutionContext executionContext = createExecutionContext(deletePromptRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeletePromptRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deletePromptRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeletePrompt"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeletePromptResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a queue. *

* * @param deleteQueueRequest * @return Result of the DeleteQueue operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteQueue * @see AWS API * Documentation */ @Override public DeleteQueueResult deleteQueue(DeleteQueueRequest request) { request = beforeClientExecution(request); return executeDeleteQueue(request); } @SdkInternalApi final DeleteQueueResult executeDeleteQueue(DeleteQueueRequest deleteQueueRequest) { ExecutionContext executionContext = createExecutionContext(deleteQueueRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteQueueRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteQueueRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteQueue"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteQueueResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a quick connect. *

* * @param deleteQuickConnectRequest * @return Result of the DeleteQuickConnect operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteQuickConnect * @see AWS API * Documentation */ @Override public DeleteQuickConnectResult deleteQuickConnect(DeleteQuickConnectRequest request) { request = beforeClientExecution(request); return executeDeleteQuickConnect(request); } @SdkInternalApi final DeleteQuickConnectResult executeDeleteQuickConnect(DeleteQuickConnectRequest deleteQuickConnectRequest) { ExecutionContext executionContext = createExecutionContext(deleteQuickConnectRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteQuickConnectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteQuickConnectRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteQuickConnect"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteQuickConnectResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a routing profile. *

* * @param deleteRoutingProfileRequest * @return Result of the DeleteRoutingProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteRoutingProfile * @see AWS * API Documentation */ @Override public DeleteRoutingProfileResult deleteRoutingProfile(DeleteRoutingProfileRequest request) { request = beforeClientExecution(request); return executeDeleteRoutingProfile(request); } @SdkInternalApi final DeleteRoutingProfileResult executeDeleteRoutingProfile(DeleteRoutingProfileRequest deleteRoutingProfileRequest) { ExecutionContext executionContext = createExecutionContext(deleteRoutingProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteRoutingProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRoutingProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRoutingProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteRoutingProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a rule for the specified Amazon Connect instance. *

* * @param deleteRuleRequest * @return Result of the DeleteRule operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.DeleteRule * @see AWS API * Documentation */ @Override public DeleteRuleResult deleteRule(DeleteRuleRequest request) { request = beforeClientExecution(request); return executeDeleteRule(request); } @SdkInternalApi final DeleteRuleResult executeDeleteRule(DeleteRuleRequest deleteRuleRequest) { ExecutionContext executionContext = createExecutionContext(deleteRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteRuleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Deletes a security profile. *

* * @param deleteSecurityProfileRequest * @return Result of the DeleteSecurityProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceInUseException * That resource is already in use. Please try another. * @sample AmazonConnect.DeleteSecurityProfile * @see AWS * API Documentation */ @Override public DeleteSecurityProfileResult deleteSecurityProfile(DeleteSecurityProfileRequest request) { request = beforeClientExecution(request); return executeDeleteSecurityProfile(request); } @SdkInternalApi final DeleteSecurityProfileResult executeDeleteSecurityProfile(DeleteSecurityProfileRequest deleteSecurityProfileRequest) { ExecutionContext executionContext = createExecutionContext(deleteSecurityProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteSecurityProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteSecurityProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteSecurityProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteSecurityProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the task template. *

* * @param deleteTaskTemplateRequest * @return Result of the DeleteTaskTemplate operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteTaskTemplate * @see AWS API * Documentation */ @Override public DeleteTaskTemplateResult deleteTaskTemplate(DeleteTaskTemplateRequest request) { request = beforeClientExecution(request); return executeDeleteTaskTemplate(request); } @SdkInternalApi final DeleteTaskTemplateResult executeDeleteTaskTemplate(DeleteTaskTemplateRequest deleteTaskTemplateRequest) { ExecutionContext executionContext = createExecutionContext(deleteTaskTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTaskTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTaskTemplateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTaskTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTaskTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a traffic distribution group. This API can be called only in the Region where the traffic distribution * group is created. *

*

* For more information about deleting traffic distribution groups, see Delete * traffic distribution groups in the Amazon Connect Administrator Guide. *

* * @param deleteTrafficDistributionGroupRequest * @return Result of the DeleteTrafficDistributionGroup operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteTrafficDistributionGroup * @see AWS API Documentation */ @Override public DeleteTrafficDistributionGroupResult deleteTrafficDistributionGroup(DeleteTrafficDistributionGroupRequest request) { request = beforeClientExecution(request); return executeDeleteTrafficDistributionGroup(request); } @SdkInternalApi final DeleteTrafficDistributionGroupResult executeDeleteTrafficDistributionGroup(DeleteTrafficDistributionGroupRequest deleteTrafficDistributionGroupRequest) { ExecutionContext executionContext = createExecutionContext(deleteTrafficDistributionGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTrafficDistributionGroupRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteTrafficDistributionGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTrafficDistributionGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTrafficDistributionGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a use case from an integration association. *

* * @param deleteUseCaseRequest * @return Result of the DeleteUseCase operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DeleteUseCase * @see AWS API * Documentation */ @Override public DeleteUseCaseResult deleteUseCase(DeleteUseCaseRequest request) { request = beforeClientExecution(request); return executeDeleteUseCase(request); } @SdkInternalApi final DeleteUseCaseResult executeDeleteUseCase(DeleteUseCaseRequest deleteUseCaseRequest) { ExecutionContext executionContext = createExecutionContext(deleteUseCaseRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteUseCaseRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteUseCaseRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteUseCase"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteUseCaseResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a user account from the specified Amazon Connect instance. *

*

* For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon * Connect Instance in the Amazon Connect Administrator Guide. *

* * @param deleteUserRequest * @return Result of the DeleteUser operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteUser * @see AWS API * Documentation */ @Override public DeleteUserResult deleteUser(DeleteUserRequest request) { request = beforeClientExecution(request); return executeDeleteUser(request); } @SdkInternalApi final DeleteUserResult executeDeleteUser(DeleteUserRequest deleteUserRequest) { ExecutionContext executionContext = createExecutionContext(deleteUserRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteUserRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteUser"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteUserResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes an existing user hierarchy group. It must not be associated with any agents or have any active child * groups. *

* * @param deleteUserHierarchyGroupRequest * @return Result of the DeleteUserHierarchyGroup operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DeleteUserHierarchyGroup * @see AWS API Documentation */ @Override public DeleteUserHierarchyGroupResult deleteUserHierarchyGroup(DeleteUserHierarchyGroupRequest request) { request = beforeClientExecution(request); return executeDeleteUserHierarchyGroup(request); } @SdkInternalApi final DeleteUserHierarchyGroupResult executeDeleteUserHierarchyGroup(DeleteUserHierarchyGroupRequest deleteUserHierarchyGroupRequest) { ExecutionContext executionContext = createExecutionContext(deleteUserHierarchyGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteUserHierarchyGroupRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteUserHierarchyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteUserHierarchyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteUserHierarchyGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes the vocabulary that has the given identifier. *

* * @param deleteVocabularyRequest * @return Result of the DeleteVocabulary operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceInUseException * That resource is already in use. Please try another. * @sample AmazonConnect.DeleteVocabulary * @see AWS API * Documentation */ @Override public DeleteVocabularyResult deleteVocabulary(DeleteVocabularyRequest request) { request = beforeClientExecution(request); return executeDeleteVocabulary(request); } @SdkInternalApi final DeleteVocabularyResult executeDeleteVocabulary(DeleteVocabularyRequest deleteVocabularyRequest) { ExecutionContext executionContext = createExecutionContext(deleteVocabularyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteVocabularyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteVocabularyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteVocabulary"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteVocabularyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Describes an agent status. *

* * @param describeAgentStatusRequest * @return Result of the DescribeAgentStatus operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeAgentStatus * @see AWS * API Documentation */ @Override public DescribeAgentStatusResult describeAgentStatus(DescribeAgentStatusRequest request) { request = beforeClientExecution(request); return executeDescribeAgentStatus(request); } @SdkInternalApi final DescribeAgentStatusResult executeDescribeAgentStatus(DescribeAgentStatusRequest describeAgentStatusRequest) { ExecutionContext executionContext = createExecutionContext(describeAgentStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeAgentStatusRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeAgentStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAgentStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeAgentStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Describes the specified contact. *

* *

* Contact information remains available in Amazon Connect for 24 months, and then it is deleted. *

*

* Only data from November 12, 2021, and later is returned by this API. *

*
* * @param describeContactRequest * @return Result of the DescribeContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DescribeContact * @see AWS API * Documentation */ @Override public DescribeContactResult describeContact(DescribeContactRequest request) { request = beforeClientExecution(request); return executeDescribeContact(request); } @SdkInternalApi final DescribeContactResult executeDescribeContact(DescribeContactRequest describeContactRequest) { ExecutionContext executionContext = createExecutionContext(describeContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes a contact evaluation in the specified Amazon Connect instance. *

* * @param describeContactEvaluationRequest * @return Result of the DescribeContactEvaluation operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeContactEvaluation * @see AWS API Documentation */ @Override public DescribeContactEvaluationResult describeContactEvaluation(DescribeContactEvaluationRequest request) { request = beforeClientExecution(request); return executeDescribeContactEvaluation(request); } @SdkInternalApi final DescribeContactEvaluationResult executeDescribeContactEvaluation(DescribeContactEvaluationRequest describeContactEvaluationRequest) { ExecutionContext executionContext = createExecutionContext(describeContactEvaluationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeContactEvaluationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeContactEvaluationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeContactEvaluation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeContactEvaluationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified flow. *

*

* You can also create and update flows using the Amazon Connect Flow * language. *

* * @param describeContactFlowRequest * @return Result of the DescribeContactFlow operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ContactFlowNotPublishedException * The flow has not been published. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeContactFlow * @see AWS * API Documentation */ @Override public DescribeContactFlowResult describeContactFlow(DescribeContactFlowRequest request) { request = beforeClientExecution(request); return executeDescribeContactFlow(request); } @SdkInternalApi final DescribeContactFlowResult executeDescribeContactFlow(DescribeContactFlowRequest describeContactFlowRequest) { ExecutionContext executionContext = createExecutionContext(describeContactFlowRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeContactFlowRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeContactFlowRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeContactFlow"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeContactFlowResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified flow module. *

* * @param describeContactFlowModuleRequest * @return Result of the DescribeContactFlowModule operation returned by the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeContactFlowModule * @see AWS API Documentation */ @Override public DescribeContactFlowModuleResult describeContactFlowModule(DescribeContactFlowModuleRequest request) { request = beforeClientExecution(request); return executeDescribeContactFlowModule(request); } @SdkInternalApi final DescribeContactFlowModuleResult executeDescribeContactFlowModule(DescribeContactFlowModuleRequest describeContactFlowModuleRequest) { ExecutionContext executionContext = createExecutionContext(describeContactFlowModuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeContactFlowModuleRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeContactFlowModuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeContactFlowModule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeContactFlowModuleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes an evaluation form in the specified Amazon Connect instance. If the version property is not provided, * the latest version of the evaluation form is described. *

* * @param describeEvaluationFormRequest * @return Result of the DescribeEvaluationForm operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeEvaluationForm * @see AWS * API Documentation */ @Override public DescribeEvaluationFormResult describeEvaluationForm(DescribeEvaluationFormRequest request) { request = beforeClientExecution(request); return executeDescribeEvaluationForm(request); } @SdkInternalApi final DescribeEvaluationFormResult executeDescribeEvaluationForm(DescribeEvaluationFormRequest describeEvaluationFormRequest) { ExecutionContext executionContext = createExecutionContext(describeEvaluationFormRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeEvaluationFormRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeEvaluationFormRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeEvaluationForm"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeEvaluationFormResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Describes the hours of operation. *

* * @param describeHoursOfOperationRequest * @return Result of the DescribeHoursOfOperation operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeHoursOfOperation * @see AWS API Documentation */ @Override public DescribeHoursOfOperationResult describeHoursOfOperation(DescribeHoursOfOperationRequest request) { request = beforeClientExecution(request); return executeDescribeHoursOfOperation(request); } @SdkInternalApi final DescribeHoursOfOperationResult executeDescribeHoursOfOperation(DescribeHoursOfOperationRequest describeHoursOfOperationRequest) { ExecutionContext executionContext = createExecutionContext(describeHoursOfOperationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeHoursOfOperationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeHoursOfOperationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeHoursOfOperation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeHoursOfOperationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Returns the current state of the specified instance identifier. It tracks the instance while it is being created * and returns an error status, if applicable. *

*

* If an instance is not created successfully, the instance status reason field returns details relevant to the * reason. The instance in a failed state is returned only for 24 hours after the CreateInstance API was invoked. *

* * @param describeInstanceRequest * @return Result of the DescribeInstance operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeInstance * @see AWS API * Documentation */ @Override public DescribeInstanceResult describeInstance(DescribeInstanceRequest request) { request = beforeClientExecution(request); return executeDescribeInstance(request); } @SdkInternalApi final DescribeInstanceResult executeDescribeInstance(DescribeInstanceRequest describeInstanceRequest) { ExecutionContext executionContext = createExecutionContext(describeInstanceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeInstanceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeInstanceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeInstance"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeInstanceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Describes the specified instance attribute. *

* * @param describeInstanceAttributeRequest * @return Result of the DescribeInstanceAttribute operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DescribeInstanceAttribute * @see AWS API Documentation */ @Override public DescribeInstanceAttributeResult describeInstanceAttribute(DescribeInstanceAttributeRequest request) { request = beforeClientExecution(request); return executeDescribeInstanceAttribute(request); } @SdkInternalApi final DescribeInstanceAttributeResult executeDescribeInstanceAttribute(DescribeInstanceAttributeRequest describeInstanceAttributeRequest) { ExecutionContext executionContext = createExecutionContext(describeInstanceAttributeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeInstanceAttributeRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeInstanceAttributeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeInstanceAttribute"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeInstanceAttributeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Retrieves the current storage configurations for the specified resource type, association ID, and instance ID. *

* * @param describeInstanceStorageConfigRequest * @return Result of the DescribeInstanceStorageConfig operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DescribeInstanceStorageConfig * @see AWS API Documentation */ @Override public DescribeInstanceStorageConfigResult describeInstanceStorageConfig(DescribeInstanceStorageConfigRequest request) { request = beforeClientExecution(request); return executeDescribeInstanceStorageConfig(request); } @SdkInternalApi final DescribeInstanceStorageConfigResult executeDescribeInstanceStorageConfig(DescribeInstanceStorageConfigRequest describeInstanceStorageConfigRequest) { ExecutionContext executionContext = createExecutionContext(describeInstanceStorageConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeInstanceStorageConfigRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeInstanceStorageConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeInstanceStorageConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeInstanceStorageConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets details and status of a phone number that’s claimed to your Amazon Connect instance or traffic distribution * group. *

* *

* If the number is claimed to a traffic distribution group, and you are calling in the Amazon Web Services Region * where the traffic distribution group was created, you can use either a phone number ARN or UUID value for the * PhoneNumberId URI request parameter. However, if the number is claimed to a traffic distribution * group and you are calling this API in the alternate Amazon Web Services Region associated with the traffic * distribution group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will * receive a ResourceNotFoundException. *

*
* * @param describePhoneNumberRequest * @return Result of the DescribePhoneNumber operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.DescribePhoneNumber * @see AWS * API Documentation */ @Override public DescribePhoneNumberResult describePhoneNumber(DescribePhoneNumberRequest request) { request = beforeClientExecution(request); return executeDescribePhoneNumber(request); } @SdkInternalApi final DescribePhoneNumberResult executeDescribePhoneNumber(DescribePhoneNumberRequest describePhoneNumberRequest) { ExecutionContext executionContext = createExecutionContext(describePhoneNumberRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribePhoneNumberRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describePhoneNumberRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribePhoneNumber"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribePhoneNumberResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the prompt. *

* * @param describePromptRequest * @return Result of the DescribePrompt operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribePrompt * @see AWS API * Documentation */ @Override public DescribePromptResult describePrompt(DescribePromptRequest request) { request = beforeClientExecution(request); return executeDescribePrompt(request); } @SdkInternalApi final DescribePromptResult executeDescribePrompt(DescribePromptRequest describePromptRequest) { ExecutionContext executionContext = createExecutionContext(describePromptRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribePromptRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describePromptRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribePrompt"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribePromptResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Describes the specified queue. *

* * @param describeQueueRequest * @return Result of the DescribeQueue operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeQueue * @see AWS API * Documentation */ @Override public DescribeQueueResult describeQueue(DescribeQueueRequest request) { request = beforeClientExecution(request); return executeDescribeQueue(request); } @SdkInternalApi final DescribeQueueResult executeDescribeQueue(DescribeQueueRequest describeQueueRequest) { ExecutionContext executionContext = createExecutionContext(describeQueueRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeQueueRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeQueueRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeQueue"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeQueueResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the quick connect. *

* * @param describeQuickConnectRequest * @return Result of the DescribeQuickConnect operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeQuickConnect * @see AWS * API Documentation */ @Override public DescribeQuickConnectResult describeQuickConnect(DescribeQuickConnectRequest request) { request = beforeClientExecution(request); return executeDescribeQuickConnect(request); } @SdkInternalApi final DescribeQuickConnectResult executeDescribeQuickConnect(DescribeQuickConnectRequest describeQuickConnectRequest) { ExecutionContext executionContext = createExecutionContext(describeQuickConnectRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeQuickConnectRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeQuickConnectRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeQuickConnect"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeQuickConnectResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified routing profile. *

* * @param describeRoutingProfileRequest * @return Result of the DescribeRoutingProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeRoutingProfile * @see AWS * API Documentation */ @Override public DescribeRoutingProfileResult describeRoutingProfile(DescribeRoutingProfileRequest request) { request = beforeClientExecution(request); return executeDescribeRoutingProfile(request); } @SdkInternalApi final DescribeRoutingProfileResult executeDescribeRoutingProfile(DescribeRoutingProfileRequest describeRoutingProfileRequest) { ExecutionContext executionContext = createExecutionContext(describeRoutingProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeRoutingProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeRoutingProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeRoutingProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeRoutingProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes a rule for the specified Amazon Connect instance. *

* * @param describeRuleRequest * @return Result of the DescribeRule operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.DescribeRule * @see AWS API * Documentation */ @Override public DescribeRuleResult describeRule(DescribeRuleRequest request) { request = beforeClientExecution(request); return executeDescribeRule(request); } @SdkInternalApi final DescribeRuleResult executeDescribeRule(DescribeRuleRequest describeRuleRequest) { ExecutionContext executionContext = createExecutionContext(describeRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeRule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeRuleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Gets basic information about the security profle. *

* * @param describeSecurityProfileRequest * @return Result of the DescribeSecurityProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeSecurityProfile * @see AWS API Documentation */ @Override public DescribeSecurityProfileResult describeSecurityProfile(DescribeSecurityProfileRequest request) { request = beforeClientExecution(request); return executeDescribeSecurityProfile(request); } @SdkInternalApi final DescribeSecurityProfileResult executeDescribeSecurityProfile(DescribeSecurityProfileRequest describeSecurityProfileRequest) { ExecutionContext executionContext = createExecutionContext(describeSecurityProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeSecurityProfileRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeSecurityProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeSecurityProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeSecurityProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets details and status of a traffic distribution group. *

* * @param describeTrafficDistributionGroupRequest * @return Result of the DescribeTrafficDistributionGroup operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DescribeTrafficDistributionGroup * @see AWS API Documentation */ @Override public DescribeTrafficDistributionGroupResult describeTrafficDistributionGroup(DescribeTrafficDistributionGroupRequest request) { request = beforeClientExecution(request); return executeDescribeTrafficDistributionGroup(request); } @SdkInternalApi final DescribeTrafficDistributionGroupResult executeDescribeTrafficDistributionGroup( DescribeTrafficDistributionGroupRequest describeTrafficDistributionGroupRequest) { ExecutionContext executionContext = createExecutionContext(describeTrafficDistributionGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTrafficDistributionGroupRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeTrafficDistributionGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeTrafficDistributionGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeTrafficDistributionGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified user account. You can find the instance ID in the * Amazon Connect console (it’s the final part of the ARN). The console does not display the user IDs. Instead, * list the users and note the IDs provided in the output. *

* * @param describeUserRequest * @return Result of the DescribeUser operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeUser * @see AWS API * Documentation */ @Override public DescribeUserResult describeUser(DescribeUserRequest request) { request = beforeClientExecution(request); return executeDescribeUser(request); } @SdkInternalApi final DescribeUserResult executeDescribeUser(DescribeUserRequest describeUserRequest) { ExecutionContext executionContext = createExecutionContext(describeUserRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeUserRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeUserRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeUser"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeUserResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified hierarchy group. *

* * @param describeUserHierarchyGroupRequest * @return Result of the DescribeUserHierarchyGroup operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeUserHierarchyGroup * @see AWS API Documentation */ @Override public DescribeUserHierarchyGroupResult describeUserHierarchyGroup(DescribeUserHierarchyGroupRequest request) { request = beforeClientExecution(request); return executeDescribeUserHierarchyGroup(request); } @SdkInternalApi final DescribeUserHierarchyGroupResult executeDescribeUserHierarchyGroup(DescribeUserHierarchyGroupRequest describeUserHierarchyGroupRequest) { ExecutionContext executionContext = createExecutionContext(describeUserHierarchyGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeUserHierarchyGroupRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeUserHierarchyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeUserHierarchyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeUserHierarchyGroupResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the hierarchy structure of the specified Amazon Connect instance. *

* * @param describeUserHierarchyStructureRequest * @return Result of the DescribeUserHierarchyStructure operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DescribeUserHierarchyStructure * @see AWS API Documentation */ @Override public DescribeUserHierarchyStructureResult describeUserHierarchyStructure(DescribeUserHierarchyStructureRequest request) { request = beforeClientExecution(request); return executeDescribeUserHierarchyStructure(request); } @SdkInternalApi final DescribeUserHierarchyStructureResult executeDescribeUserHierarchyStructure(DescribeUserHierarchyStructureRequest describeUserHierarchyStructureRequest) { ExecutionContext executionContext = createExecutionContext(describeUserHierarchyStructureRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeUserHierarchyStructureRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeUserHierarchyStructureRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeUserHierarchyStructure"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeUserHierarchyStructureResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Describes the specified vocabulary. *

* * @param describeVocabularyRequest * @return Result of the DescribeVocabulary operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.DescribeVocabulary * @see AWS API * Documentation */ @Override public DescribeVocabularyResult describeVocabulary(DescribeVocabularyRequest request) { request = beforeClientExecution(request); return executeDescribeVocabulary(request); } @SdkInternalApi final DescribeVocabularyResult executeDescribeVocabulary(DescribeVocabularyRequest describeVocabularyRequest) { ExecutionContext executionContext = createExecutionContext(describeVocabularyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeVocabularyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeVocabularyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeVocabulary"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeVocabularyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Revokes access to integrated applications from Amazon Connect. *

* * @param disassociateApprovedOriginRequest * @return Result of the DisassociateApprovedOrigin operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DisassociateApprovedOrigin * @see AWS API Documentation */ @Override public DisassociateApprovedOriginResult disassociateApprovedOrigin(DisassociateApprovedOriginRequest request) { request = beforeClientExecution(request); return executeDisassociateApprovedOrigin(request); } @SdkInternalApi final DisassociateApprovedOriginResult executeDisassociateApprovedOrigin(DisassociateApprovedOriginRequest disassociateApprovedOriginRequest) { ExecutionContext executionContext = createExecutionContext(disassociateApprovedOriginRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateApprovedOriginRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateApprovedOriginRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateApprovedOrigin"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateApprovedOriginResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Revokes authorization from the specified instance to access the specified Amazon Lex or Amazon Lex V2 bot. *

* * @param disassociateBotRequest * @return Result of the DisassociateBot operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DisassociateBot * @see AWS API * Documentation */ @Override public DisassociateBotResult disassociateBot(DisassociateBotRequest request) { request = beforeClientExecution(request); return executeDisassociateBot(request); } @SdkInternalApi final DisassociateBotResult executeDisassociateBot(DisassociateBotRequest disassociateBotRequest) { ExecutionContext executionContext = createExecutionContext(disassociateBotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateBotRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disassociateBotRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateBot"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateBotResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Removes the storage type configurations for the specified resource type and association ID. *

* * @param disassociateInstanceStorageConfigRequest * @return Result of the DisassociateInstanceStorageConfig operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DisassociateInstanceStorageConfig * @see AWS API Documentation */ @Override public DisassociateInstanceStorageConfigResult disassociateInstanceStorageConfig(DisassociateInstanceStorageConfigRequest request) { request = beforeClientExecution(request); return executeDisassociateInstanceStorageConfig(request); } @SdkInternalApi final DisassociateInstanceStorageConfigResult executeDisassociateInstanceStorageConfig( DisassociateInstanceStorageConfigRequest disassociateInstanceStorageConfigRequest) { ExecutionContext executionContext = createExecutionContext(disassociateInstanceStorageConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateInstanceStorageConfigRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateInstanceStorageConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateInstanceStorageConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateInstanceStorageConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Remove the Lambda function from the dropdown options available in the relevant flow blocks. *

* * @param disassociateLambdaFunctionRequest * @return Result of the DisassociateLambdaFunction operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DisassociateLambdaFunction * @see AWS API Documentation */ @Override public DisassociateLambdaFunctionResult disassociateLambdaFunction(DisassociateLambdaFunctionRequest request) { request = beforeClientExecution(request); return executeDisassociateLambdaFunction(request); } @SdkInternalApi final DisassociateLambdaFunctionResult executeDisassociateLambdaFunction(DisassociateLambdaFunctionRequest disassociateLambdaFunctionRequest) { ExecutionContext executionContext = createExecutionContext(disassociateLambdaFunctionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateLambdaFunctionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateLambdaFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateLambdaFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateLambdaFunctionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Revokes authorization from the specified instance to access the specified Amazon Lex bot. *

* * @param disassociateLexBotRequest * @return Result of the DisassociateLexBot operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DisassociateLexBot * @see AWS API * Documentation */ @Override public DisassociateLexBotResult disassociateLexBot(DisassociateLexBotRequest request) { request = beforeClientExecution(request); return executeDisassociateLexBot(request); } @SdkInternalApi final DisassociateLexBotResult executeDisassociateLexBot(DisassociateLexBotRequest disassociateLexBotRequest) { ExecutionContext executionContext = createExecutionContext(disassociateLexBotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateLexBotRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disassociateLexBotRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateLexBot"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateLexBotResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Removes the flow association from a phone number claimed to your Amazon Connect instance. *

* *

* If the number is claimed to a traffic distribution group, and you are calling this API using an instance in the * Amazon Web Services Region where the traffic distribution group was created, you can use either a full phone * number ARN or UUID value for the PhoneNumberId URI request parameter. However, if the number is * claimed to a traffic distribution group and you are calling this API using an instance in the alternate Amazon * Web Services Region associated with the traffic distribution group, you must provide a full phone number ARN. If * a UUID is provided in this scenario, you will receive a ResourceNotFoundException. *

*
* * @param disassociatePhoneNumberContactFlowRequest * @return Result of the DisassociatePhoneNumberContactFlow operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.DisassociatePhoneNumberContactFlow * @see AWS API Documentation */ @Override public DisassociatePhoneNumberContactFlowResult disassociatePhoneNumberContactFlow(DisassociatePhoneNumberContactFlowRequest request) { request = beforeClientExecution(request); return executeDisassociatePhoneNumberContactFlow(request); } @SdkInternalApi final DisassociatePhoneNumberContactFlowResult executeDisassociatePhoneNumberContactFlow( DisassociatePhoneNumberContactFlowRequest disassociatePhoneNumberContactFlowRequest) { ExecutionContext executionContext = createExecutionContext(disassociatePhoneNumberContactFlowRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociatePhoneNumberContactFlowRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociatePhoneNumberContactFlowRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociatePhoneNumberContactFlow"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociatePhoneNumberContactFlowResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Disassociates a set of quick connects from a queue. *

* * @param disassociateQueueQuickConnectsRequest * @return Result of the DisassociateQueueQuickConnects operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DisassociateQueueQuickConnects * @see AWS API Documentation */ @Override public DisassociateQueueQuickConnectsResult disassociateQueueQuickConnects(DisassociateQueueQuickConnectsRequest request) { request = beforeClientExecution(request); return executeDisassociateQueueQuickConnects(request); } @SdkInternalApi final DisassociateQueueQuickConnectsResult executeDisassociateQueueQuickConnects(DisassociateQueueQuickConnectsRequest disassociateQueueQuickConnectsRequest) { ExecutionContext executionContext = createExecutionContext(disassociateQueueQuickConnectsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateQueueQuickConnectsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateQueueQuickConnectsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateQueueQuickConnects"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateQueueQuickConnectsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Disassociates a set of queues from a routing profile. *

* * @param disassociateRoutingProfileQueuesRequest * @return Result of the DisassociateRoutingProfileQueues operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DisassociateRoutingProfileQueues * @see AWS API Documentation */ @Override public DisassociateRoutingProfileQueuesResult disassociateRoutingProfileQueues(DisassociateRoutingProfileQueuesRequest request) { request = beforeClientExecution(request); return executeDisassociateRoutingProfileQueues(request); } @SdkInternalApi final DisassociateRoutingProfileQueuesResult executeDisassociateRoutingProfileQueues( DisassociateRoutingProfileQueuesRequest disassociateRoutingProfileQueuesRequest) { ExecutionContext executionContext = createExecutionContext(disassociateRoutingProfileQueuesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateRoutingProfileQueuesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateRoutingProfileQueuesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateRoutingProfileQueues"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateRoutingProfileQueuesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Deletes the specified security key. *

* * @param disassociateSecurityKeyRequest * @return Result of the DisassociateSecurityKey operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.DisassociateSecurityKey * @see AWS API Documentation */ @Override public DisassociateSecurityKeyResult disassociateSecurityKey(DisassociateSecurityKeyRequest request) { request = beforeClientExecution(request); return executeDisassociateSecurityKey(request); } @SdkInternalApi final DisassociateSecurityKeyResult executeDisassociateSecurityKey(DisassociateSecurityKeyRequest disassociateSecurityKeyRequest) { ExecutionContext executionContext = createExecutionContext(disassociateSecurityKeyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateSecurityKeyRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateSecurityKeyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateSecurityKey"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateSecurityKeyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Dismisses contacts from an agent’s CCP and returns the agent to an available state, which allows the agent to * receive a new routed contact. Contacts can only be dismissed if they are in a MISSED, * ERROR, ENDED, or REJECTED state in the Agent Event Stream. *

* * @param dismissUserContactRequest * @return Result of the DismissUserContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.DismissUserContact * @see AWS API * Documentation */ @Override public DismissUserContactResult dismissUserContact(DismissUserContactRequest request) { request = beforeClientExecution(request); return executeDismissUserContact(request); } @SdkInternalApi final DismissUserContactResult executeDismissUserContact(DismissUserContactRequest dismissUserContactRequest) { ExecutionContext executionContext = createExecutionContext(dismissUserContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DismissUserContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(dismissUserContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DismissUserContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DismissUserContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the contact attributes for the specified contact. *

* * @param getContactAttributesRequest * @return Result of the GetContactAttributes operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.GetContactAttributes * @see AWS * API Documentation */ @Override public GetContactAttributesResult getContactAttributes(GetContactAttributesRequest request) { request = beforeClientExecution(request); return executeGetContactAttributes(request); } @SdkInternalApi final GetContactAttributesResult executeGetContactAttributes(GetContactAttributesRequest getContactAttributesRequest) { ExecutionContext executionContext = createExecutionContext(getContactAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetContactAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getContactAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetContactAttributes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetContactAttributesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets the real-time metric data from the specified Amazon Connect instance. *

*

* For a description of each metric, see Real-time Metrics * Definitions in the Amazon Connect Administrator Guide. *

* * @param getCurrentMetricDataRequest * @return Result of the GetCurrentMetricData operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @sample AmazonConnect.GetCurrentMetricData * @see AWS * API Documentation */ @Override public GetCurrentMetricDataResult getCurrentMetricData(GetCurrentMetricDataRequest request) { request = beforeClientExecution(request); return executeGetCurrentMetricData(request); } @SdkInternalApi final GetCurrentMetricDataResult executeGetCurrentMetricData(GetCurrentMetricDataRequest getCurrentMetricDataRequest) { ExecutionContext executionContext = createExecutionContext(getCurrentMetricDataRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetCurrentMetricDataRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getCurrentMetricDataRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCurrentMetricData"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetCurrentMetricDataResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets the real-time active user data from the specified Amazon Connect instance. *

* * @param getCurrentUserDataRequest * @return Result of the GetCurrentUserData operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @sample AmazonConnect.GetCurrentUserData * @see AWS API * Documentation */ @Override public GetCurrentUserDataResult getCurrentUserData(GetCurrentUserDataRequest request) { request = beforeClientExecution(request); return executeGetCurrentUserData(request); } @SdkInternalApi final GetCurrentUserDataResult executeGetCurrentUserData(GetCurrentUserDataRequest getCurrentUserDataRequest) { ExecutionContext executionContext = createExecutionContext(getCurrentUserDataRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetCurrentUserDataRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getCurrentUserDataRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCurrentUserData"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetCurrentUserDataResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a token for federation. *

* *

* This API doesn't support root users. If you try to invoke GetFederationToken with root credentials, an error * message similar to the following one appears: *

*

* Provided identity: Principal: .... User: .... cannot be used for federation with Amazon Connect *

*
* * @param getFederationTokenRequest * @return Result of the GetFederationToken operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws UserNotFoundException * No user with the specified credentials was found in the Amazon Connect instance. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @sample AmazonConnect.GetFederationToken * @see AWS API * Documentation */ @Override public GetFederationTokenResult getFederationToken(GetFederationTokenRequest request) { request = beforeClientExecution(request); return executeGetFederationToken(request); } @SdkInternalApi final GetFederationTokenResult executeGetFederationToken(GetFederationTokenRequest getFederationTokenRequest) { ExecutionContext executionContext = createExecutionContext(getFederationTokenRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetFederationTokenRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getFederationTokenRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFederationToken"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetFederationTokenResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets historical metric data from the specified Amazon Connect instance. *

*

* For a description of each historical metric, see Historical * Metrics Definitions in the Amazon Connect Administrator Guide. *

* * @param getMetricDataRequest * @return Result of the GetMetricData operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @sample AmazonConnect.GetMetricData * @see AWS API * Documentation */ @Override public GetMetricDataResult getMetricData(GetMetricDataRequest request) { request = beforeClientExecution(request); return executeGetMetricData(request); } @SdkInternalApi final GetMetricDataResult executeGetMetricData(GetMetricDataRequest getMetricDataRequest) { ExecutionContext executionContext = createExecutionContext(getMetricDataRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetMetricDataRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getMetricDataRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetMetricData"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetMetricDataResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets metric data from the specified Amazon Connect instance. *

*

* GetMetricDataV2 offers more features than GetMetricData, the * previous version of this API. It has new metrics, offers filtering at a metric level, and offers the ability to * filter and group data by channels, queues, routing profiles, agents, and agent hierarchy levels. It can retrieve * historical data for the last 35 days, in 24-hour intervals. *

*

* For a description of the historical metrics that are supported by GetMetricDataV2 and * GetMetricData, see Historical * metrics definitions in the Amazon Connect Administrator's Guide. *

* * @param getMetricDataV2Request * @return Result of the GetMetricDataV2 operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @sample AmazonConnect.GetMetricDataV2 * @see AWS API * Documentation */ @Override public GetMetricDataV2Result getMetricDataV2(GetMetricDataV2Request request) { request = beforeClientExecution(request); return executeGetMetricDataV2(request); } @SdkInternalApi final GetMetricDataV2Result executeGetMetricDataV2(GetMetricDataV2Request getMetricDataV2Request) { ExecutionContext executionContext = createExecutionContext(getMetricDataV2Request); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetMetricDataV2RequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getMetricDataV2Request)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetMetricDataV2"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetMetricDataV2ResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets the prompt file. *

* * @param getPromptFileRequest * @return Result of the GetPromptFile operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.GetPromptFile * @see AWS API * Documentation */ @Override public GetPromptFileResult getPromptFile(GetPromptFileRequest request) { request = beforeClientExecution(request); return executeGetPromptFile(request); } @SdkInternalApi final GetPromptFileResult executeGetPromptFile(GetPromptFileRequest getPromptFileRequest) { ExecutionContext executionContext = createExecutionContext(getPromptFileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetPromptFileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getPromptFileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetPromptFile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetPromptFileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets details about a specific task template in the specified Amazon Connect instance. *

* * @param getTaskTemplateRequest * @return Result of the GetTaskTemplate operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.GetTaskTemplate * @see AWS API * Documentation */ @Override public GetTaskTemplateResult getTaskTemplate(GetTaskTemplateRequest request) { request = beforeClientExecution(request); return executeGetTaskTemplate(request); } @SdkInternalApi final GetTaskTemplateResult executeGetTaskTemplate(GetTaskTemplateRequest getTaskTemplateRequest) { ExecutionContext executionContext = createExecutionContext(getTaskTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetTaskTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getTaskTemplateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTaskTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetTaskTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the current traffic distribution for a given traffic distribution group. *

* * @param getTrafficDistributionRequest * @return Result of the GetTrafficDistribution operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.GetTrafficDistribution * @see AWS * API Documentation */ @Override public GetTrafficDistributionResult getTrafficDistribution(GetTrafficDistributionRequest request) { request = beforeClientExecution(request); return executeGetTrafficDistribution(request); } @SdkInternalApi final GetTrafficDistributionResult executeGetTrafficDistribution(GetTrafficDistributionRequest getTrafficDistributionRequest) { ExecutionContext executionContext = createExecutionContext(getTrafficDistributionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetTrafficDistributionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getTrafficDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTrafficDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetTrafficDistributionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Lists agent statuses. *

* * @param listAgentStatusesRequest * @return Result of the ListAgentStatuses operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListAgentStatuses * @see AWS API * Documentation */ @Override public ListAgentStatusesResult listAgentStatuses(ListAgentStatusesRequest request) { request = beforeClientExecution(request); return executeListAgentStatuses(request); } @SdkInternalApi final ListAgentStatusesResult executeListAgentStatuses(ListAgentStatusesRequest listAgentStatusesRequest) { ExecutionContext executionContext = createExecutionContext(listAgentStatusesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListAgentStatusesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listAgentStatusesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAgentStatuses"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListAgentStatusesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Returns a paginated list of all approved origins associated with the instance. *

* * @param listApprovedOriginsRequest * @return Result of the ListApprovedOrigins operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListApprovedOrigins * @see AWS * API Documentation */ @Override public ListApprovedOriginsResult listApprovedOrigins(ListApprovedOriginsRequest request) { request = beforeClientExecution(request); return executeListApprovedOrigins(request); } @SdkInternalApi final ListApprovedOriginsResult executeListApprovedOrigins(ListApprovedOriginsRequest listApprovedOriginsRequest) { ExecutionContext executionContext = createExecutionContext(listApprovedOriginsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListApprovedOriginsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listApprovedOriginsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListApprovedOrigins"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListApprovedOriginsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* For the specified version of Amazon Lex, returns a paginated list of all the Amazon Lex bots currently associated * with the instance. Use this API to returns both Amazon Lex V1 and V2 bots. *

* * @param listBotsRequest * @return Result of the ListBots operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListBots * @see AWS API * Documentation */ @Override public ListBotsResult listBots(ListBotsRequest request) { request = beforeClientExecution(request); return executeListBots(request); } @SdkInternalApi final ListBotsResult executeListBots(ListBotsRequest listBotsRequest) { ExecutionContext executionContext = createExecutionContext(listBotsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListBotsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listBotsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListBots"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListBotsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists contact evaluations in the specified Amazon Connect instance. *

* * @param listContactEvaluationsRequest * @return Result of the ListContactEvaluations operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListContactEvaluations * @see AWS * API Documentation */ @Override public ListContactEvaluationsResult listContactEvaluations(ListContactEvaluationsRequest request) { request = beforeClientExecution(request); return executeListContactEvaluations(request); } @SdkInternalApi final ListContactEvaluationsResult executeListContactEvaluations(ListContactEvaluationsRequest listContactEvaluationsRequest) { ExecutionContext executionContext = createExecutionContext(listContactEvaluationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListContactEvaluationsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listContactEvaluationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListContactEvaluations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListContactEvaluationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information about the flow modules for the specified Amazon Connect instance. *

* * @param listContactFlowModulesRequest * @return Result of the ListContactFlowModules operation returned by the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListContactFlowModules * @see AWS * API Documentation */ @Override public ListContactFlowModulesResult listContactFlowModules(ListContactFlowModulesRequest request) { request = beforeClientExecution(request); return executeListContactFlowModules(request); } @SdkInternalApi final ListContactFlowModulesResult executeListContactFlowModules(ListContactFlowModulesRequest listContactFlowModulesRequest) { ExecutionContext executionContext = createExecutionContext(listContactFlowModulesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListContactFlowModulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listContactFlowModulesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListContactFlowModules"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListContactFlowModulesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information about the flows for the specified Amazon Connect instance. *

*

* You can also create and update flows using the Amazon Connect Flow * language. *

*

* For more information about flows, see Flows in the * Amazon Connect Administrator Guide. *

* * @param listContactFlowsRequest * @return Result of the ListContactFlows operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListContactFlows * @see AWS API * Documentation */ @Override public ListContactFlowsResult listContactFlows(ListContactFlowsRequest request) { request = beforeClientExecution(request); return executeListContactFlows(request); } @SdkInternalApi final ListContactFlowsResult executeListContactFlows(ListContactFlowsRequest listContactFlowsRequest) { ExecutionContext executionContext = createExecutionContext(listContactFlowsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListContactFlowsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listContactFlowsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListContactFlows"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListContactFlowsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* For the specified referenceTypes, returns a list of references associated with the contact. *

* * @param listContactReferencesRequest * @return Result of the ListContactReferences operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListContactReferences * @see AWS * API Documentation */ @Override public ListContactReferencesResult listContactReferences(ListContactReferencesRequest request) { request = beforeClientExecution(request); return executeListContactReferences(request); } @SdkInternalApi final ListContactReferencesResult executeListContactReferences(ListContactReferencesRequest listContactReferencesRequest) { ExecutionContext executionContext = createExecutionContext(listContactReferencesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListContactReferencesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listContactReferencesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListContactReferences"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListContactReferencesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists the default vocabularies for the specified Amazon Connect instance. *

* * @param listDefaultVocabulariesRequest * @return Result of the ListDefaultVocabularies operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.ListDefaultVocabularies * @see AWS API Documentation */ @Override public ListDefaultVocabulariesResult listDefaultVocabularies(ListDefaultVocabulariesRequest request) { request = beforeClientExecution(request); return executeListDefaultVocabularies(request); } @SdkInternalApi final ListDefaultVocabulariesResult executeListDefaultVocabularies(ListDefaultVocabulariesRequest listDefaultVocabulariesRequest) { ExecutionContext executionContext = createExecutionContext(listDefaultVocabulariesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDefaultVocabulariesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listDefaultVocabulariesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDefaultVocabularies"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListDefaultVocabulariesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists versions of an evaluation form in the specified Amazon Connect instance. *

* * @param listEvaluationFormVersionsRequest * @return Result of the ListEvaluationFormVersions operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListEvaluationFormVersions * @see AWS API Documentation */ @Override public ListEvaluationFormVersionsResult listEvaluationFormVersions(ListEvaluationFormVersionsRequest request) { request = beforeClientExecution(request); return executeListEvaluationFormVersions(request); } @SdkInternalApi final ListEvaluationFormVersionsResult executeListEvaluationFormVersions(ListEvaluationFormVersionsRequest listEvaluationFormVersionsRequest) { ExecutionContext executionContext = createExecutionContext(listEvaluationFormVersionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListEvaluationFormVersionsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listEvaluationFormVersionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListEvaluationFormVersions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListEvaluationFormVersionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists evaluation forms in the specified Amazon Connect instance. *

* * @param listEvaluationFormsRequest * @return Result of the ListEvaluationForms operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListEvaluationForms * @see AWS * API Documentation */ @Override public ListEvaluationFormsResult listEvaluationForms(ListEvaluationFormsRequest request) { request = beforeClientExecution(request); return executeListEvaluationForms(request); } @SdkInternalApi final ListEvaluationFormsResult executeListEvaluationForms(ListEvaluationFormsRequest listEvaluationFormsRequest) { ExecutionContext executionContext = createExecutionContext(listEvaluationFormsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListEvaluationFormsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listEvaluationFormsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListEvaluationForms"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListEvaluationFormsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information about the hours of operation for the specified Amazon Connect instance. *

*

* For more information about hours of operation, see Set the Hours of Operation * for a Queue in the Amazon Connect Administrator Guide. *

* * @param listHoursOfOperationsRequest * @return Result of the ListHoursOfOperations operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListHoursOfOperations * @see AWS * API Documentation */ @Override public ListHoursOfOperationsResult listHoursOfOperations(ListHoursOfOperationsRequest request) { request = beforeClientExecution(request); return executeListHoursOfOperations(request); } @SdkInternalApi final ListHoursOfOperationsResult executeListHoursOfOperations(ListHoursOfOperationsRequest listHoursOfOperationsRequest) { ExecutionContext executionContext = createExecutionContext(listHoursOfOperationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListHoursOfOperationsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listHoursOfOperationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListHoursOfOperations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListHoursOfOperationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Returns a paginated list of all attribute types for the given instance. *

* * @param listInstanceAttributesRequest * @return Result of the ListInstanceAttributes operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListInstanceAttributes * @see AWS * API Documentation */ @Override public ListInstanceAttributesResult listInstanceAttributes(ListInstanceAttributesRequest request) { request = beforeClientExecution(request); return executeListInstanceAttributes(request); } @SdkInternalApi final ListInstanceAttributesResult executeListInstanceAttributes(ListInstanceAttributesRequest listInstanceAttributesRequest) { ExecutionContext executionContext = createExecutionContext(listInstanceAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListInstanceAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listInstanceAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListInstanceAttributes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListInstanceAttributesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Returns a paginated list of storage configs for the identified instance and resource type. *

* * @param listInstanceStorageConfigsRequest * @return Result of the ListInstanceStorageConfigs operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListInstanceStorageConfigs * @see AWS API Documentation */ @Override public ListInstanceStorageConfigsResult listInstanceStorageConfigs(ListInstanceStorageConfigsRequest request) { request = beforeClientExecution(request); return executeListInstanceStorageConfigs(request); } @SdkInternalApi final ListInstanceStorageConfigsResult executeListInstanceStorageConfigs(ListInstanceStorageConfigsRequest listInstanceStorageConfigsRequest) { ExecutionContext executionContext = createExecutionContext(listInstanceStorageConfigsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListInstanceStorageConfigsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listInstanceStorageConfigsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListInstanceStorageConfigs"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListInstanceStorageConfigsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Return a list of instances which are in active state, creation-in-progress state, and failed state. Instances * that aren't successfully created (they are in a failed state) are returned only for 24 hours after the * CreateInstance API was invoked. *

* * @param listInstancesRequest * @return Result of the ListInstances operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListInstances * @see AWS API * Documentation */ @Override public ListInstancesResult listInstances(ListInstancesRequest request) { request = beforeClientExecution(request); return executeListInstances(request); } @SdkInternalApi final ListInstancesResult executeListInstances(ListInstancesRequest listInstancesRequest) { ExecutionContext executionContext = createExecutionContext(listInstancesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListInstancesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listInstancesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListInstances"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListInstancesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect * instance. *

* * @param listIntegrationAssociationsRequest * @return Result of the ListIntegrationAssociations operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListIntegrationAssociations * @see AWS API Documentation */ @Override public ListIntegrationAssociationsResult listIntegrationAssociations(ListIntegrationAssociationsRequest request) { request = beforeClientExecution(request); return executeListIntegrationAssociations(request); } @SdkInternalApi final ListIntegrationAssociationsResult executeListIntegrationAssociations(ListIntegrationAssociationsRequest listIntegrationAssociationsRequest) { ExecutionContext executionContext = createExecutionContext(listIntegrationAssociationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListIntegrationAssociationsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listIntegrationAssociationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListIntegrationAssociations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListIntegrationAssociationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Returns a paginated list of all Lambda functions that display in the dropdown options in the relevant flow * blocks. *

* * @param listLambdaFunctionsRequest * @return Result of the ListLambdaFunctions operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListLambdaFunctions * @see AWS * API Documentation */ @Override public ListLambdaFunctionsResult listLambdaFunctions(ListLambdaFunctionsRequest request) { request = beforeClientExecution(request); return executeListLambdaFunctions(request); } @SdkInternalApi final ListLambdaFunctionsResult executeListLambdaFunctions(ListLambdaFunctionsRequest listLambdaFunctionsRequest) { ExecutionContext executionContext = createExecutionContext(listLambdaFunctionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLambdaFunctionsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listLambdaFunctionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLambdaFunctions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLambdaFunctionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Returns a paginated list of all the Amazon Lex V1 bots currently associated with the instance. To return both * Amazon Lex V1 and V2 bots, use the ListBots API. *

* * @param listLexBotsRequest * @return Result of the ListLexBots operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListLexBots * @see AWS API * Documentation */ @Override public ListLexBotsResult listLexBots(ListLexBotsRequest request) { request = beforeClientExecution(request); return executeListLexBots(request); } @SdkInternalApi final ListLexBotsResult executeListLexBots(ListLexBotsRequest listLexBotsRequest) { ExecutionContext executionContext = createExecutionContext(listLexBotsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLexBotsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listLexBotsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLexBots"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLexBotsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information about the phone numbers for the specified Amazon Connect instance. *

*

* For more information about phone numbers, see Set Up Phone * Numbers for Your Contact Center in the Amazon Connect Administrator Guide. *

* *

* The phone number Arn value that is returned from each of the items in the PhoneNumberSummaryList cannot be used to tag phone number resources. It will fail with a * ResourceNotFoundException. Instead, use the ListPhoneNumbersV2 * API. It returns the new phone number ARN that can be used to tag phone number resources. *

*
* * @param listPhoneNumbersRequest * @return Result of the ListPhoneNumbers operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListPhoneNumbers * @see AWS API * Documentation */ @Override public ListPhoneNumbersResult listPhoneNumbers(ListPhoneNumbersRequest request) { request = beforeClientExecution(request); return executeListPhoneNumbers(request); } @SdkInternalApi final ListPhoneNumbersResult executeListPhoneNumbers(ListPhoneNumbersRequest listPhoneNumbersRequest) { ExecutionContext executionContext = createExecutionContext(listPhoneNumbersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPhoneNumbersRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPhoneNumbersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPhoneNumbers"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPhoneNumbersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists phone numbers claimed to your Amazon Connect instance or traffic distribution group. If the provided * TargetArn is a traffic distribution group, you can call this API in both Amazon Web Services Regions * associated with traffic distribution group. *

*

* For more information about phone numbers, see Set Up Phone * Numbers for Your Contact Center in the Amazon Connect Administrator Guide. *

* * @param listPhoneNumbersV2Request * @return Result of the ListPhoneNumbersV2 operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.ListPhoneNumbersV2 * @see AWS API * Documentation */ @Override public ListPhoneNumbersV2Result listPhoneNumbersV2(ListPhoneNumbersV2Request request) { request = beforeClientExecution(request); return executeListPhoneNumbersV2(request); } @SdkInternalApi final ListPhoneNumbersV2Result executeListPhoneNumbersV2(ListPhoneNumbersV2Request listPhoneNumbersV2Request) { ExecutionContext executionContext = createExecutionContext(listPhoneNumbersV2Request); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPhoneNumbersV2RequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPhoneNumbersV2Request)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPhoneNumbersV2"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPhoneNumbersV2ResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information about the prompts for the specified Amazon Connect instance. *

* * @param listPromptsRequest * @return Result of the ListPrompts operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListPrompts * @see AWS API * Documentation */ @Override public ListPromptsResult listPrompts(ListPromptsRequest request) { request = beforeClientExecution(request); return executeListPrompts(request); } @SdkInternalApi final ListPromptsResult executeListPrompts(ListPromptsRequest listPromptsRequest) { ExecutionContext executionContext = createExecutionContext(listPromptsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPromptsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPromptsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPrompts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPromptsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Lists the quick connects associated with a queue. *

* * @param listQueueQuickConnectsRequest * @return Result of the ListQueueQuickConnects operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListQueueQuickConnects * @see AWS * API Documentation */ @Override public ListQueueQuickConnectsResult listQueueQuickConnects(ListQueueQuickConnectsRequest request) { request = beforeClientExecution(request); return executeListQueueQuickConnects(request); } @SdkInternalApi final ListQueueQuickConnectsResult executeListQueueQuickConnects(ListQueueQuickConnectsRequest listQueueQuickConnectsRequest) { ExecutionContext executionContext = createExecutionContext(listQueueQuickConnectsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListQueueQuickConnectsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listQueueQuickConnectsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListQueueQuickConnects"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListQueueQuickConnectsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information about the queues for the specified Amazon Connect instance. *

*

* If you do not specify a QueueTypes parameter, both standard and agent queues are returned. This * might cause an unexpected truncation of results if you have more than 1000 agents and you limit the number of * results of the API call in code. *

*

* For more information about queues, see Queues: * Standard and Agent in the Amazon Connect Administrator Guide. *

* * @param listQueuesRequest * @return Result of the ListQueues operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListQueues * @see AWS API * Documentation */ @Override public ListQueuesResult listQueues(ListQueuesRequest request) { request = beforeClientExecution(request); return executeListQueues(request); } @SdkInternalApi final ListQueuesResult executeListQueues(ListQueuesRequest listQueuesRequest) { ExecutionContext executionContext = createExecutionContext(listQueuesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListQueuesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listQueuesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListQueues"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListQueuesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides information about the quick connects for the specified Amazon Connect instance. *

* * @param listQuickConnectsRequest * @return Result of the ListQuickConnects operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListQuickConnects * @see AWS API * Documentation */ @Override public ListQuickConnectsResult listQuickConnects(ListQuickConnectsRequest request) { request = beforeClientExecution(request); return executeListQuickConnects(request); } @SdkInternalApi final ListQuickConnectsResult executeListQuickConnects(ListQuickConnectsRequest listQuickConnectsRequest) { ExecutionContext executionContext = createExecutionContext(listQuickConnectsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListQuickConnectsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listQuickConnectsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListQuickConnects"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListQuickConnectsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists the queues associated with a routing profile. *

* * @param listRoutingProfileQueuesRequest * @return Result of the ListRoutingProfileQueues operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListRoutingProfileQueues * @see AWS API Documentation */ @Override public ListRoutingProfileQueuesResult listRoutingProfileQueues(ListRoutingProfileQueuesRequest request) { request = beforeClientExecution(request); return executeListRoutingProfileQueues(request); } @SdkInternalApi final ListRoutingProfileQueuesResult executeListRoutingProfileQueues(ListRoutingProfileQueuesRequest listRoutingProfileQueuesRequest) { ExecutionContext executionContext = createExecutionContext(listRoutingProfileQueuesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListRoutingProfileQueuesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listRoutingProfileQueuesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRoutingProfileQueues"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRoutingProfileQueuesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides summary information about the routing profiles for the specified Amazon Connect instance. *

*

* For more information about routing profiles, see Routing Profiles and Create a Routing Profile * in the Amazon Connect Administrator Guide. *

* * @param listRoutingProfilesRequest * @return Result of the ListRoutingProfiles operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListRoutingProfiles * @see AWS * API Documentation */ @Override public ListRoutingProfilesResult listRoutingProfiles(ListRoutingProfilesRequest request) { request = beforeClientExecution(request); return executeListRoutingProfiles(request); } @SdkInternalApi final ListRoutingProfilesResult executeListRoutingProfiles(ListRoutingProfilesRequest listRoutingProfilesRequest) { ExecutionContext executionContext = createExecutionContext(listRoutingProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListRoutingProfilesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRoutingProfilesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRoutingProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRoutingProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List all rules for the specified Amazon Connect instance. *

* * @param listRulesRequest * @return Result of the ListRules operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @sample AmazonConnect.ListRules * @see AWS API * Documentation */ @Override public ListRulesResult listRules(ListRulesRequest request) { request = beforeClientExecution(request); return executeListRules(request); } @SdkInternalApi final ListRulesResult executeListRules(ListRulesRequest listRulesRequest) { ExecutionContext executionContext = createExecutionContext(listRulesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListRulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRulesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRules"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRulesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Returns a paginated list of all security keys associated with the instance. *

* * @param listSecurityKeysRequest * @return Result of the ListSecurityKeys operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListSecurityKeys * @see AWS API * Documentation */ @Override public ListSecurityKeysResult listSecurityKeys(ListSecurityKeysRequest request) { request = beforeClientExecution(request); return executeListSecurityKeys(request); } @SdkInternalApi final ListSecurityKeysResult executeListSecurityKeys(ListSecurityKeysRequest listSecurityKeysRequest) { ExecutionContext executionContext = createExecutionContext(listSecurityKeysRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListSecurityKeysRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listSecurityKeysRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListSecurityKeys"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListSecurityKeysResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Lists the permissions granted to a security profile. *

* * @param listSecurityProfilePermissionsRequest * @return Result of the ListSecurityProfilePermissions operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListSecurityProfilePermissions * @see AWS API Documentation */ @Override public ListSecurityProfilePermissionsResult listSecurityProfilePermissions(ListSecurityProfilePermissionsRequest request) { request = beforeClientExecution(request); return executeListSecurityProfilePermissions(request); } @SdkInternalApi final ListSecurityProfilePermissionsResult executeListSecurityProfilePermissions(ListSecurityProfilePermissionsRequest listSecurityProfilePermissionsRequest) { ExecutionContext executionContext = createExecutionContext(listSecurityProfilePermissionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListSecurityProfilePermissionsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listSecurityProfilePermissionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListSecurityProfilePermissions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListSecurityProfilePermissionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides summary information about the security profiles for the specified Amazon Connect instance. *

*

* For more information about security profiles, see Security Profiles * in the Amazon Connect Administrator Guide. *

* * @param listSecurityProfilesRequest * @return Result of the ListSecurityProfiles operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListSecurityProfiles * @see AWS * API Documentation */ @Override public ListSecurityProfilesResult listSecurityProfiles(ListSecurityProfilesRequest request) { request = beforeClientExecution(request); return executeListSecurityProfiles(request); } @SdkInternalApi final ListSecurityProfilesResult executeListSecurityProfiles(ListSecurityProfilesRequest listSecurityProfilesRequest) { ExecutionContext executionContext = createExecutionContext(listSecurityProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListSecurityProfilesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listSecurityProfilesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListSecurityProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListSecurityProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists the tags for the specified resource. *

*

* For sample policies that use tags, see Amazon * Connect Identity-Based Policy Examples in the Amazon Connect Administrator Guide. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListTagsForResource * @see AWS * API Documentation */ @Override public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) { request = beforeClientExecution(request); return executeListTagsForResource(request); } @SdkInternalApi final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists task templates for the specified Amazon Connect instance. *

* * @param listTaskTemplatesRequest * @return Result of the ListTaskTemplates operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListTaskTemplates * @see AWS API * Documentation */ @Override public ListTaskTemplatesResult listTaskTemplates(ListTaskTemplatesRequest request) { request = beforeClientExecution(request); return executeListTaskTemplates(request); } @SdkInternalApi final ListTaskTemplatesResult executeListTaskTemplates(ListTaskTemplatesRequest listTaskTemplatesRequest) { ExecutionContext executionContext = createExecutionContext(listTaskTemplatesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTaskTemplatesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTaskTemplatesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTaskTemplates"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTaskTemplatesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists traffic distribution groups. *

* * @param listTrafficDistributionGroupsRequest * @return Result of the ListTrafficDistributionGroups operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListTrafficDistributionGroups * @see AWS API Documentation */ @Override public ListTrafficDistributionGroupsResult listTrafficDistributionGroups(ListTrafficDistributionGroupsRequest request) { request = beforeClientExecution(request); return executeListTrafficDistributionGroups(request); } @SdkInternalApi final ListTrafficDistributionGroupsResult executeListTrafficDistributionGroups(ListTrafficDistributionGroupsRequest listTrafficDistributionGroupsRequest) { ExecutionContext executionContext = createExecutionContext(listTrafficDistributionGroupsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTrafficDistributionGroupsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listTrafficDistributionGroupsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTrafficDistributionGroups"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTrafficDistributionGroupsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists the use cases for the integration association. *

* * @param listUseCasesRequest * Provides summary information about the use cases for the specified integration association. * @return Result of the ListUseCases operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.ListUseCases * @see AWS API * Documentation */ @Override public ListUseCasesResult listUseCases(ListUseCasesRequest request) { request = beforeClientExecution(request); return executeListUseCases(request); } @SdkInternalApi final ListUseCasesResult executeListUseCases(ListUseCasesRequest listUseCasesRequest) { ExecutionContext executionContext = createExecutionContext(listUseCasesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListUseCasesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listUseCasesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListUseCases"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListUseCasesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides summary information about the hierarchy groups for the specified Amazon Connect instance. *

*

* For more information about agent hierarchies, see Set Up Agent Hierarchies in * the Amazon Connect Administrator Guide. *

* * @param listUserHierarchyGroupsRequest * @return Result of the ListUserHierarchyGroups operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListUserHierarchyGroups * @see AWS API Documentation */ @Override public ListUserHierarchyGroupsResult listUserHierarchyGroups(ListUserHierarchyGroupsRequest request) { request = beforeClientExecution(request); return executeListUserHierarchyGroups(request); } @SdkInternalApi final ListUserHierarchyGroupsResult executeListUserHierarchyGroups(ListUserHierarchyGroupsRequest listUserHierarchyGroupsRequest) { ExecutionContext executionContext = createExecutionContext(listUserHierarchyGroupsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListUserHierarchyGroupsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listUserHierarchyGroupsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListUserHierarchyGroups"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListUserHierarchyGroupsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Provides summary information about the users for the specified Amazon Connect instance. *

* * @param listUsersRequest * @return Result of the ListUsers operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ListUsers * @see AWS API * Documentation */ @Override public ListUsersResult listUsers(ListUsersRequest request) { request = beforeClientExecution(request); return executeListUsers(request); } @SdkInternalApi final ListUsersResult executeListUsers(ListUsersRequest listUsersRequest) { ExecutionContext executionContext = createExecutionContext(listUsersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListUsersRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listUsersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListUsers"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListUsersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Initiates silent monitoring of a contact. The Contact Control Panel (CCP) of the user specified by userId * will be set to silent monitoring mode on the contact. *

* * @param monitorContactRequest * @return Result of the MonitorContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws IdempotencyException * An entity with the same name already exists. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.MonitorContact * @see AWS API * Documentation */ @Override public MonitorContactResult monitorContact(MonitorContactRequest request) { request = beforeClientExecution(request); return executeMonitorContact(request); } @SdkInternalApi final MonitorContactResult executeMonitorContact(MonitorContactRequest monitorContactRequest) { ExecutionContext executionContext = createExecutionContext(monitorContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new MonitorContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(monitorContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "MonitorContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new MonitorContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Changes the current status of a user or agent in Amazon Connect. If the agent is currently handling a contact, * this sets the agent's next status. *

*

* For more information, see Agent status and Set your next status in the * Amazon Connect Administrator Guide. *

* * @param putUserStatusRequest * @return Result of the PutUserStatus operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.PutUserStatus * @see AWS API * Documentation */ @Override public PutUserStatusResult putUserStatus(PutUserStatusRequest request) { request = beforeClientExecution(request); return executePutUserStatus(request); } @SdkInternalApi final PutUserStatusResult executePutUserStatus(PutUserStatusRequest putUserStatusRequest) { ExecutionContext executionContext = createExecutionContext(putUserStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutUserStatusRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putUserStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutUserStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutUserStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can * call this API only in the Amazon Web Services Region where the number was claimed. *

* *

* To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the * Amazon Connect console. *

*

* After releasing a phone number, the phone number enters into a cooldown period of 30 days. It cannot be searched * for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web * Services Support. *

*
*

* If you plan to claim and release numbers frequently during a 30 day period, contact us for a service quota * exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until 30 * days past the oldest number released has expired. *

*

* By default you can claim and release up to 200% of your maximum number of active phone numbers during any 30 day * period. If you claim and release phone numbers using the UI or API during a rolling 30 day cycle that exceeds * 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 30 days * past the oldest number released has expired. *

*

* For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 30 * day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point * you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket. *

* * @param releasePhoneNumberRequest * @return Result of the ReleasePhoneNumber operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws IdempotencyException * An entity with the same name already exists. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.ReleasePhoneNumber * @see AWS API * Documentation */ @Override public ReleasePhoneNumberResult releasePhoneNumber(ReleasePhoneNumberRequest request) { request = beforeClientExecution(request); return executeReleasePhoneNumber(request); } @SdkInternalApi final ReleasePhoneNumberResult executeReleasePhoneNumber(ReleasePhoneNumberRequest releasePhoneNumberRequest) { ExecutionContext executionContext = createExecutionContext(releasePhoneNumberRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ReleasePhoneNumberRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(releasePhoneNumberRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ReleasePhoneNumber"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ReleasePhoneNumberResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Replicates an Amazon Connect instance in the specified Amazon Web Services Region. *

*

* For more information about replicating an Amazon Connect instance, see Create a * replica of your existing Amazon Connect instance in the Amazon Connect Administrator Guide. *

* * @param replicateInstanceRequest * @return Result of the ReplicateInstance operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceNotReadyException * The resource is not ready. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.ReplicateInstance * @see AWS API * Documentation */ @Override public ReplicateInstanceResult replicateInstance(ReplicateInstanceRequest request) { request = beforeClientExecution(request); return executeReplicateInstance(request); } @SdkInternalApi final ReplicateInstanceResult executeReplicateInstance(ReplicateInstanceRequest replicateInstanceRequest) { ExecutionContext executionContext = createExecutionContext(replicateInstanceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ReplicateInstanceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(replicateInstanceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ReplicateInstance"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ReplicateInstanceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* When a contact is being recorded, and the recording has been suspended using SuspendContactRecording, this API * resumes recording the call or screen. *

*

* Voice and screen recordings are supported. *

* * @param resumeContactRecordingRequest * @return Result of the ResumeContactRecording operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.ResumeContactRecording * @see AWS * API Documentation */ @Override public ResumeContactRecordingResult resumeContactRecording(ResumeContactRecordingRequest request) { request = beforeClientExecution(request); return executeResumeContactRecording(request); } @SdkInternalApi final ResumeContactRecordingResult executeResumeContactRecording(ResumeContactRecordingRequest resumeContactRecordingRequest) { ExecutionContext executionContext = createExecutionContext(resumeContactRecordingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ResumeContactRecordingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(resumeContactRecordingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ResumeContactRecording"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ResumeContactRecordingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches for available phone numbers that you can claim to your Amazon Connect instance or traffic distribution * group. If the provided TargetArn is a traffic distribution group, you can call this API in both * Amazon Web Services Regions associated with the traffic distribution group. *

* * @param searchAvailablePhoneNumbersRequest * @return Result of the SearchAvailablePhoneNumbers operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.SearchAvailablePhoneNumbers * @see AWS API Documentation */ @Override public SearchAvailablePhoneNumbersResult searchAvailablePhoneNumbers(SearchAvailablePhoneNumbersRequest request) { request = beforeClientExecution(request); return executeSearchAvailablePhoneNumbers(request); } @SdkInternalApi final SearchAvailablePhoneNumbersResult executeSearchAvailablePhoneNumbers(SearchAvailablePhoneNumbersRequest searchAvailablePhoneNumbersRequest) { ExecutionContext executionContext = createExecutionContext(searchAvailablePhoneNumbersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchAvailablePhoneNumbersRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(searchAvailablePhoneNumbersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchAvailablePhoneNumbers"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchAvailablePhoneNumbersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches the hours of operation in an Amazon Connect instance, with optional filtering. *

* * @param searchHoursOfOperationsRequest * @return Result of the SearchHoursOfOperations operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SearchHoursOfOperations * @see AWS API Documentation */ @Override public SearchHoursOfOperationsResult searchHoursOfOperations(SearchHoursOfOperationsRequest request) { request = beforeClientExecution(request); return executeSearchHoursOfOperations(request); } @SdkInternalApi final SearchHoursOfOperationsResult executeSearchHoursOfOperations(SearchHoursOfOperationsRequest searchHoursOfOperationsRequest) { ExecutionContext executionContext = createExecutionContext(searchHoursOfOperationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchHoursOfOperationsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(searchHoursOfOperationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchHoursOfOperations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchHoursOfOperationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches prompts in an Amazon Connect instance, with optional filtering. *

* * @param searchPromptsRequest * @return Result of the SearchPrompts operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SearchPrompts * @see AWS API * Documentation */ @Override public SearchPromptsResult searchPrompts(SearchPromptsRequest request) { request = beforeClientExecution(request); return executeSearchPrompts(request); } @SdkInternalApi final SearchPromptsResult executeSearchPrompts(SearchPromptsRequest searchPromptsRequest) { ExecutionContext executionContext = createExecutionContext(searchPromptsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchPromptsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchPromptsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchPrompts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchPromptsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches queues in an Amazon Connect instance, with optional filtering. *

* * @param searchQueuesRequest * @return Result of the SearchQueues operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SearchQueues * @see AWS API * Documentation */ @Override public SearchQueuesResult searchQueues(SearchQueuesRequest request) { request = beforeClientExecution(request); return executeSearchQueues(request); } @SdkInternalApi final SearchQueuesResult executeSearchQueues(SearchQueuesRequest searchQueuesRequest) { ExecutionContext executionContext = createExecutionContext(searchQueuesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchQueuesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchQueuesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchQueues"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchQueuesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches quick connects in an Amazon Connect instance, with optional filtering. *

* * @param searchQuickConnectsRequest * @return Result of the SearchQuickConnects operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SearchQuickConnects * @see AWS * API Documentation */ @Override public SearchQuickConnectsResult searchQuickConnects(SearchQuickConnectsRequest request) { request = beforeClientExecution(request); return executeSearchQuickConnects(request); } @SdkInternalApi final SearchQuickConnectsResult executeSearchQuickConnects(SearchQuickConnectsRequest searchQuickConnectsRequest) { ExecutionContext executionContext = createExecutionContext(searchQuickConnectsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchQuickConnectsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchQuickConnectsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchQuickConnects"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchQuickConnectsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches tags used in an Amazon Connect instance using optional search criteria. *

* * @param searchResourceTagsRequest * @return Result of the SearchResourceTags operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws MaximumResultReturnedException * Maximum number (1000) of tags have been returned with current request. Consider changing request * parameters to get more tags. * @sample AmazonConnect.SearchResourceTags * @see AWS API * Documentation */ @Override public SearchResourceTagsResult searchResourceTags(SearchResourceTagsRequest request) { request = beforeClientExecution(request); return executeSearchResourceTags(request); } @SdkInternalApi final SearchResourceTagsResult executeSearchResourceTags(SearchResourceTagsRequest searchResourceTagsRequest) { ExecutionContext executionContext = createExecutionContext(searchResourceTagsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchResourceTagsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchResourceTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchResourceTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchResourceTagsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches routing profiles in an Amazon Connect instance, with optional filtering. *

* * @param searchRoutingProfilesRequest * @return Result of the SearchRoutingProfiles operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SearchRoutingProfiles * @see AWS * API Documentation */ @Override public SearchRoutingProfilesResult searchRoutingProfiles(SearchRoutingProfilesRequest request) { request = beforeClientExecution(request); return executeSearchRoutingProfiles(request); } @SdkInternalApi final SearchRoutingProfilesResult executeSearchRoutingProfiles(SearchRoutingProfilesRequest searchRoutingProfilesRequest) { ExecutionContext executionContext = createExecutionContext(searchRoutingProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchRoutingProfilesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchRoutingProfilesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchRoutingProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchRoutingProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches security profiles in an Amazon Connect instance, with optional filtering. *

* * @param searchSecurityProfilesRequest * @return Result of the SearchSecurityProfiles operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SearchSecurityProfiles * @see AWS * API Documentation */ @Override public SearchSecurityProfilesResult searchSecurityProfiles(SearchSecurityProfilesRequest request) { request = beforeClientExecution(request); return executeSearchSecurityProfiles(request); } @SdkInternalApi final SearchSecurityProfilesResult executeSearchSecurityProfiles(SearchSecurityProfilesRequest searchSecurityProfilesRequest) { ExecutionContext executionContext = createExecutionContext(searchSecurityProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchSecurityProfilesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchSecurityProfilesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchSecurityProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchSecurityProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches users in an Amazon Connect instance, with optional filtering. *

* *

* AfterContactWorkTimeLimit is returned in milliseconds. *

*
* * @param searchUsersRequest * @return Result of the SearchUsers operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SearchUsers * @see AWS API * Documentation */ @Override public SearchUsersResult searchUsers(SearchUsersRequest request) { request = beforeClientExecution(request); return executeSearchUsers(request); } @SdkInternalApi final SearchUsersResult executeSearchUsers(SearchUsersRequest searchUsersRequest) { ExecutionContext executionContext = createExecutionContext(searchUsersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchUsersRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchUsersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchUsers"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchUsersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Searches for vocabularies within a specific Amazon Connect instance using State, * NameStartsWith, and LanguageCode. *

* * @param searchVocabulariesRequest * @return Result of the SearchVocabularies operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.SearchVocabularies * @see AWS API * Documentation */ @Override public SearchVocabulariesResult searchVocabularies(SearchVocabulariesRequest request) { request = beforeClientExecution(request); return executeSearchVocabularies(request); } @SdkInternalApi final SearchVocabulariesResult executeSearchVocabularies(SearchVocabulariesRequest searchVocabulariesRequest) { ExecutionContext executionContext = createExecutionContext(searchVocabulariesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchVocabulariesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchVocabulariesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchVocabularies"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchVocabulariesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Initiates a flow to start a new chat for the customer. Response of this API provides a token required to obtain * credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service. *

*

* When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the * created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS. *

*

* A 429 error occurs in the following situations: *

*
    *
  • *

    * API rate limit is exceeded. API TPS throttling returns a TooManyRequests exception. *

    *
  • *
  • *

    * The quota for * concurrent active chats is exceeded. Active chat throttling returns a LimitExceededException. *

    *
  • *
*

* If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support * the ability to configure custom chat durations. For more information, contact Amazon Web Services Support. *

*

* For more information about chat, see Chat in the Amazon Connect * Administrator Guide. *

* * @param startChatContactRequest * @return Result of the StartChatContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @sample AmazonConnect.StartChatContact * @see AWS API * Documentation */ @Override public StartChatContactResult startChatContact(StartChatContactRequest request) { request = beforeClientExecution(request); return executeStartChatContact(request); } @SdkInternalApi final StartChatContactResult executeStartChatContact(StartChatContactRequest startChatContactRequest) { ExecutionContext executionContext = createExecutionContext(startChatContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartChatContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startChatContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartChatContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartChatContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Starts an empty evaluation in the specified Amazon Connect instance, using the given evaluation form for the * particular contact. The evaluation form version used for the contact evaluation corresponds to the currently * activated version. If no version is activated for the evaluation form, the contact evaluation cannot be started. *

* *

* Evaluations created through the public API do not contain answer values suggested from automation. *

*
* * @param startContactEvaluationRequest * @return Result of the StartContactEvaluation operation returned by the service. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.StartContactEvaluation * @see AWS * API Documentation */ @Override public StartContactEvaluationResult startContactEvaluation(StartContactEvaluationRequest request) { request = beforeClientExecution(request); return executeStartContactEvaluation(request); } @SdkInternalApi final StartContactEvaluationResult executeStartContactEvaluation(StartContactEvaluationRequest startContactEvaluationRequest) { ExecutionContext executionContext = createExecutionContext(startContactEvaluationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartContactEvaluationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startContactEvaluationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartContactEvaluation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartContactEvaluationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Starts recording the contact: *

*
    *
  • *

    * If the API is called before the agent joins the call, recording starts when the agent joins the call. *

    *
  • *
  • *

    * If the API is called after the agent joins the call, recording starts at the time of the API call. *

    *
  • *
*

* StartContactRecording is a one-time action. For example, if you use StopContactRecording to stop recording an * ongoing call, you can't use StartContactRecording to restart it. For scenarios where the recording has started * and you want to suspend and resume it, such as when collecting sensitive information (for example, a credit card * number), use SuspendContactRecording and ResumeContactRecording. *

*

* You can use this API to override the recording behavior configured in the Set recording * behavior block. *

*

* Only voice recordings are supported at this time. *

* * @param startContactRecordingRequest * @return Result of the StartContactRecording operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.StartContactRecording * @see AWS * API Documentation */ @Override public StartContactRecordingResult startContactRecording(StartContactRecordingRequest request) { request = beforeClientExecution(request); return executeStartContactRecording(request); } @SdkInternalApi final StartContactRecordingResult executeStartContactRecording(StartContactRecordingRequest startContactRecordingRequest) { ExecutionContext executionContext = createExecutionContext(startContactRecordingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartContactRecordingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startContactRecordingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartContactRecording"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartContactRecordingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Initiates real-time message streaming for a new chat contact. *

*

* For more information about message streaming, see Enable real-time chat * message streaming in the Amazon Connect Administrator Guide. *

* * @param startContactStreamingRequest * @return Result of the StartContactStreaming operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @sample AmazonConnect.StartContactStreaming * @see AWS * API Documentation */ @Override public StartContactStreamingResult startContactStreaming(StartContactStreamingRequest request) { request = beforeClientExecution(request); return executeStartContactStreaming(request); } @SdkInternalApi final StartContactStreamingResult executeStartContactStreaming(StartContactStreamingRequest startContactStreamingRequest) { ExecutionContext executionContext = createExecutionContext(startContactStreamingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartContactStreamingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startContactStreamingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartContactStreaming"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartContactStreamingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Places an outbound call to a contact, and then initiates the flow. It performs the actions in the flow that's * specified (in ContactFlowId). *

*

* Agents do not initiate the outbound API, which means that they do not dial the contact. If the flow places an * outbound call to a contact, and then puts the contact in queue, the call is then routed to the agent, like any * other inbound case. *

*

* There is a 60-second dialing timeout for this operation. If the call is not connected after 60 seconds, it fails. *

* *

* UK numbers with a 447 prefix are not allowed by default. Before you can dial these UK mobile numbers, you must * submit a service quota increase request. For more information, see Amazon Connect * Service Quotas in the Amazon Connect Administrator Guide. *

*
*

* Campaign calls are not allowed by default. Before you can make a call with TrafficType = * CAMPAIGN, you must submit a service quota increase request to the quota Amazon Connect campaigns. *

*
* * @param startOutboundVoiceContactRequest * @return Result of the StartOutboundVoiceContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws DestinationNotAllowedException * Outbound calls to the destination number are not allowed. * @throws OutboundContactNotPermittedException * The contact is not permitted. * @sample AmazonConnect.StartOutboundVoiceContact * @see AWS API Documentation */ @Override public StartOutboundVoiceContactResult startOutboundVoiceContact(StartOutboundVoiceContactRequest request) { request = beforeClientExecution(request); return executeStartOutboundVoiceContact(request); } @SdkInternalApi final StartOutboundVoiceContactResult executeStartOutboundVoiceContact(StartOutboundVoiceContactRequest startOutboundVoiceContactRequest) { ExecutionContext executionContext = createExecutionContext(startOutboundVoiceContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartOutboundVoiceContactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(startOutboundVoiceContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartOutboundVoiceContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartOutboundVoiceContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Initiates a flow to start a new task. *

* * @param startTaskContactRequest * @return Result of the StartTaskContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.StartTaskContact * @see AWS API * Documentation */ @Override public StartTaskContactResult startTaskContact(StartTaskContactRequest request) { request = beforeClientExecution(request); return executeStartTaskContact(request); } @SdkInternalApi final StartTaskContactResult executeStartTaskContact(StartTaskContactRequest startTaskContactRequest) { ExecutionContext executionContext = createExecutionContext(startTaskContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartTaskContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startTaskContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartTaskContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartTaskContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Ends the specified contact. This call does not work for the following initiation methods: *

*
    *
  • *

    * DISCONNECT *

    *
  • *
  • *

    * TRANSFER *

    *
  • *
  • *

    * QUEUE_TRANSFER *

    *
  • *
* * @param stopContactRequest * @return Result of the StopContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ContactNotFoundException * The contact with the specified ID is not active or does not exist. Applies to Voice calls only, not to * Chat, Task, or Voice Callback. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.StopContact * @see AWS API * Documentation */ @Override public StopContactResult stopContact(StopContactRequest request) { request = beforeClientExecution(request); return executeStopContact(request); } @SdkInternalApi final StopContactResult executeStopContact(StopContactRequest stopContactRequest) { ExecutionContext executionContext = createExecutionContext(stopContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StopContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(stopContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Stops recording a call when a contact is being recorded. StopContactRecording is a one-time action. If you use * StopContactRecording to stop recording an ongoing call, you can't use StartContactRecording to restart it. For * scenarios where the recording has started and you want to suspend it for sensitive information (for example, to * collect a credit card number), and then restart it, use SuspendContactRecording and ResumeContactRecording. *

*

* Only voice recordings are supported at this time. *

* * @param stopContactRecordingRequest * @return Result of the StopContactRecording operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.StopContactRecording * @see AWS * API Documentation */ @Override public StopContactRecordingResult stopContactRecording(StopContactRecordingRequest request) { request = beforeClientExecution(request); return executeStopContactRecording(request); } @SdkInternalApi final StopContactRecordingResult executeStopContactRecording(StopContactRecordingRequest stopContactRecordingRequest) { ExecutionContext executionContext = createExecutionContext(stopContactRecordingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StopContactRecordingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(stopContactRecordingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopContactRecording"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopContactRecordingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Ends message streaming on a specified contact. To restart message streaming on that contact, call the StartContactStreaming API. *

* * @param stopContactStreamingRequest * @return Result of the StopContactStreaming operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.StopContactStreaming * @see AWS * API Documentation */ @Override public StopContactStreamingResult stopContactStreaming(StopContactStreamingRequest request) { request = beforeClientExecution(request); return executeStopContactStreaming(request); } @SdkInternalApi final StopContactStreamingResult executeStopContactStreaming(StopContactStreamingRequest stopContactStreamingRequest) { ExecutionContext executionContext = createExecutionContext(stopContactStreamingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StopContactStreamingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(stopContactStreamingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StopContactStreaming"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StopContactStreamingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Submits a contact evaluation in the specified Amazon Connect instance. Answers included in the request are merged * with existing answers for the given evaluation. If no answers or notes are passed, the evaluation is submitted * with the existing answers and notes. You can delete an answer or note by passing an empty object ({} * ) to the question identifier. *

*

* If a contact evaluation is already in submitted state, this operation will trigger a resubmission. *

* * @param submitContactEvaluationRequest * @return Result of the SubmitContactEvaluation operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.SubmitContactEvaluation * @see AWS API Documentation */ @Override public SubmitContactEvaluationResult submitContactEvaluation(SubmitContactEvaluationRequest request) { request = beforeClientExecution(request); return executeSubmitContactEvaluation(request); } @SdkInternalApi final SubmitContactEvaluationResult executeSubmitContactEvaluation(SubmitContactEvaluationRequest submitContactEvaluationRequest) { ExecutionContext executionContext = createExecutionContext(submitContactEvaluationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SubmitContactEvaluationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(submitContactEvaluationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SubmitContactEvaluation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SubmitContactEvaluationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* When a contact is being recorded, this API suspends recording the call or screen. For example, you might suspend * the call or screen recording while collecting sensitive information, such as a credit card number. Then use * ResumeContactRecording to restart recording. *

*

* The period of time that the recording is suspended is filled with silence in the final recording. *

*

* Voice and screen recordings are supported. *

* * @param suspendContactRecordingRequest * @return Result of the SuspendContactRecording operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.SuspendContactRecording * @see AWS API Documentation */ @Override public SuspendContactRecordingResult suspendContactRecording(SuspendContactRecordingRequest request) { request = beforeClientExecution(request); return executeSuspendContactRecording(request); } @SdkInternalApi final SuspendContactRecordingResult executeSuspendContactRecording(SuspendContactRecordingRequest suspendContactRecordingRequest) { ExecutionContext executionContext = createExecutionContext(suspendContactRecordingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SuspendContactRecordingRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(suspendContactRecordingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SuspendContactRecording"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SuspendContactRecordingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Adds the specified tags to the specified resource. *

*

* Some of the supported resource types are agents, routing profiles, queues, quick connects, contact flows, agent * statuses, hours of operation, phone numbers, security profiles, and task templates. For a complete list, see Tagging resources in Amazon * Connect. *

*

* For sample policies that use tags, see Amazon * Connect Identity-Based Policy Examples in the Amazon Connect Administrator Guide. *

* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.TagResource * @see AWS API * Documentation */ @Override public TagResourceResult tagResource(TagResourceRequest request) { request = beforeClientExecution(request); return executeTagResource(request); } @SdkInternalApi final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) { ExecutionContext executionContext = createExecutionContext(tagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(tagResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TagResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TagResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Transfers contacts from one agent or queue to another agent or queue at any point after a contact is created. You * can transfer a contact to another queue by providing the flow which orchestrates the contact to the destination * queue. This gives you more control over contact handling and helps you adhere to the service level agreement * (SLA) guaranteed to your customers. *

*

* Note the following requirements: *

*
    *
  • *

    * Transfer is supported for only TASK contacts. *

    *
  • *
  • *

    * Do not use both QueueId and UserId in the same call. *

    *
  • *
  • *

    * The following flow types are supported: Inbound flow, Transfer to agent flow, and Transfer to queue flow. *

    *
  • *
  • *

    * The TransferContact API can be called only on active contacts. *

    *
  • *
  • *

    * A contact cannot be transferred more than 11 times. *

    *
  • *
* * @param transferContactRequest * @return Result of the TransferContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws IdempotencyException * An entity with the same name already exists. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.TransferContact * @see AWS API * Documentation */ @Override public TransferContactResult transferContact(TransferContactRequest request) { request = beforeClientExecution(request); return executeTransferContact(request); } @SdkInternalApi final TransferContactResult executeTransferContact(TransferContactRequest transferContactRequest) { ExecutionContext executionContext = createExecutionContext(transferContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TransferContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(transferContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TransferContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TransferContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Removes the specified tags from the specified resource. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.UntagResource * @see AWS API * Documentation */ @Override public UntagResourceResult untagResource(UntagResourceRequest request) { request = beforeClientExecution(request); return executeUntagResource(request); } @SdkInternalApi final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) { ExecutionContext executionContext = createExecutionContext(untagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UntagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(untagResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UntagResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UntagResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates agent status. *

* * @param updateAgentStatusRequest * @return Result of the UpdateAgentStatus operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateAgentStatus * @see AWS API * Documentation */ @Override public UpdateAgentStatusResult updateAgentStatus(UpdateAgentStatusRequest request) { request = beforeClientExecution(request); return executeUpdateAgentStatus(request); } @SdkInternalApi final UpdateAgentStatusResult executeUpdateAgentStatus(UpdateAgentStatusRequest updateAgentStatusRequest) { ExecutionContext executionContext = createExecutionContext(updateAgentStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateAgentStatusRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateAgentStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateAgentStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateAgentStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Adds or updates user-defined contact information associated with the specified contact. At least one field to be * updated must be present in the request. *

* *

* You can add or update user-defined contact information for both ongoing and completed contacts. *

*
* * @param updateContactRequest * @return Result of the UpdateContact operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.UpdateContact * @see AWS API * Documentation */ @Override public UpdateContactResult updateContact(UpdateContactRequest request) { request = beforeClientExecution(request); return executeUpdateContact(request); } @SdkInternalApi final UpdateContactResult executeUpdateContact(UpdateContactRequest updateContactRequest) { ExecutionContext executionContext = createExecutionContext(updateContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates or updates user-defined contact attributes associated with the specified contact. *

*

* You can create or update user-defined attributes for both ongoing and completed contacts. For example, while the * call is active, you can update the customer's name or the reason the customer called. You can add notes about * steps that the agent took during the call that display to the next agent that takes the call. You can also update * attributes for a contact using data from your CRM application and save the data with the contact in Amazon * Connect. You could also flag calls for additional analysis, such as legal review or to identify abusive callers. *

*

* Contact attributes are available in Amazon Connect for 24 months, and are then deleted. For information about * contact record retention and the maximum size of the contact record attributes section, see Feature specifications in the Amazon Connect Administrator Guide. *

* * @param updateContactAttributesRequest * @return Result of the UpdateContactAttributes operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateContactAttributes * @see AWS API Documentation */ @Override public UpdateContactAttributesResult updateContactAttributes(UpdateContactAttributesRequest request) { request = beforeClientExecution(request); return executeUpdateContactAttributes(request); } @SdkInternalApi final UpdateContactAttributesResult executeUpdateContactAttributes(UpdateContactAttributesRequest updateContactAttributesRequest) { ExecutionContext executionContext = createExecutionContext(updateContactAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactAttributesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateContactAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactAttributes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactAttributesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates details about a contact evaluation in the specified Amazon Connect instance. A contact evaluation must be * in draft state. Answers included in the request are merged with existing answers for the given evaluation. An * answer or note can be deleted by passing an empty object ({}) to the question identifier. *

* * @param updateContactEvaluationRequest * @return Result of the UpdateContactEvaluation operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.UpdateContactEvaluation * @see AWS API Documentation */ @Override public UpdateContactEvaluationResult updateContactEvaluation(UpdateContactEvaluationRequest request) { request = beforeClientExecution(request); return executeUpdateContactEvaluation(request); } @SdkInternalApi final UpdateContactEvaluationResult executeUpdateContactEvaluation(UpdateContactEvaluationRequest updateContactEvaluationRequest) { ExecutionContext executionContext = createExecutionContext(updateContactEvaluationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactEvaluationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateContactEvaluationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactEvaluation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactEvaluationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the specified flow. *

*

* You can also create and update flows using the Amazon Connect Flow * language. *

* * @param updateContactFlowContentRequest * @return Result of the UpdateContactFlowContent operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidContactFlowException * The flow is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateContactFlowContent * @see AWS API Documentation */ @Override public UpdateContactFlowContentResult updateContactFlowContent(UpdateContactFlowContentRequest request) { request = beforeClientExecution(request); return executeUpdateContactFlowContent(request); } @SdkInternalApi final UpdateContactFlowContentResult executeUpdateContactFlowContent(UpdateContactFlowContentRequest updateContactFlowContentRequest) { ExecutionContext executionContext = createExecutionContext(updateContactFlowContentRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactFlowContentRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateContactFlowContentRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactFlowContent"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactFlowContentResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates metadata about specified flow. *

* * @param updateContactFlowMetadataRequest * @return Result of the UpdateContactFlowMetadata operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateContactFlowMetadata * @see AWS API Documentation */ @Override public UpdateContactFlowMetadataResult updateContactFlowMetadata(UpdateContactFlowMetadataRequest request) { request = beforeClientExecution(request); return executeUpdateContactFlowMetadata(request); } @SdkInternalApi final UpdateContactFlowMetadataResult executeUpdateContactFlowMetadata(UpdateContactFlowMetadataRequest updateContactFlowMetadataRequest) { ExecutionContext executionContext = createExecutionContext(updateContactFlowMetadataRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactFlowMetadataRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateContactFlowMetadataRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactFlowMetadata"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactFlowMetadataResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates specified flow module for the specified Amazon Connect instance. *

* * @param updateContactFlowModuleContentRequest * @return Result of the UpdateContactFlowModuleContent operation returned by the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InvalidRequestException * The request is not valid. * @throws InvalidContactFlowModuleException * The problems with the module. Please fix before trying again. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateContactFlowModuleContent * @see AWS API Documentation */ @Override public UpdateContactFlowModuleContentResult updateContactFlowModuleContent(UpdateContactFlowModuleContentRequest request) { request = beforeClientExecution(request); return executeUpdateContactFlowModuleContent(request); } @SdkInternalApi final UpdateContactFlowModuleContentResult executeUpdateContactFlowModuleContent(UpdateContactFlowModuleContentRequest updateContactFlowModuleContentRequest) { ExecutionContext executionContext = createExecutionContext(updateContactFlowModuleContentRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactFlowModuleContentRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateContactFlowModuleContentRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactFlowModuleContent"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactFlowModuleContentResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates metadata about specified flow module. *

* * @param updateContactFlowModuleMetadataRequest * @return Result of the UpdateContactFlowModuleMetadata operation returned by the service. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateContactFlowModuleMetadata * @see AWS API Documentation */ @Override public UpdateContactFlowModuleMetadataResult updateContactFlowModuleMetadata(UpdateContactFlowModuleMetadataRequest request) { request = beforeClientExecution(request); return executeUpdateContactFlowModuleMetadata(request); } @SdkInternalApi final UpdateContactFlowModuleMetadataResult executeUpdateContactFlowModuleMetadata( UpdateContactFlowModuleMetadataRequest updateContactFlowModuleMetadataRequest) { ExecutionContext executionContext = createExecutionContext(updateContactFlowModuleMetadataRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactFlowModuleMetadataRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateContactFlowModuleMetadataRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactFlowModuleMetadata"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactFlowModuleMetadataResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* The name of the flow. *

*

* You can also create and update flows using the Amazon Connect Flow * language. *

* * @param updateContactFlowNameRequest * @return Result of the UpdateContactFlowName operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateContactFlowName * @see AWS * API Documentation */ @Override public UpdateContactFlowNameResult updateContactFlowName(UpdateContactFlowNameRequest request) { request = beforeClientExecution(request); return executeUpdateContactFlowName(request); } @SdkInternalApi final UpdateContactFlowNameResult executeUpdateContactFlowName(UpdateContactFlowNameRequest updateContactFlowNameRequest) { ExecutionContext executionContext = createExecutionContext(updateContactFlowNameRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactFlowNameRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateContactFlowNameRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactFlowName"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactFlowNameResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the scheduled time of a task contact that is already scheduled. *

* * @param updateContactScheduleRequest * @return Result of the UpdateContactSchedule operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateContactSchedule * @see AWS * API Documentation */ @Override public UpdateContactScheduleResult updateContactSchedule(UpdateContactScheduleRequest request) { request = beforeClientExecution(request); return executeUpdateContactSchedule(request); } @SdkInternalApi final UpdateContactScheduleResult executeUpdateContactSchedule(UpdateContactScheduleRequest updateContactScheduleRequest) { ExecutionContext executionContext = createExecutionContext(updateContactScheduleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContactScheduleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateContactScheduleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContactSchedule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateContactScheduleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates details about a specific evaluation form version in the specified Amazon Connect instance. Question and * section identifiers cannot be duplicated within the same evaluation form. *

*

* This operation does not support partial updates. Instead it does a full update of evaluation form content. *

* * @param updateEvaluationFormRequest * @return Result of the UpdateEvaluationForm operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.UpdateEvaluationForm * @see AWS * API Documentation */ @Override public UpdateEvaluationFormResult updateEvaluationForm(UpdateEvaluationFormRequest request) { request = beforeClientExecution(request); return executeUpdateEvaluationForm(request); } @SdkInternalApi final UpdateEvaluationFormResult executeUpdateEvaluationForm(UpdateEvaluationFormRequest updateEvaluationFormRequest) { ExecutionContext executionContext = createExecutionContext(updateEvaluationFormRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateEvaluationFormRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateEvaluationFormRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateEvaluationForm"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateEvaluationFormResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates the hours of operation. *

* * @param updateHoursOfOperationRequest * @return Result of the UpdateHoursOfOperation operation returned by the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateHoursOfOperation * @see AWS * API Documentation */ @Override public UpdateHoursOfOperationResult updateHoursOfOperation(UpdateHoursOfOperationRequest request) { request = beforeClientExecution(request); return executeUpdateHoursOfOperation(request); } @SdkInternalApi final UpdateHoursOfOperationResult executeUpdateHoursOfOperation(UpdateHoursOfOperationRequest updateHoursOfOperationRequest) { ExecutionContext executionContext = createExecutionContext(updateHoursOfOperationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateHoursOfOperationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateHoursOfOperationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateHoursOfOperation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateHoursOfOperationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates the value for the specified attribute type. *

* * @param updateInstanceAttributeRequest * @return Result of the UpdateInstanceAttribute operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.UpdateInstanceAttribute * @see AWS API Documentation */ @Override public UpdateInstanceAttributeResult updateInstanceAttribute(UpdateInstanceAttributeRequest request) { request = beforeClientExecution(request); return executeUpdateInstanceAttribute(request); } @SdkInternalApi final UpdateInstanceAttributeResult executeUpdateInstanceAttribute(UpdateInstanceAttributeRequest updateInstanceAttributeRequest) { ExecutionContext executionContext = createExecutionContext(updateInstanceAttributeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateInstanceAttributeRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateInstanceAttributeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateInstanceAttribute"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateInstanceAttributeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates an existing configuration for a resource type. This API is idempotent. *

* * @param updateInstanceStorageConfigRequest * @return Result of the UpdateInstanceStorageConfig operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @sample AmazonConnect.UpdateInstanceStorageConfig * @see AWS API Documentation */ @Override public UpdateInstanceStorageConfigResult updateInstanceStorageConfig(UpdateInstanceStorageConfigRequest request) { request = beforeClientExecution(request); return executeUpdateInstanceStorageConfig(request); } @SdkInternalApi final UpdateInstanceStorageConfigResult executeUpdateInstanceStorageConfig(UpdateInstanceStorageConfigRequest updateInstanceStorageConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateInstanceStorageConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateInstanceStorageConfigRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateInstanceStorageConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateInstanceStorageConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateInstanceStorageConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates timeouts for when human chat participants are to be considered idle, and when agents are automatically * disconnected from a chat due to idleness. You can set four timers: *

*
    *
  • *

    * Customer idle timeout *

    *
  • *
  • *

    * Customer auto-disconnect timeout *

    *
  • *
  • *

    * Agent idle timeout *

    *
  • *
  • *

    * Agent auto-disconnect timeout *

    *
  • *
*

* For more information about how chat timeouts work, see Set up chat timeouts for * human participants. *

* * @param updateParticipantRoleConfigRequest * @return Result of the UpdateParticipantRoleConfig operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateParticipantRoleConfig * @see AWS API Documentation */ @Override public UpdateParticipantRoleConfigResult updateParticipantRoleConfig(UpdateParticipantRoleConfigRequest request) { request = beforeClientExecution(request); return executeUpdateParticipantRoleConfig(request); } @SdkInternalApi final UpdateParticipantRoleConfigResult executeUpdateParticipantRoleConfig(UpdateParticipantRoleConfigRequest updateParticipantRoleConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateParticipantRoleConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateParticipantRoleConfigRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateParticipantRoleConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateParticipantRoleConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateParticipantRoleConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates your claimed phone number from its current Amazon Connect instance or traffic distribution group to * another Amazon Connect instance or traffic distribution group in the same Amazon Web Services Region. *

* *

* After using this API, you must verify that the phone number is attached to the correct flow in the target * instance or traffic distribution group. You need to do this because the API switches only the phone number to a * new instance or traffic distribution group. It doesn't migrate the flow configuration of the phone number, too. *

*

* You can call DescribePhoneNumber * API to verify the status of a previous UpdatePhoneNumber * operation. *

*
* * @param updatePhoneNumberRequest * @return Result of the UpdatePhoneNumber operation returned by the service. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws IdempotencyException * An entity with the same name already exists. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @sample AmazonConnect.UpdatePhoneNumber * @see AWS API * Documentation */ @Override public UpdatePhoneNumberResult updatePhoneNumber(UpdatePhoneNumberRequest request) { request = beforeClientExecution(request); return executeUpdatePhoneNumber(request); } @SdkInternalApi final UpdatePhoneNumberResult executeUpdatePhoneNumber(UpdatePhoneNumberRequest updatePhoneNumberRequest) { ExecutionContext executionContext = createExecutionContext(updatePhoneNumberRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdatePhoneNumberRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updatePhoneNumberRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdatePhoneNumber"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdatePhoneNumberResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a prompt. *

* * @param updatePromptRequest * @return Result of the UpdatePrompt operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdatePrompt * @see AWS API * Documentation */ @Override public UpdatePromptResult updatePrompt(UpdatePromptRequest request) { request = beforeClientExecution(request); return executeUpdatePrompt(request); } @SdkInternalApi final UpdatePromptResult executeUpdatePrompt(UpdatePromptRequest updatePromptRequest) { ExecutionContext executionContext = createExecutionContext(updatePromptRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdatePromptRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updatePromptRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdatePrompt"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdatePromptResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates the hours of operation for the specified queue. *

* * @param updateQueueHoursOfOperationRequest * @return Result of the UpdateQueueHoursOfOperation operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateQueueHoursOfOperation * @see AWS API Documentation */ @Override public UpdateQueueHoursOfOperationResult updateQueueHoursOfOperation(UpdateQueueHoursOfOperationRequest request) { request = beforeClientExecution(request); return executeUpdateQueueHoursOfOperation(request); } @SdkInternalApi final UpdateQueueHoursOfOperationResult executeUpdateQueueHoursOfOperation(UpdateQueueHoursOfOperationRequest updateQueueHoursOfOperationRequest) { ExecutionContext executionContext = createExecutionContext(updateQueueHoursOfOperationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateQueueHoursOfOperationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateQueueHoursOfOperationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateQueueHoursOfOperation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateQueueHoursOfOperationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates the maximum number of contacts allowed in a queue before it is considered full. *

* * @param updateQueueMaxContactsRequest * @return Result of the UpdateQueueMaxContacts operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateQueueMaxContacts * @see AWS * API Documentation */ @Override public UpdateQueueMaxContactsResult updateQueueMaxContacts(UpdateQueueMaxContactsRequest request) { request = beforeClientExecution(request); return executeUpdateQueueMaxContacts(request); } @SdkInternalApi final UpdateQueueMaxContactsResult executeUpdateQueueMaxContacts(UpdateQueueMaxContactsRequest updateQueueMaxContactsRequest) { ExecutionContext executionContext = createExecutionContext(updateQueueMaxContactsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateQueueMaxContactsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateQueueMaxContactsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateQueueMaxContacts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateQueueMaxContactsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates the name and description of a queue. At least Name or Description must be * provided. *

* * @param updateQueueNameRequest * @return Result of the UpdateQueueName operation returned by the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateQueueName * @see AWS API * Documentation */ @Override public UpdateQueueNameResult updateQueueName(UpdateQueueNameRequest request) { request = beforeClientExecution(request); return executeUpdateQueueName(request); } @SdkInternalApi final UpdateQueueNameResult executeUpdateQueueName(UpdateQueueNameRequest updateQueueNameRequest) { ExecutionContext executionContext = createExecutionContext(updateQueueNameRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateQueueNameRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateQueueNameRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateQueueName"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateQueueNameResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates the outbound caller ID name, number, and outbound whisper flow for a specified queue. *

* *

* If the number being used in the input is claimed to a traffic distribution group, and you are calling this API * using an instance in the Amazon Web Services Region where the traffic distribution group was created, you can use * either a full phone number ARN or UUID value for the OutboundCallerIdNumberId value of the OutboundCallerConfig * request body parameter. However, if the number is claimed to a traffic distribution group and you are calling * this API using an instance in the alternate Amazon Web Services Region associated with the traffic distribution * group, you must provide a full phone number ARN. If a UUID is provided in this scenario, you will receive a * ResourceNotFoundException. *

*

* Only use the phone number ARN format that doesn't contain instance in the path, for example, * arn:aws:connect:us-east-1:1234567890:phone-number/uuid. This is the same ARN format that is returned * when you call the ListPhoneNumbersV2 * API. *

*
* * @param updateQueueOutboundCallerConfigRequest * @return Result of the UpdateQueueOutboundCallerConfig operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateQueueOutboundCallerConfig * @see AWS API Documentation */ @Override public UpdateQueueOutboundCallerConfigResult updateQueueOutboundCallerConfig(UpdateQueueOutboundCallerConfigRequest request) { request = beforeClientExecution(request); return executeUpdateQueueOutboundCallerConfig(request); } @SdkInternalApi final UpdateQueueOutboundCallerConfigResult executeUpdateQueueOutboundCallerConfig( UpdateQueueOutboundCallerConfigRequest updateQueueOutboundCallerConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateQueueOutboundCallerConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateQueueOutboundCallerConfigRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateQueueOutboundCallerConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateQueueOutboundCallerConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateQueueOutboundCallerConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates the status of the queue. *

* * @param updateQueueStatusRequest * @return Result of the UpdateQueueStatus operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateQueueStatus * @see AWS API * Documentation */ @Override public UpdateQueueStatusResult updateQueueStatus(UpdateQueueStatusRequest request) { request = beforeClientExecution(request); return executeUpdateQueueStatus(request); } @SdkInternalApi final UpdateQueueStatusResult executeUpdateQueueStatus(UpdateQueueStatusRequest updateQueueStatusRequest) { ExecutionContext executionContext = createExecutionContext(updateQueueStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateQueueStatusRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateQueueStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateQueueStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateQueueStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the configuration settings for the specified quick connect. *

* * @param updateQuickConnectConfigRequest * @return Result of the UpdateQuickConnectConfig operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateQuickConnectConfig * @see AWS API Documentation */ @Override public UpdateQuickConnectConfigResult updateQuickConnectConfig(UpdateQuickConnectConfigRequest request) { request = beforeClientExecution(request); return executeUpdateQuickConnectConfig(request); } @SdkInternalApi final UpdateQuickConnectConfigResult executeUpdateQuickConnectConfig(UpdateQuickConnectConfigRequest updateQuickConnectConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateQuickConnectConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateQuickConnectConfigRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateQuickConnectConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateQuickConnectConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateQuickConnectConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the name and description of a quick connect. The request accepts the following data in JSON format. At * least Name or Description must be provided. *

* * @param updateQuickConnectNameRequest * @return Result of the UpdateQuickConnectName operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateQuickConnectName * @see AWS * API Documentation */ @Override public UpdateQuickConnectNameResult updateQuickConnectName(UpdateQuickConnectNameRequest request) { request = beforeClientExecution(request); return executeUpdateQuickConnectName(request); } @SdkInternalApi final UpdateQuickConnectNameResult executeUpdateQuickConnectName(UpdateQuickConnectNameRequest updateQuickConnectNameRequest) { ExecutionContext executionContext = createExecutionContext(updateQuickConnectNameRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateQuickConnectNameRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateQuickConnectNameRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateQuickConnectName"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateQuickConnectNameResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the channels that agents can handle in the Contact Control Panel (CCP) for a routing profile. *

* * @param updateRoutingProfileConcurrencyRequest * @return Result of the UpdateRoutingProfileConcurrency operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateRoutingProfileConcurrency * @see AWS API Documentation */ @Override public UpdateRoutingProfileConcurrencyResult updateRoutingProfileConcurrency(UpdateRoutingProfileConcurrencyRequest request) { request = beforeClientExecution(request); return executeUpdateRoutingProfileConcurrency(request); } @SdkInternalApi final UpdateRoutingProfileConcurrencyResult executeUpdateRoutingProfileConcurrency( UpdateRoutingProfileConcurrencyRequest updateRoutingProfileConcurrencyRequest) { ExecutionContext executionContext = createExecutionContext(updateRoutingProfileConcurrencyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRoutingProfileConcurrencyRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateRoutingProfileConcurrencyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateRoutingProfileConcurrency"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateRoutingProfileConcurrencyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the default outbound queue of a routing profile. *

* * @param updateRoutingProfileDefaultOutboundQueueRequest * @return Result of the UpdateRoutingProfileDefaultOutboundQueue operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateRoutingProfileDefaultOutboundQueue * @see AWS API Documentation */ @Override public UpdateRoutingProfileDefaultOutboundQueueResult updateRoutingProfileDefaultOutboundQueue(UpdateRoutingProfileDefaultOutboundQueueRequest request) { request = beforeClientExecution(request); return executeUpdateRoutingProfileDefaultOutboundQueue(request); } @SdkInternalApi final UpdateRoutingProfileDefaultOutboundQueueResult executeUpdateRoutingProfileDefaultOutboundQueue( UpdateRoutingProfileDefaultOutboundQueueRequest updateRoutingProfileDefaultOutboundQueueRequest) { ExecutionContext executionContext = createExecutionContext(updateRoutingProfileDefaultOutboundQueueRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRoutingProfileDefaultOutboundQueueRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateRoutingProfileDefaultOutboundQueueRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateRoutingProfileDefaultOutboundQueue"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateRoutingProfileDefaultOutboundQueueResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the name and description of a routing profile. The request accepts the following data in JSON format. At * least Name or Description must be provided. *

* * @param updateRoutingProfileNameRequest * @return Result of the UpdateRoutingProfileName operation returned by the service. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateRoutingProfileName * @see AWS API Documentation */ @Override public UpdateRoutingProfileNameResult updateRoutingProfileName(UpdateRoutingProfileNameRequest request) { request = beforeClientExecution(request); return executeUpdateRoutingProfileName(request); } @SdkInternalApi final UpdateRoutingProfileNameResult executeUpdateRoutingProfileName(UpdateRoutingProfileNameRequest updateRoutingProfileNameRequest) { ExecutionContext executionContext = createExecutionContext(updateRoutingProfileNameRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRoutingProfileNameRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateRoutingProfileNameRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateRoutingProfileName"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateRoutingProfileNameResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the properties associated with a set of queues for a routing profile. *

* * @param updateRoutingProfileQueuesRequest * @return Result of the UpdateRoutingProfileQueues operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateRoutingProfileQueues * @see AWS API Documentation */ @Override public UpdateRoutingProfileQueuesResult updateRoutingProfileQueues(UpdateRoutingProfileQueuesRequest request) { request = beforeClientExecution(request); return executeUpdateRoutingProfileQueues(request); } @SdkInternalApi final UpdateRoutingProfileQueuesResult executeUpdateRoutingProfileQueues(UpdateRoutingProfileQueuesRequest updateRoutingProfileQueuesRequest) { ExecutionContext executionContext = createExecutionContext(updateRoutingProfileQueuesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRoutingProfileQueuesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateRoutingProfileQueuesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateRoutingProfileQueues"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateRoutingProfileQueuesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a rule for the specified Amazon Connect instance. *

*

* Use the Rules * Function language to code conditions for the rule. *

* * @param updateRuleRequest * @return Result of the UpdateRule operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceConflictException * A resource already has that name. * @sample AmazonConnect.UpdateRule * @see AWS API * Documentation */ @Override public UpdateRuleResult updateRule(UpdateRuleRequest request) { request = beforeClientExecution(request); return executeUpdateRule(request); } @SdkInternalApi final UpdateRuleResult executeUpdateRule(UpdateRuleRequest updateRuleRequest) { ExecutionContext executionContext = createExecutionContext(updateRuleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateRuleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateRule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateRuleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. *

*

* Updates a security profile. *

* * @param updateSecurityProfileRequest * @return Result of the UpdateSecurityProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateSecurityProfile * @see AWS * API Documentation */ @Override public UpdateSecurityProfileResult updateSecurityProfile(UpdateSecurityProfileRequest request) { request = beforeClientExecution(request); return executeUpdateSecurityProfile(request); } @SdkInternalApi final UpdateSecurityProfileResult executeUpdateSecurityProfile(UpdateSecurityProfileRequest updateSecurityProfileRequest) { ExecutionContext executionContext = createExecutionContext(updateSecurityProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateSecurityProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateSecurityProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateSecurityProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateSecurityProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates details about a specific task template in the specified Amazon Connect instance. This operation does not * support partial updates. Instead it does a full update of template content. *

* * @param updateTaskTemplateRequest * @return Result of the UpdateTaskTemplate operation returned by the service. * @throws PropertyValidationException * The property is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateTaskTemplate * @see AWS API * Documentation */ @Override public UpdateTaskTemplateResult updateTaskTemplate(UpdateTaskTemplateRequest request) { request = beforeClientExecution(request); return executeUpdateTaskTemplate(request); } @SdkInternalApi final UpdateTaskTemplateResult executeUpdateTaskTemplate(UpdateTaskTemplateRequest updateTaskTemplateRequest) { ExecutionContext executionContext = createExecutionContext(updateTaskTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateTaskTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateTaskTemplateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateTaskTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateTaskTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the traffic distribution for a given traffic distribution group. *

*

* For more information about updating a traffic distribution group, see Update * telephony traffic distribution across Amazon Web Services Regions in the Amazon Connect Administrator * Guide. *

* * @param updateTrafficDistributionRequest * @return Result of the UpdateTrafficDistribution operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceConflictException * A resource already has that name. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateTrafficDistribution * @see AWS API Documentation */ @Override public UpdateTrafficDistributionResult updateTrafficDistribution(UpdateTrafficDistributionRequest request) { request = beforeClientExecution(request); return executeUpdateTrafficDistribution(request); } @SdkInternalApi final UpdateTrafficDistributionResult executeUpdateTrafficDistribution(UpdateTrafficDistributionRequest updateTrafficDistributionRequest) { ExecutionContext executionContext = createExecutionContext(updateTrafficDistributionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateTrafficDistributionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateTrafficDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateTrafficDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateTrafficDistributionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Assigns the specified hierarchy group to the specified user. *

* * @param updateUserHierarchyRequest * @return Result of the UpdateUserHierarchy operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateUserHierarchy * @see AWS * API Documentation */ @Override public UpdateUserHierarchyResult updateUserHierarchy(UpdateUserHierarchyRequest request) { request = beforeClientExecution(request); return executeUpdateUserHierarchy(request); } @SdkInternalApi final UpdateUserHierarchyResult executeUpdateUserHierarchy(UpdateUserHierarchyRequest updateUserHierarchyRequest) { ExecutionContext executionContext = createExecutionContext(updateUserHierarchyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateUserHierarchyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateUserHierarchyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateUserHierarchy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserHierarchyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the name of the user hierarchy group. *

* * @param updateUserHierarchyGroupNameRequest * @return Result of the UpdateUserHierarchyGroupName operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateUserHierarchyGroupName * @see AWS API Documentation */ @Override public UpdateUserHierarchyGroupNameResult updateUserHierarchyGroupName(UpdateUserHierarchyGroupNameRequest request) { request = beforeClientExecution(request); return executeUpdateUserHierarchyGroupName(request); } @SdkInternalApi final UpdateUserHierarchyGroupNameResult executeUpdateUserHierarchyGroupName(UpdateUserHierarchyGroupNameRequest updateUserHierarchyGroupNameRequest) { ExecutionContext executionContext = createExecutionContext(updateUserHierarchyGroupNameRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateUserHierarchyGroupNameRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateUserHierarchyGroupNameRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateUserHierarchyGroupName"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserHierarchyGroupNameResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the user hierarchy structure: add, remove, and rename user hierarchy levels. *

* * @param updateUserHierarchyStructureRequest * @return Result of the UpdateUserHierarchyStructure operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateUserHierarchyStructure * @see AWS API Documentation */ @Override public UpdateUserHierarchyStructureResult updateUserHierarchyStructure(UpdateUserHierarchyStructureRequest request) { request = beforeClientExecution(request); return executeUpdateUserHierarchyStructure(request); } @SdkInternalApi final UpdateUserHierarchyStructureResult executeUpdateUserHierarchyStructure(UpdateUserHierarchyStructureRequest updateUserHierarchyStructureRequest) { ExecutionContext executionContext = createExecutionContext(updateUserHierarchyStructureRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateUserHierarchyStructureRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateUserHierarchyStructureRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateUserHierarchyStructure"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserHierarchyStructureResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the identity information for the specified user. *

* *

* We strongly recommend limiting who has the ability to invoke UpdateUserIdentityInfo. Someone with * that ability can change the login credentials of other users by changing their email address. This poses a * security risk to your organization. They can change the email address of a user to the attacker's email address, * and then reset the password through email. For more information, see Best Practices * for Security Profiles in the Amazon Connect Administrator Guide. *

*
* * @param updateUserIdentityInfoRequest * @return Result of the UpdateUserIdentityInfo operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateUserIdentityInfo * @see AWS * API Documentation */ @Override public UpdateUserIdentityInfoResult updateUserIdentityInfo(UpdateUserIdentityInfoRequest request) { request = beforeClientExecution(request); return executeUpdateUserIdentityInfo(request); } @SdkInternalApi final UpdateUserIdentityInfoResult executeUpdateUserIdentityInfo(UpdateUserIdentityInfoRequest updateUserIdentityInfoRequest) { ExecutionContext executionContext = createExecutionContext(updateUserIdentityInfoRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateUserIdentityInfoRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateUserIdentityInfoRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateUserIdentityInfo"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserIdentityInfoResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the phone configuration settings for the specified user. *

* * @param updateUserPhoneConfigRequest * @return Result of the UpdateUserPhoneConfig operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateUserPhoneConfig * @see AWS * API Documentation */ @Override public UpdateUserPhoneConfigResult updateUserPhoneConfig(UpdateUserPhoneConfigRequest request) { request = beforeClientExecution(request); return executeUpdateUserPhoneConfig(request); } @SdkInternalApi final UpdateUserPhoneConfigResult executeUpdateUserPhoneConfig(UpdateUserPhoneConfigRequest updateUserPhoneConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateUserPhoneConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateUserPhoneConfigRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateUserPhoneConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateUserPhoneConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserPhoneConfigResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Assigns the specified routing profile to the specified user. *

* * @param updateUserRoutingProfileRequest * @return Result of the UpdateUserRoutingProfile operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateUserRoutingProfile * @see AWS API Documentation */ @Override public UpdateUserRoutingProfileResult updateUserRoutingProfile(UpdateUserRoutingProfileRequest request) { request = beforeClientExecution(request); return executeUpdateUserRoutingProfile(request); } @SdkInternalApi final UpdateUserRoutingProfileResult executeUpdateUserRoutingProfile(UpdateUserRoutingProfileRequest updateUserRoutingProfileRequest) { ExecutionContext executionContext = createExecutionContext(updateUserRoutingProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateUserRoutingProfileRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateUserRoutingProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateUserRoutingProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserRoutingProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Assigns the specified security profiles to the specified user. *

* * @param updateUserSecurityProfilesRequest * @return Result of the UpdateUserSecurityProfiles operation returned by the service. * @throws InvalidRequestException * The request is not valid. * @throws InvalidParameterException * One or more of the specified parameters are not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @sample AmazonConnect.UpdateUserSecurityProfiles * @see AWS API Documentation */ @Override public UpdateUserSecurityProfilesResult updateUserSecurityProfiles(UpdateUserSecurityProfilesRequest request) { request = beforeClientExecution(request); return executeUpdateUserSecurityProfiles(request); } @SdkInternalApi final UpdateUserSecurityProfilesResult executeUpdateUserSecurityProfiles(UpdateUserSecurityProfilesRequest updateUserSecurityProfilesRequest) { ExecutionContext executionContext = createExecutionContext(updateUserSecurityProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateUserSecurityProfilesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateUserSecurityProfilesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Connect"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateUserSecurityProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateUserSecurityProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * Returns additional metadata for a previously executed successful, request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return invoke(request, responseHandler, executionContext, null, null); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext, null, null); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) { if (discoveredEndpoint != null) { request.setEndpoint(discoveredEndpoint); request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery"); } else if (uriFromEndpointTrait != null) { request.setEndpoint(uriFromEndpointTrait); } else { request.setEndpoint(endpoint); } request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } @com.amazonaws.annotation.SdkInternalApi static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() { return protocolFactory; } @Override public void shutdown() { super.shutdown(); } }