All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.connect.DefaultConnectClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Connect module holds the client classes that are used for communicating with Connect.

There is a newer version: 2.29.15
Show newest version
/*
 * Copyright 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 software.amazon.awssdk.services.connect;

import java.util.Collections;
import java.util.List;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.awscore.internal.AwsProtocolMetadata;
import software.amazon.awssdk.awscore.internal.AwsServiceProtocol;
import software.amazon.awssdk.awscore.retry.AwsRetryStrategy;
import software.amazon.awssdk.core.RequestOverrideConfiguration;
import software.amazon.awssdk.core.SdkPlugin;
import software.amazon.awssdk.core.SdkRequest;
import software.amazon.awssdk.core.client.config.ClientOverrideConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.config.SdkClientOption;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.metrics.CoreMetric;
import software.amazon.awssdk.core.retry.RetryMode;
import software.amazon.awssdk.metrics.MetricCollector;
import software.amazon.awssdk.metrics.MetricPublisher;
import software.amazon.awssdk.metrics.NoOpMetricCollector;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.json.AwsJsonProtocol;
import software.amazon.awssdk.protocols.json.AwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.BaseAwsJsonProtocolFactory;
import software.amazon.awssdk.protocols.json.JsonOperationMetadata;
import software.amazon.awssdk.retries.api.RetryStrategy;
import software.amazon.awssdk.services.connect.internal.ConnectServiceClientConfigurationBuilder;
import software.amazon.awssdk.services.connect.model.AccessDeniedException;
import software.amazon.awssdk.services.connect.model.ActivateEvaluationFormRequest;
import software.amazon.awssdk.services.connect.model.ActivateEvaluationFormResponse;
import software.amazon.awssdk.services.connect.model.AssociateAnalyticsDataSetRequest;
import software.amazon.awssdk.services.connect.model.AssociateAnalyticsDataSetResponse;
import software.amazon.awssdk.services.connect.model.AssociateApprovedOriginRequest;
import software.amazon.awssdk.services.connect.model.AssociateApprovedOriginResponse;
import software.amazon.awssdk.services.connect.model.AssociateBotRequest;
import software.amazon.awssdk.services.connect.model.AssociateBotResponse;
import software.amazon.awssdk.services.connect.model.AssociateDefaultVocabularyRequest;
import software.amazon.awssdk.services.connect.model.AssociateDefaultVocabularyResponse;
import software.amazon.awssdk.services.connect.model.AssociateFlowRequest;
import software.amazon.awssdk.services.connect.model.AssociateFlowResponse;
import software.amazon.awssdk.services.connect.model.AssociateInstanceStorageConfigRequest;
import software.amazon.awssdk.services.connect.model.AssociateInstanceStorageConfigResponse;
import software.amazon.awssdk.services.connect.model.AssociateLambdaFunctionRequest;
import software.amazon.awssdk.services.connect.model.AssociateLambdaFunctionResponse;
import software.amazon.awssdk.services.connect.model.AssociateLexBotRequest;
import software.amazon.awssdk.services.connect.model.AssociateLexBotResponse;
import software.amazon.awssdk.services.connect.model.AssociatePhoneNumberContactFlowRequest;
import software.amazon.awssdk.services.connect.model.AssociatePhoneNumberContactFlowResponse;
import software.amazon.awssdk.services.connect.model.AssociateQueueQuickConnectsRequest;
import software.amazon.awssdk.services.connect.model.AssociateQueueQuickConnectsResponse;
import software.amazon.awssdk.services.connect.model.AssociateRoutingProfileQueuesRequest;
import software.amazon.awssdk.services.connect.model.AssociateRoutingProfileQueuesResponse;
import software.amazon.awssdk.services.connect.model.AssociateSecurityKeyRequest;
import software.amazon.awssdk.services.connect.model.AssociateSecurityKeyResponse;
import software.amazon.awssdk.services.connect.model.AssociateTrafficDistributionGroupUserRequest;
import software.amazon.awssdk.services.connect.model.AssociateTrafficDistributionGroupUserResponse;
import software.amazon.awssdk.services.connect.model.AssociateUserProficienciesRequest;
import software.amazon.awssdk.services.connect.model.AssociateUserProficienciesResponse;
import software.amazon.awssdk.services.connect.model.BatchAssociateAnalyticsDataSetRequest;
import software.amazon.awssdk.services.connect.model.BatchAssociateAnalyticsDataSetResponse;
import software.amazon.awssdk.services.connect.model.BatchDisassociateAnalyticsDataSetRequest;
import software.amazon.awssdk.services.connect.model.BatchDisassociateAnalyticsDataSetResponse;
import software.amazon.awssdk.services.connect.model.BatchGetAttachedFileMetadataRequest;
import software.amazon.awssdk.services.connect.model.BatchGetAttachedFileMetadataResponse;
import software.amazon.awssdk.services.connect.model.BatchGetFlowAssociationRequest;
import software.amazon.awssdk.services.connect.model.BatchGetFlowAssociationResponse;
import software.amazon.awssdk.services.connect.model.BatchPutContactRequest;
import software.amazon.awssdk.services.connect.model.BatchPutContactResponse;
import software.amazon.awssdk.services.connect.model.ClaimPhoneNumberRequest;
import software.amazon.awssdk.services.connect.model.ClaimPhoneNumberResponse;
import software.amazon.awssdk.services.connect.model.CompleteAttachedFileUploadRequest;
import software.amazon.awssdk.services.connect.model.CompleteAttachedFileUploadResponse;
import software.amazon.awssdk.services.connect.model.ConflictException;
import software.amazon.awssdk.services.connect.model.ConnectException;
import software.amazon.awssdk.services.connect.model.ContactFlowNotPublishedException;
import software.amazon.awssdk.services.connect.model.ContactNotFoundException;
import software.amazon.awssdk.services.connect.model.CreateAgentStatusRequest;
import software.amazon.awssdk.services.connect.model.CreateAgentStatusResponse;
import software.amazon.awssdk.services.connect.model.CreateContactFlowModuleRequest;
import software.amazon.awssdk.services.connect.model.CreateContactFlowModuleResponse;
import software.amazon.awssdk.services.connect.model.CreateContactFlowRequest;
import software.amazon.awssdk.services.connect.model.CreateContactFlowResponse;
import software.amazon.awssdk.services.connect.model.CreateEvaluationFormRequest;
import software.amazon.awssdk.services.connect.model.CreateEvaluationFormResponse;
import software.amazon.awssdk.services.connect.model.CreateHoursOfOperationRequest;
import software.amazon.awssdk.services.connect.model.CreateHoursOfOperationResponse;
import software.amazon.awssdk.services.connect.model.CreateInstanceRequest;
import software.amazon.awssdk.services.connect.model.CreateInstanceResponse;
import software.amazon.awssdk.services.connect.model.CreateIntegrationAssociationRequest;
import software.amazon.awssdk.services.connect.model.CreateIntegrationAssociationResponse;
import software.amazon.awssdk.services.connect.model.CreateParticipantRequest;
import software.amazon.awssdk.services.connect.model.CreateParticipantResponse;
import software.amazon.awssdk.services.connect.model.CreatePersistentContactAssociationRequest;
import software.amazon.awssdk.services.connect.model.CreatePersistentContactAssociationResponse;
import software.amazon.awssdk.services.connect.model.CreatePredefinedAttributeRequest;
import software.amazon.awssdk.services.connect.model.CreatePredefinedAttributeResponse;
import software.amazon.awssdk.services.connect.model.CreatePromptRequest;
import software.amazon.awssdk.services.connect.model.CreatePromptResponse;
import software.amazon.awssdk.services.connect.model.CreateQueueRequest;
import software.amazon.awssdk.services.connect.model.CreateQueueResponse;
import software.amazon.awssdk.services.connect.model.CreateQuickConnectRequest;
import software.amazon.awssdk.services.connect.model.CreateQuickConnectResponse;
import software.amazon.awssdk.services.connect.model.CreateRoutingProfileRequest;
import software.amazon.awssdk.services.connect.model.CreateRoutingProfileResponse;
import software.amazon.awssdk.services.connect.model.CreateRuleRequest;
import software.amazon.awssdk.services.connect.model.CreateRuleResponse;
import software.amazon.awssdk.services.connect.model.CreateSecurityProfileRequest;
import software.amazon.awssdk.services.connect.model.CreateSecurityProfileResponse;
import software.amazon.awssdk.services.connect.model.CreateTaskTemplateRequest;
import software.amazon.awssdk.services.connect.model.CreateTaskTemplateResponse;
import software.amazon.awssdk.services.connect.model.CreateTrafficDistributionGroupRequest;
import software.amazon.awssdk.services.connect.model.CreateTrafficDistributionGroupResponse;
import software.amazon.awssdk.services.connect.model.CreateUseCaseRequest;
import software.amazon.awssdk.services.connect.model.CreateUseCaseResponse;
import software.amazon.awssdk.services.connect.model.CreateUserHierarchyGroupRequest;
import software.amazon.awssdk.services.connect.model.CreateUserHierarchyGroupResponse;
import software.amazon.awssdk.services.connect.model.CreateUserRequest;
import software.amazon.awssdk.services.connect.model.CreateUserResponse;
import software.amazon.awssdk.services.connect.model.CreateViewRequest;
import software.amazon.awssdk.services.connect.model.CreateViewResponse;
import software.amazon.awssdk.services.connect.model.CreateViewVersionRequest;
import software.amazon.awssdk.services.connect.model.CreateViewVersionResponse;
import software.amazon.awssdk.services.connect.model.CreateVocabularyRequest;
import software.amazon.awssdk.services.connect.model.CreateVocabularyResponse;
import software.amazon.awssdk.services.connect.model.DeactivateEvaluationFormRequest;
import software.amazon.awssdk.services.connect.model.DeactivateEvaluationFormResponse;
import software.amazon.awssdk.services.connect.model.DeleteAttachedFileRequest;
import software.amazon.awssdk.services.connect.model.DeleteAttachedFileResponse;
import software.amazon.awssdk.services.connect.model.DeleteContactEvaluationRequest;
import software.amazon.awssdk.services.connect.model.DeleteContactEvaluationResponse;
import software.amazon.awssdk.services.connect.model.DeleteContactFlowModuleRequest;
import software.amazon.awssdk.services.connect.model.DeleteContactFlowModuleResponse;
import software.amazon.awssdk.services.connect.model.DeleteContactFlowRequest;
import software.amazon.awssdk.services.connect.model.DeleteContactFlowResponse;
import software.amazon.awssdk.services.connect.model.DeleteEvaluationFormRequest;
import software.amazon.awssdk.services.connect.model.DeleteEvaluationFormResponse;
import software.amazon.awssdk.services.connect.model.DeleteHoursOfOperationRequest;
import software.amazon.awssdk.services.connect.model.DeleteHoursOfOperationResponse;
import software.amazon.awssdk.services.connect.model.DeleteInstanceRequest;
import software.amazon.awssdk.services.connect.model.DeleteInstanceResponse;
import software.amazon.awssdk.services.connect.model.DeleteIntegrationAssociationRequest;
import software.amazon.awssdk.services.connect.model.DeleteIntegrationAssociationResponse;
import software.amazon.awssdk.services.connect.model.DeletePredefinedAttributeRequest;
import software.amazon.awssdk.services.connect.model.DeletePredefinedAttributeResponse;
import software.amazon.awssdk.services.connect.model.DeletePromptRequest;
import software.amazon.awssdk.services.connect.model.DeletePromptResponse;
import software.amazon.awssdk.services.connect.model.DeleteQueueRequest;
import software.amazon.awssdk.services.connect.model.DeleteQueueResponse;
import software.amazon.awssdk.services.connect.model.DeleteQuickConnectRequest;
import software.amazon.awssdk.services.connect.model.DeleteQuickConnectResponse;
import software.amazon.awssdk.services.connect.model.DeleteRoutingProfileRequest;
import software.amazon.awssdk.services.connect.model.DeleteRoutingProfileResponse;
import software.amazon.awssdk.services.connect.model.DeleteRuleRequest;
import software.amazon.awssdk.services.connect.model.DeleteRuleResponse;
import software.amazon.awssdk.services.connect.model.DeleteSecurityProfileRequest;
import software.amazon.awssdk.services.connect.model.DeleteSecurityProfileResponse;
import software.amazon.awssdk.services.connect.model.DeleteTaskTemplateRequest;
import software.amazon.awssdk.services.connect.model.DeleteTaskTemplateResponse;
import software.amazon.awssdk.services.connect.model.DeleteTrafficDistributionGroupRequest;
import software.amazon.awssdk.services.connect.model.DeleteTrafficDistributionGroupResponse;
import software.amazon.awssdk.services.connect.model.DeleteUseCaseRequest;
import software.amazon.awssdk.services.connect.model.DeleteUseCaseResponse;
import software.amazon.awssdk.services.connect.model.DeleteUserHierarchyGroupRequest;
import software.amazon.awssdk.services.connect.model.DeleteUserHierarchyGroupResponse;
import software.amazon.awssdk.services.connect.model.DeleteUserRequest;
import software.amazon.awssdk.services.connect.model.DeleteUserResponse;
import software.amazon.awssdk.services.connect.model.DeleteViewRequest;
import software.amazon.awssdk.services.connect.model.DeleteViewResponse;
import software.amazon.awssdk.services.connect.model.DeleteViewVersionRequest;
import software.amazon.awssdk.services.connect.model.DeleteViewVersionResponse;
import software.amazon.awssdk.services.connect.model.DeleteVocabularyRequest;
import software.amazon.awssdk.services.connect.model.DeleteVocabularyResponse;
import software.amazon.awssdk.services.connect.model.DescribeAgentStatusRequest;
import software.amazon.awssdk.services.connect.model.DescribeAgentStatusResponse;
import software.amazon.awssdk.services.connect.model.DescribeAuthenticationProfileRequest;
import software.amazon.awssdk.services.connect.model.DescribeAuthenticationProfileResponse;
import software.amazon.awssdk.services.connect.model.DescribeContactEvaluationRequest;
import software.amazon.awssdk.services.connect.model.DescribeContactEvaluationResponse;
import software.amazon.awssdk.services.connect.model.DescribeContactFlowModuleRequest;
import software.amazon.awssdk.services.connect.model.DescribeContactFlowModuleResponse;
import software.amazon.awssdk.services.connect.model.DescribeContactFlowRequest;
import software.amazon.awssdk.services.connect.model.DescribeContactFlowResponse;
import software.amazon.awssdk.services.connect.model.DescribeContactRequest;
import software.amazon.awssdk.services.connect.model.DescribeContactResponse;
import software.amazon.awssdk.services.connect.model.DescribeEvaluationFormRequest;
import software.amazon.awssdk.services.connect.model.DescribeEvaluationFormResponse;
import software.amazon.awssdk.services.connect.model.DescribeHoursOfOperationRequest;
import software.amazon.awssdk.services.connect.model.DescribeHoursOfOperationResponse;
import software.amazon.awssdk.services.connect.model.DescribeInstanceAttributeRequest;
import software.amazon.awssdk.services.connect.model.DescribeInstanceAttributeResponse;
import software.amazon.awssdk.services.connect.model.DescribeInstanceRequest;
import software.amazon.awssdk.services.connect.model.DescribeInstanceResponse;
import software.amazon.awssdk.services.connect.model.DescribeInstanceStorageConfigRequest;
import software.amazon.awssdk.services.connect.model.DescribeInstanceStorageConfigResponse;
import software.amazon.awssdk.services.connect.model.DescribePhoneNumberRequest;
import software.amazon.awssdk.services.connect.model.DescribePhoneNumberResponse;
import software.amazon.awssdk.services.connect.model.DescribePredefinedAttributeRequest;
import software.amazon.awssdk.services.connect.model.DescribePredefinedAttributeResponse;
import software.amazon.awssdk.services.connect.model.DescribePromptRequest;
import software.amazon.awssdk.services.connect.model.DescribePromptResponse;
import software.amazon.awssdk.services.connect.model.DescribeQueueRequest;
import software.amazon.awssdk.services.connect.model.DescribeQueueResponse;
import software.amazon.awssdk.services.connect.model.DescribeQuickConnectRequest;
import software.amazon.awssdk.services.connect.model.DescribeQuickConnectResponse;
import software.amazon.awssdk.services.connect.model.DescribeRoutingProfileRequest;
import software.amazon.awssdk.services.connect.model.DescribeRoutingProfileResponse;
import software.amazon.awssdk.services.connect.model.DescribeRuleRequest;
import software.amazon.awssdk.services.connect.model.DescribeRuleResponse;
import software.amazon.awssdk.services.connect.model.DescribeSecurityProfileRequest;
import software.amazon.awssdk.services.connect.model.DescribeSecurityProfileResponse;
import software.amazon.awssdk.services.connect.model.DescribeTrafficDistributionGroupRequest;
import software.amazon.awssdk.services.connect.model.DescribeTrafficDistributionGroupResponse;
import software.amazon.awssdk.services.connect.model.DescribeUserHierarchyGroupRequest;
import software.amazon.awssdk.services.connect.model.DescribeUserHierarchyGroupResponse;
import software.amazon.awssdk.services.connect.model.DescribeUserHierarchyStructureRequest;
import software.amazon.awssdk.services.connect.model.DescribeUserHierarchyStructureResponse;
import software.amazon.awssdk.services.connect.model.DescribeUserRequest;
import software.amazon.awssdk.services.connect.model.DescribeUserResponse;
import software.amazon.awssdk.services.connect.model.DescribeViewRequest;
import software.amazon.awssdk.services.connect.model.DescribeViewResponse;
import software.amazon.awssdk.services.connect.model.DescribeVocabularyRequest;
import software.amazon.awssdk.services.connect.model.DescribeVocabularyResponse;
import software.amazon.awssdk.services.connect.model.DestinationNotAllowedException;
import software.amazon.awssdk.services.connect.model.DisassociateAnalyticsDataSetRequest;
import software.amazon.awssdk.services.connect.model.DisassociateAnalyticsDataSetResponse;
import software.amazon.awssdk.services.connect.model.DisassociateApprovedOriginRequest;
import software.amazon.awssdk.services.connect.model.DisassociateApprovedOriginResponse;
import software.amazon.awssdk.services.connect.model.DisassociateBotRequest;
import software.amazon.awssdk.services.connect.model.DisassociateBotResponse;
import software.amazon.awssdk.services.connect.model.DisassociateFlowRequest;
import software.amazon.awssdk.services.connect.model.DisassociateFlowResponse;
import software.amazon.awssdk.services.connect.model.DisassociateInstanceStorageConfigRequest;
import software.amazon.awssdk.services.connect.model.DisassociateInstanceStorageConfigResponse;
import software.amazon.awssdk.services.connect.model.DisassociateLambdaFunctionRequest;
import software.amazon.awssdk.services.connect.model.DisassociateLambdaFunctionResponse;
import software.amazon.awssdk.services.connect.model.DisassociateLexBotRequest;
import software.amazon.awssdk.services.connect.model.DisassociateLexBotResponse;
import software.amazon.awssdk.services.connect.model.DisassociatePhoneNumberContactFlowRequest;
import software.amazon.awssdk.services.connect.model.DisassociatePhoneNumberContactFlowResponse;
import software.amazon.awssdk.services.connect.model.DisassociateQueueQuickConnectsRequest;
import software.amazon.awssdk.services.connect.model.DisassociateQueueQuickConnectsResponse;
import software.amazon.awssdk.services.connect.model.DisassociateRoutingProfileQueuesRequest;
import software.amazon.awssdk.services.connect.model.DisassociateRoutingProfileQueuesResponse;
import software.amazon.awssdk.services.connect.model.DisassociateSecurityKeyRequest;
import software.amazon.awssdk.services.connect.model.DisassociateSecurityKeyResponse;
import software.amazon.awssdk.services.connect.model.DisassociateTrafficDistributionGroupUserRequest;
import software.amazon.awssdk.services.connect.model.DisassociateTrafficDistributionGroupUserResponse;
import software.amazon.awssdk.services.connect.model.DisassociateUserProficienciesRequest;
import software.amazon.awssdk.services.connect.model.DisassociateUserProficienciesResponse;
import software.amazon.awssdk.services.connect.model.DismissUserContactRequest;
import software.amazon.awssdk.services.connect.model.DismissUserContactResponse;
import software.amazon.awssdk.services.connect.model.DuplicateResourceException;
import software.amazon.awssdk.services.connect.model.GetAttachedFileRequest;
import software.amazon.awssdk.services.connect.model.GetAttachedFileResponse;
import software.amazon.awssdk.services.connect.model.GetContactAttributesRequest;
import software.amazon.awssdk.services.connect.model.GetContactAttributesResponse;
import software.amazon.awssdk.services.connect.model.GetCurrentMetricDataRequest;
import software.amazon.awssdk.services.connect.model.GetCurrentMetricDataResponse;
import software.amazon.awssdk.services.connect.model.GetCurrentUserDataRequest;
import software.amazon.awssdk.services.connect.model.GetCurrentUserDataResponse;
import software.amazon.awssdk.services.connect.model.GetFederationTokenRequest;
import software.amazon.awssdk.services.connect.model.GetFederationTokenResponse;
import software.amazon.awssdk.services.connect.model.GetFlowAssociationRequest;
import software.amazon.awssdk.services.connect.model.GetFlowAssociationResponse;
import software.amazon.awssdk.services.connect.model.GetMetricDataRequest;
import software.amazon.awssdk.services.connect.model.GetMetricDataResponse;
import software.amazon.awssdk.services.connect.model.GetMetricDataV2Request;
import software.amazon.awssdk.services.connect.model.GetMetricDataV2Response;
import software.amazon.awssdk.services.connect.model.GetPromptFileRequest;
import software.amazon.awssdk.services.connect.model.GetPromptFileResponse;
import software.amazon.awssdk.services.connect.model.GetTaskTemplateRequest;
import software.amazon.awssdk.services.connect.model.GetTaskTemplateResponse;
import software.amazon.awssdk.services.connect.model.GetTrafficDistributionRequest;
import software.amazon.awssdk.services.connect.model.GetTrafficDistributionResponse;
import software.amazon.awssdk.services.connect.model.IdempotencyException;
import software.amazon.awssdk.services.connect.model.ImportPhoneNumberRequest;
import software.amazon.awssdk.services.connect.model.ImportPhoneNumberResponse;
import software.amazon.awssdk.services.connect.model.InternalServiceException;
import software.amazon.awssdk.services.connect.model.InvalidContactFlowException;
import software.amazon.awssdk.services.connect.model.InvalidContactFlowModuleException;
import software.amazon.awssdk.services.connect.model.InvalidParameterException;
import software.amazon.awssdk.services.connect.model.InvalidRequestException;
import software.amazon.awssdk.services.connect.model.LimitExceededException;
import software.amazon.awssdk.services.connect.model.ListAgentStatusesRequest;
import software.amazon.awssdk.services.connect.model.ListAgentStatusesResponse;
import software.amazon.awssdk.services.connect.model.ListAnalyticsDataAssociationsRequest;
import software.amazon.awssdk.services.connect.model.ListAnalyticsDataAssociationsResponse;
import software.amazon.awssdk.services.connect.model.ListApprovedOriginsRequest;
import software.amazon.awssdk.services.connect.model.ListApprovedOriginsResponse;
import software.amazon.awssdk.services.connect.model.ListAuthenticationProfilesRequest;
import software.amazon.awssdk.services.connect.model.ListAuthenticationProfilesResponse;
import software.amazon.awssdk.services.connect.model.ListBotsRequest;
import software.amazon.awssdk.services.connect.model.ListBotsResponse;
import software.amazon.awssdk.services.connect.model.ListContactEvaluationsRequest;
import software.amazon.awssdk.services.connect.model.ListContactEvaluationsResponse;
import software.amazon.awssdk.services.connect.model.ListContactFlowModulesRequest;
import software.amazon.awssdk.services.connect.model.ListContactFlowModulesResponse;
import software.amazon.awssdk.services.connect.model.ListContactFlowsRequest;
import software.amazon.awssdk.services.connect.model.ListContactFlowsResponse;
import software.amazon.awssdk.services.connect.model.ListContactReferencesRequest;
import software.amazon.awssdk.services.connect.model.ListContactReferencesResponse;
import software.amazon.awssdk.services.connect.model.ListDefaultVocabulariesRequest;
import software.amazon.awssdk.services.connect.model.ListDefaultVocabulariesResponse;
import software.amazon.awssdk.services.connect.model.ListEvaluationFormVersionsRequest;
import software.amazon.awssdk.services.connect.model.ListEvaluationFormVersionsResponse;
import software.amazon.awssdk.services.connect.model.ListEvaluationFormsRequest;
import software.amazon.awssdk.services.connect.model.ListEvaluationFormsResponse;
import software.amazon.awssdk.services.connect.model.ListFlowAssociationsRequest;
import software.amazon.awssdk.services.connect.model.ListFlowAssociationsResponse;
import software.amazon.awssdk.services.connect.model.ListHoursOfOperationsRequest;
import software.amazon.awssdk.services.connect.model.ListHoursOfOperationsResponse;
import software.amazon.awssdk.services.connect.model.ListInstanceAttributesRequest;
import software.amazon.awssdk.services.connect.model.ListInstanceAttributesResponse;
import software.amazon.awssdk.services.connect.model.ListInstanceStorageConfigsRequest;
import software.amazon.awssdk.services.connect.model.ListInstanceStorageConfigsResponse;
import software.amazon.awssdk.services.connect.model.ListInstancesRequest;
import software.amazon.awssdk.services.connect.model.ListInstancesResponse;
import software.amazon.awssdk.services.connect.model.ListIntegrationAssociationsRequest;
import software.amazon.awssdk.services.connect.model.ListIntegrationAssociationsResponse;
import software.amazon.awssdk.services.connect.model.ListLambdaFunctionsRequest;
import software.amazon.awssdk.services.connect.model.ListLambdaFunctionsResponse;
import software.amazon.awssdk.services.connect.model.ListLexBotsRequest;
import software.amazon.awssdk.services.connect.model.ListLexBotsResponse;
import software.amazon.awssdk.services.connect.model.ListPhoneNumbersRequest;
import software.amazon.awssdk.services.connect.model.ListPhoneNumbersResponse;
import software.amazon.awssdk.services.connect.model.ListPhoneNumbersV2Request;
import software.amazon.awssdk.services.connect.model.ListPhoneNumbersV2Response;
import software.amazon.awssdk.services.connect.model.ListPredefinedAttributesRequest;
import software.amazon.awssdk.services.connect.model.ListPredefinedAttributesResponse;
import software.amazon.awssdk.services.connect.model.ListPromptsRequest;
import software.amazon.awssdk.services.connect.model.ListPromptsResponse;
import software.amazon.awssdk.services.connect.model.ListQueueQuickConnectsRequest;
import software.amazon.awssdk.services.connect.model.ListQueueQuickConnectsResponse;
import software.amazon.awssdk.services.connect.model.ListQueuesRequest;
import software.amazon.awssdk.services.connect.model.ListQueuesResponse;
import software.amazon.awssdk.services.connect.model.ListQuickConnectsRequest;
import software.amazon.awssdk.services.connect.model.ListQuickConnectsResponse;
import software.amazon.awssdk.services.connect.model.ListRealtimeContactAnalysisSegmentsV2Request;
import software.amazon.awssdk.services.connect.model.ListRealtimeContactAnalysisSegmentsV2Response;
import software.amazon.awssdk.services.connect.model.ListRoutingProfileQueuesRequest;
import software.amazon.awssdk.services.connect.model.ListRoutingProfileQueuesResponse;
import software.amazon.awssdk.services.connect.model.ListRoutingProfilesRequest;
import software.amazon.awssdk.services.connect.model.ListRoutingProfilesResponse;
import software.amazon.awssdk.services.connect.model.ListRulesRequest;
import software.amazon.awssdk.services.connect.model.ListRulesResponse;
import software.amazon.awssdk.services.connect.model.ListSecurityKeysRequest;
import software.amazon.awssdk.services.connect.model.ListSecurityKeysResponse;
import software.amazon.awssdk.services.connect.model.ListSecurityProfileApplicationsRequest;
import software.amazon.awssdk.services.connect.model.ListSecurityProfileApplicationsResponse;
import software.amazon.awssdk.services.connect.model.ListSecurityProfilePermissionsRequest;
import software.amazon.awssdk.services.connect.model.ListSecurityProfilePermissionsResponse;
import software.amazon.awssdk.services.connect.model.ListSecurityProfilesRequest;
import software.amazon.awssdk.services.connect.model.ListSecurityProfilesResponse;
import software.amazon.awssdk.services.connect.model.ListTagsForResourceRequest;
import software.amazon.awssdk.services.connect.model.ListTagsForResourceResponse;
import software.amazon.awssdk.services.connect.model.ListTaskTemplatesRequest;
import software.amazon.awssdk.services.connect.model.ListTaskTemplatesResponse;
import software.amazon.awssdk.services.connect.model.ListTrafficDistributionGroupUsersRequest;
import software.amazon.awssdk.services.connect.model.ListTrafficDistributionGroupUsersResponse;
import software.amazon.awssdk.services.connect.model.ListTrafficDistributionGroupsRequest;
import software.amazon.awssdk.services.connect.model.ListTrafficDistributionGroupsResponse;
import software.amazon.awssdk.services.connect.model.ListUseCasesRequest;
import software.amazon.awssdk.services.connect.model.ListUseCasesResponse;
import software.amazon.awssdk.services.connect.model.ListUserHierarchyGroupsRequest;
import software.amazon.awssdk.services.connect.model.ListUserHierarchyGroupsResponse;
import software.amazon.awssdk.services.connect.model.ListUserProficienciesRequest;
import software.amazon.awssdk.services.connect.model.ListUserProficienciesResponse;
import software.amazon.awssdk.services.connect.model.ListUsersRequest;
import software.amazon.awssdk.services.connect.model.ListUsersResponse;
import software.amazon.awssdk.services.connect.model.ListViewVersionsRequest;
import software.amazon.awssdk.services.connect.model.ListViewVersionsResponse;
import software.amazon.awssdk.services.connect.model.ListViewsRequest;
import software.amazon.awssdk.services.connect.model.ListViewsResponse;
import software.amazon.awssdk.services.connect.model.MaximumResultReturnedException;
import software.amazon.awssdk.services.connect.model.MonitorContactRequest;
import software.amazon.awssdk.services.connect.model.MonitorContactResponse;
import software.amazon.awssdk.services.connect.model.OutboundContactNotPermittedException;
import software.amazon.awssdk.services.connect.model.OutputTypeNotFoundException;
import software.amazon.awssdk.services.connect.model.PauseContactRequest;
import software.amazon.awssdk.services.connect.model.PauseContactResponse;
import software.amazon.awssdk.services.connect.model.PropertyValidationException;
import software.amazon.awssdk.services.connect.model.PutUserStatusRequest;
import software.amazon.awssdk.services.connect.model.PutUserStatusResponse;
import software.amazon.awssdk.services.connect.model.ReleasePhoneNumberRequest;
import software.amazon.awssdk.services.connect.model.ReleasePhoneNumberResponse;
import software.amazon.awssdk.services.connect.model.ReplicateInstanceRequest;
import software.amazon.awssdk.services.connect.model.ReplicateInstanceResponse;
import software.amazon.awssdk.services.connect.model.ResourceConflictException;
import software.amazon.awssdk.services.connect.model.ResourceInUseException;
import software.amazon.awssdk.services.connect.model.ResourceNotFoundException;
import software.amazon.awssdk.services.connect.model.ResourceNotReadyException;
import software.amazon.awssdk.services.connect.model.ResumeContactRecordingRequest;
import software.amazon.awssdk.services.connect.model.ResumeContactRecordingResponse;
import software.amazon.awssdk.services.connect.model.ResumeContactRequest;
import software.amazon.awssdk.services.connect.model.ResumeContactResponse;
import software.amazon.awssdk.services.connect.model.SearchAgentStatusesRequest;
import software.amazon.awssdk.services.connect.model.SearchAgentStatusesResponse;
import software.amazon.awssdk.services.connect.model.SearchAvailablePhoneNumbersRequest;
import software.amazon.awssdk.services.connect.model.SearchAvailablePhoneNumbersResponse;
import software.amazon.awssdk.services.connect.model.SearchContactFlowModulesRequest;
import software.amazon.awssdk.services.connect.model.SearchContactFlowModulesResponse;
import software.amazon.awssdk.services.connect.model.SearchContactFlowsRequest;
import software.amazon.awssdk.services.connect.model.SearchContactFlowsResponse;
import software.amazon.awssdk.services.connect.model.SearchContactsRequest;
import software.amazon.awssdk.services.connect.model.SearchContactsResponse;
import software.amazon.awssdk.services.connect.model.SearchHoursOfOperationsRequest;
import software.amazon.awssdk.services.connect.model.SearchHoursOfOperationsResponse;
import software.amazon.awssdk.services.connect.model.SearchPredefinedAttributesRequest;
import software.amazon.awssdk.services.connect.model.SearchPredefinedAttributesResponse;
import software.amazon.awssdk.services.connect.model.SearchPromptsRequest;
import software.amazon.awssdk.services.connect.model.SearchPromptsResponse;
import software.amazon.awssdk.services.connect.model.SearchQueuesRequest;
import software.amazon.awssdk.services.connect.model.SearchQueuesResponse;
import software.amazon.awssdk.services.connect.model.SearchQuickConnectsRequest;
import software.amazon.awssdk.services.connect.model.SearchQuickConnectsResponse;
import software.amazon.awssdk.services.connect.model.SearchResourceTagsRequest;
import software.amazon.awssdk.services.connect.model.SearchResourceTagsResponse;
import software.amazon.awssdk.services.connect.model.SearchRoutingProfilesRequest;
import software.amazon.awssdk.services.connect.model.SearchRoutingProfilesResponse;
import software.amazon.awssdk.services.connect.model.SearchSecurityProfilesRequest;
import software.amazon.awssdk.services.connect.model.SearchSecurityProfilesResponse;
import software.amazon.awssdk.services.connect.model.SearchUserHierarchyGroupsRequest;
import software.amazon.awssdk.services.connect.model.SearchUserHierarchyGroupsResponse;
import software.amazon.awssdk.services.connect.model.SearchUsersRequest;
import software.amazon.awssdk.services.connect.model.SearchUsersResponse;
import software.amazon.awssdk.services.connect.model.SearchVocabulariesRequest;
import software.amazon.awssdk.services.connect.model.SearchVocabulariesResponse;
import software.amazon.awssdk.services.connect.model.SendChatIntegrationEventRequest;
import software.amazon.awssdk.services.connect.model.SendChatIntegrationEventResponse;
import software.amazon.awssdk.services.connect.model.ServiceQuotaExceededException;
import software.amazon.awssdk.services.connect.model.StartAttachedFileUploadRequest;
import software.amazon.awssdk.services.connect.model.StartAttachedFileUploadResponse;
import software.amazon.awssdk.services.connect.model.StartChatContactRequest;
import software.amazon.awssdk.services.connect.model.StartChatContactResponse;
import software.amazon.awssdk.services.connect.model.StartContactEvaluationRequest;
import software.amazon.awssdk.services.connect.model.StartContactEvaluationResponse;
import software.amazon.awssdk.services.connect.model.StartContactRecordingRequest;
import software.amazon.awssdk.services.connect.model.StartContactRecordingResponse;
import software.amazon.awssdk.services.connect.model.StartContactStreamingRequest;
import software.amazon.awssdk.services.connect.model.StartContactStreamingResponse;
import software.amazon.awssdk.services.connect.model.StartOutboundVoiceContactRequest;
import software.amazon.awssdk.services.connect.model.StartOutboundVoiceContactResponse;
import software.amazon.awssdk.services.connect.model.StartTaskContactRequest;
import software.amazon.awssdk.services.connect.model.StartTaskContactResponse;
import software.amazon.awssdk.services.connect.model.StartWebRtcContactRequest;
import software.amazon.awssdk.services.connect.model.StartWebRtcContactResponse;
import software.amazon.awssdk.services.connect.model.StopContactRecordingRequest;
import software.amazon.awssdk.services.connect.model.StopContactRecordingResponse;
import software.amazon.awssdk.services.connect.model.StopContactRequest;
import software.amazon.awssdk.services.connect.model.StopContactResponse;
import software.amazon.awssdk.services.connect.model.StopContactStreamingRequest;
import software.amazon.awssdk.services.connect.model.StopContactStreamingResponse;
import software.amazon.awssdk.services.connect.model.SubmitContactEvaluationRequest;
import software.amazon.awssdk.services.connect.model.SubmitContactEvaluationResponse;
import software.amazon.awssdk.services.connect.model.SuspendContactRecordingRequest;
import software.amazon.awssdk.services.connect.model.SuspendContactRecordingResponse;
import software.amazon.awssdk.services.connect.model.TagContactRequest;
import software.amazon.awssdk.services.connect.model.TagContactResponse;
import software.amazon.awssdk.services.connect.model.TagResourceRequest;
import software.amazon.awssdk.services.connect.model.TagResourceResponse;
import software.amazon.awssdk.services.connect.model.ThrottlingException;
import software.amazon.awssdk.services.connect.model.TooManyRequestsException;
import software.amazon.awssdk.services.connect.model.TransferContactRequest;
import software.amazon.awssdk.services.connect.model.TransferContactResponse;
import software.amazon.awssdk.services.connect.model.UntagContactRequest;
import software.amazon.awssdk.services.connect.model.UntagContactResponse;
import software.amazon.awssdk.services.connect.model.UntagResourceRequest;
import software.amazon.awssdk.services.connect.model.UntagResourceResponse;
import software.amazon.awssdk.services.connect.model.UpdateAgentStatusRequest;
import software.amazon.awssdk.services.connect.model.UpdateAgentStatusResponse;
import software.amazon.awssdk.services.connect.model.UpdateAuthenticationProfileRequest;
import software.amazon.awssdk.services.connect.model.UpdateAuthenticationProfileResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactAttributesRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactAttributesResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactEvaluationRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactEvaluationResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowContentRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowContentResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowMetadataRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowMetadataResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowModuleContentRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowModuleContentResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowModuleMetadataRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowModuleMetadataResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowNameRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactFlowNameResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactRoutingDataRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactRoutingDataResponse;
import software.amazon.awssdk.services.connect.model.UpdateContactScheduleRequest;
import software.amazon.awssdk.services.connect.model.UpdateContactScheduleResponse;
import software.amazon.awssdk.services.connect.model.UpdateEvaluationFormRequest;
import software.amazon.awssdk.services.connect.model.UpdateEvaluationFormResponse;
import software.amazon.awssdk.services.connect.model.UpdateHoursOfOperationRequest;
import software.amazon.awssdk.services.connect.model.UpdateHoursOfOperationResponse;
import software.amazon.awssdk.services.connect.model.UpdateInstanceAttributeRequest;
import software.amazon.awssdk.services.connect.model.UpdateInstanceAttributeResponse;
import software.amazon.awssdk.services.connect.model.UpdateInstanceStorageConfigRequest;
import software.amazon.awssdk.services.connect.model.UpdateInstanceStorageConfigResponse;
import software.amazon.awssdk.services.connect.model.UpdateParticipantRoleConfigRequest;
import software.amazon.awssdk.services.connect.model.UpdateParticipantRoleConfigResponse;
import software.amazon.awssdk.services.connect.model.UpdatePhoneNumberMetadataRequest;
import software.amazon.awssdk.services.connect.model.UpdatePhoneNumberMetadataResponse;
import software.amazon.awssdk.services.connect.model.UpdatePhoneNumberRequest;
import software.amazon.awssdk.services.connect.model.UpdatePhoneNumberResponse;
import software.amazon.awssdk.services.connect.model.UpdatePredefinedAttributeRequest;
import software.amazon.awssdk.services.connect.model.UpdatePredefinedAttributeResponse;
import software.amazon.awssdk.services.connect.model.UpdatePromptRequest;
import software.amazon.awssdk.services.connect.model.UpdatePromptResponse;
import software.amazon.awssdk.services.connect.model.UpdateQueueHoursOfOperationRequest;
import software.amazon.awssdk.services.connect.model.UpdateQueueHoursOfOperationResponse;
import software.amazon.awssdk.services.connect.model.UpdateQueueMaxContactsRequest;
import software.amazon.awssdk.services.connect.model.UpdateQueueMaxContactsResponse;
import software.amazon.awssdk.services.connect.model.UpdateQueueNameRequest;
import software.amazon.awssdk.services.connect.model.UpdateQueueNameResponse;
import software.amazon.awssdk.services.connect.model.UpdateQueueOutboundCallerConfigRequest;
import software.amazon.awssdk.services.connect.model.UpdateQueueOutboundCallerConfigResponse;
import software.amazon.awssdk.services.connect.model.UpdateQueueStatusRequest;
import software.amazon.awssdk.services.connect.model.UpdateQueueStatusResponse;
import software.amazon.awssdk.services.connect.model.UpdateQuickConnectConfigRequest;
import software.amazon.awssdk.services.connect.model.UpdateQuickConnectConfigResponse;
import software.amazon.awssdk.services.connect.model.UpdateQuickConnectNameRequest;
import software.amazon.awssdk.services.connect.model.UpdateQuickConnectNameResponse;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileAgentAvailabilityTimerRequest;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileAgentAvailabilityTimerResponse;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileConcurrencyRequest;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileConcurrencyResponse;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileDefaultOutboundQueueRequest;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileDefaultOutboundQueueResponse;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileNameRequest;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileNameResponse;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileQueuesRequest;
import software.amazon.awssdk.services.connect.model.UpdateRoutingProfileQueuesResponse;
import software.amazon.awssdk.services.connect.model.UpdateRuleRequest;
import software.amazon.awssdk.services.connect.model.UpdateRuleResponse;
import software.amazon.awssdk.services.connect.model.UpdateSecurityProfileRequest;
import software.amazon.awssdk.services.connect.model.UpdateSecurityProfileResponse;
import software.amazon.awssdk.services.connect.model.UpdateTaskTemplateRequest;
import software.amazon.awssdk.services.connect.model.UpdateTaskTemplateResponse;
import software.amazon.awssdk.services.connect.model.UpdateTrafficDistributionRequest;
import software.amazon.awssdk.services.connect.model.UpdateTrafficDistributionResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserHierarchyGroupNameRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserHierarchyGroupNameResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserHierarchyRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserHierarchyResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserHierarchyStructureRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserHierarchyStructureResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserIdentityInfoRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserIdentityInfoResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserPhoneConfigRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserPhoneConfigResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserProficienciesRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserProficienciesResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserRoutingProfileRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserRoutingProfileResponse;
import software.amazon.awssdk.services.connect.model.UpdateUserSecurityProfilesRequest;
import software.amazon.awssdk.services.connect.model.UpdateUserSecurityProfilesResponse;
import software.amazon.awssdk.services.connect.model.UpdateViewContentRequest;
import software.amazon.awssdk.services.connect.model.UpdateViewContentResponse;
import software.amazon.awssdk.services.connect.model.UpdateViewMetadataRequest;
import software.amazon.awssdk.services.connect.model.UpdateViewMetadataResponse;
import software.amazon.awssdk.services.connect.model.UserNotFoundException;
import software.amazon.awssdk.services.connect.transform.ActivateEvaluationFormRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateAnalyticsDataSetRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateApprovedOriginRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateBotRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateDefaultVocabularyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateFlowRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateInstanceStorageConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateLambdaFunctionRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateLexBotRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociatePhoneNumberContactFlowRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateQueueQuickConnectsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateRoutingProfileQueuesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateSecurityKeyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateTrafficDistributionGroupUserRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.AssociateUserProficienciesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.BatchAssociateAnalyticsDataSetRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.BatchDisassociateAnalyticsDataSetRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.BatchGetAttachedFileMetadataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.BatchGetFlowAssociationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.BatchPutContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ClaimPhoneNumberRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CompleteAttachedFileUploadRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateAgentStatusRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateContactFlowModuleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateContactFlowRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateEvaluationFormRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateHoursOfOperationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateInstanceRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateIntegrationAssociationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateParticipantRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreatePersistentContactAssociationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreatePredefinedAttributeRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreatePromptRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateQueueRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateQuickConnectRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateRoutingProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateRuleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateSecurityProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateTaskTemplateRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateTrafficDistributionGroupRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateUseCaseRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateUserHierarchyGroupRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateUserRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateViewRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateViewVersionRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.CreateVocabularyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeactivateEvaluationFormRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteAttachedFileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteContactEvaluationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteContactFlowModuleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteContactFlowRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteEvaluationFormRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteHoursOfOperationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteInstanceRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteIntegrationAssociationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeletePredefinedAttributeRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeletePromptRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteQueueRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteQuickConnectRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteRoutingProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteRuleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteSecurityProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteTaskTemplateRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteTrafficDistributionGroupRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteUseCaseRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteUserHierarchyGroupRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteUserRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteViewRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteViewVersionRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DeleteVocabularyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeAgentStatusRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeAuthenticationProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeContactEvaluationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeContactFlowModuleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeContactFlowRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeEvaluationFormRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeHoursOfOperationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeInstanceAttributeRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeInstanceRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeInstanceStorageConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribePhoneNumberRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribePredefinedAttributeRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribePromptRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeQueueRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeQuickConnectRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeRoutingProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeRuleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeSecurityProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeTrafficDistributionGroupRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeUserHierarchyGroupRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeUserHierarchyStructureRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeUserRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeViewRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DescribeVocabularyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateAnalyticsDataSetRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateApprovedOriginRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateBotRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateFlowRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateInstanceStorageConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateLambdaFunctionRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateLexBotRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociatePhoneNumberContactFlowRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateQueueQuickConnectsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateRoutingProfileQueuesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateSecurityKeyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateTrafficDistributionGroupUserRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DisassociateUserProficienciesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.DismissUserContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetAttachedFileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetContactAttributesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetCurrentMetricDataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetCurrentUserDataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetFederationTokenRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetFlowAssociationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetMetricDataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetMetricDataV2RequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetPromptFileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetTaskTemplateRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.GetTrafficDistributionRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ImportPhoneNumberRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListAgentStatusesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListAnalyticsDataAssociationsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListApprovedOriginsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListAuthenticationProfilesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListBotsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListContactEvaluationsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListContactFlowModulesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListContactFlowsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListContactReferencesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListDefaultVocabulariesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListEvaluationFormVersionsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListEvaluationFormsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListFlowAssociationsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListHoursOfOperationsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListInstanceAttributesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListInstanceStorageConfigsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListInstancesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListIntegrationAssociationsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListLambdaFunctionsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListLexBotsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListPhoneNumbersRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListPhoneNumbersV2RequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListPredefinedAttributesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListPromptsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListQueueQuickConnectsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListQueuesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListQuickConnectsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListRealtimeContactAnalysisSegmentsV2RequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListRoutingProfileQueuesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListRoutingProfilesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListRulesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListSecurityKeysRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListSecurityProfileApplicationsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListSecurityProfilePermissionsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListSecurityProfilesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListTagsForResourceRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListTaskTemplatesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListTrafficDistributionGroupUsersRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListTrafficDistributionGroupsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListUseCasesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListUserHierarchyGroupsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListUserProficienciesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListUsersRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListViewVersionsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ListViewsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.MonitorContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.PauseContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.PutUserStatusRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ReleasePhoneNumberRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ReplicateInstanceRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ResumeContactRecordingRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.ResumeContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchAgentStatusesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchAvailablePhoneNumbersRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchContactFlowModulesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchContactFlowsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchContactsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchHoursOfOperationsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchPredefinedAttributesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchPromptsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchQueuesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchQuickConnectsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchResourceTagsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchRoutingProfilesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchSecurityProfilesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchUserHierarchyGroupsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchUsersRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SearchVocabulariesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SendChatIntegrationEventRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartAttachedFileUploadRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartChatContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartContactEvaluationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartContactRecordingRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartContactStreamingRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartOutboundVoiceContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartTaskContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StartWebRtcContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StopContactRecordingRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StopContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.StopContactStreamingRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SubmitContactEvaluationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.SuspendContactRecordingRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.TagContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.TagResourceRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.TransferContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UntagContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UntagResourceRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateAgentStatusRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateAuthenticationProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactAttributesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactEvaluationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactFlowContentRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactFlowMetadataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactFlowModuleContentRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactFlowModuleMetadataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactFlowNameRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactRoutingDataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateContactScheduleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateEvaluationFormRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateHoursOfOperationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateInstanceAttributeRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateInstanceStorageConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateParticipantRoleConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdatePhoneNumberMetadataRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdatePhoneNumberRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdatePredefinedAttributeRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdatePromptRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateQueueHoursOfOperationRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateQueueMaxContactsRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateQueueNameRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateQueueOutboundCallerConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateQueueStatusRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateQuickConnectConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateQuickConnectNameRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateRoutingProfileAgentAvailabilityTimerRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateRoutingProfileConcurrencyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateRoutingProfileDefaultOutboundQueueRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateRoutingProfileNameRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateRoutingProfileQueuesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateRuleRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateSecurityProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateTaskTemplateRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateTrafficDistributionRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserHierarchyGroupNameRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserHierarchyRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserHierarchyStructureRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserIdentityInfoRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserPhoneConfigRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserProficienciesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserRoutingProfileRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateUserSecurityProfilesRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateViewContentRequestMarshaller;
import software.amazon.awssdk.services.connect.transform.UpdateViewMetadataRequestMarshaller;
import software.amazon.awssdk.utils.Logger;

/**
 * Internal implementation of {@link ConnectClient}.
 *
 * @see ConnectClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultConnectClient implements ConnectClient {
    private static final Logger log = Logger.loggerFor(DefaultConnectClient.class);

    private static final AwsProtocolMetadata protocolMetadata = AwsProtocolMetadata.builder()
            .serviceProtocol(AwsServiceProtocol.REST_JSON).build();

    private final SyncClientHandler clientHandler;

    private final AwsJsonProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultConnectClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration.toBuilder().option(SdkClientOption.SDK_CLIENT, this).build();
        this.protocolFactory = init(AwsJsonProtocolFactory.builder()).build();
    }

    /**
     * 

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ActivateEvaluationForm * @see AWS API Documentation */ @Override public ActivateEvaluationFormResponse activateEvaluationForm(ActivateEvaluationFormRequest activateEvaluationFormRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ActivateEvaluationFormResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(activateEvaluationFormRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, activateEvaluationFormRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ActivateEvaluationForm"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ActivateEvaluationForm").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(activateEvaluationFormRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ActivateEvaluationFormRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* Associates the specified dataset for a Amazon Connect instance with the target account. You can associate only * one dataset in a single call. *

* * @param associateAnalyticsDataSetRequest * @return Result of the AssociateAnalyticsDataSet 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateAnalyticsDataSet * @see AWS API Documentation */ @Override public AssociateAnalyticsDataSetResponse associateAnalyticsDataSet( AssociateAnalyticsDataSetRequest associateAnalyticsDataSetRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateAnalyticsDataSetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateAnalyticsDataSetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateAnalyticsDataSetRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateAnalyticsDataSet"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateAnalyticsDataSet").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateAnalyticsDataSetRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateAnalyticsDataSetRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateApprovedOrigin * @see AWS API Documentation */ @Override public AssociateApprovedOriginResponse associateApprovedOrigin(AssociateApprovedOriginRequest associateApprovedOriginRequest) throws ResourceNotFoundException, ResourceConflictException, InternalServiceException, InvalidRequestException, InvalidParameterException, ServiceQuotaExceededException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateApprovedOriginResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateApprovedOriginRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateApprovedOriginRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateApprovedOrigin"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateApprovedOrigin").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateApprovedOriginRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateApprovedOriginRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateBot * @see AWS API * Documentation */ @Override public AssociateBotResponse associateBot(AssociateBotRequest associateBotRequest) throws ResourceNotFoundException, ResourceConflictException, InternalServiceException, InvalidRequestException, LimitExceededException, ServiceQuotaExceededException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AssociateBotResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateBotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateBotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateBot"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AssociateBot").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateBotRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateBotRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateDefaultVocabulary * @see AWS API Documentation */ @Override public AssociateDefaultVocabularyResponse associateDefaultVocabulary( AssociateDefaultVocabularyRequest associateDefaultVocabularyRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateDefaultVocabularyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateDefaultVocabularyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateDefaultVocabularyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateDefaultVocabulary"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateDefaultVocabulary").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateDefaultVocabularyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateDefaultVocabularyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Associates a connect resource to a flow. *

* * @param associateFlowRequest * @return Result of the AssociateFlow operation returned by the service. * @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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateFlow * @see AWS API * Documentation */ @Override public AssociateFlowResponse associateFlow(AssociateFlowRequest associateFlowRequest) throws AccessDeniedException, ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AssociateFlowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateFlowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateFlowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateFlow"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AssociateFlow").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateFlowRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateFlowRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateInstanceStorageConfig * @see AWS API Documentation */ @Override public AssociateInstanceStorageConfigResponse associateInstanceStorageConfig( AssociateInstanceStorageConfigRequest associateInstanceStorageConfigRequest) throws ResourceNotFoundException, ResourceConflictException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateInstanceStorageConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateInstanceStorageConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateInstanceStorageConfigRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateInstanceStorageConfig"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateInstanceStorageConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateInstanceStorageConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateInstanceStorageConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateLambdaFunction * @see AWS API Documentation */ @Override public AssociateLambdaFunctionResponse associateLambdaFunction(AssociateLambdaFunctionRequest associateLambdaFunctionRequest) throws ResourceNotFoundException, ResourceConflictException, InternalServiceException, InvalidRequestException, InvalidParameterException, ServiceQuotaExceededException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateLambdaFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateLambdaFunctionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateLambdaFunctionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateLambdaFunction"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateLambdaFunction").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateLambdaFunctionRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateLambdaFunctionRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateLexBot * @see AWS API * Documentation */ @Override public AssociateLexBotResponse associateLexBot(AssociateLexBotRequest associateLexBotRequest) throws ResourceNotFoundException, ResourceConflictException, InternalServiceException, InvalidRequestException, InvalidParameterException, ServiceQuotaExceededException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, AssociateLexBotResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateLexBotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateLexBotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateLexBot"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AssociateLexBot").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateLexBotRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateLexBotRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociatePhoneNumberContactFlow * @see AWS API Documentation */ @Override public AssociatePhoneNumberContactFlowResponse associatePhoneNumberContactFlow( AssociatePhoneNumberContactFlowRequest associatePhoneNumberContactFlowRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociatePhoneNumberContactFlowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associatePhoneNumberContactFlowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associatePhoneNumberContactFlowRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociatePhoneNumberContactFlow"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociatePhoneNumberContactFlow").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associatePhoneNumberContactFlowRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociatePhoneNumberContactFlowRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateQueueQuickConnects * @see AWS API Documentation */ @Override public AssociateQueueQuickConnectsResponse associateQueueQuickConnects( AssociateQueueQuickConnectsRequest associateQueueQuickConnectsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateQueueQuickConnectsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateQueueQuickConnectsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateQueueQuickConnectsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateQueueQuickConnects"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateQueueQuickConnects").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateQueueQuickConnectsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateQueueQuickConnectsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateRoutingProfileQueues * @see AWS API Documentation */ @Override public AssociateRoutingProfileQueuesResponse associateRoutingProfileQueues( AssociateRoutingProfileQueuesRequest associateRoutingProfileQueuesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateRoutingProfileQueuesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateRoutingProfileQueuesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateRoutingProfileQueuesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateRoutingProfileQueues"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateRoutingProfileQueues").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateRoutingProfileQueuesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateRoutingProfileQueuesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateSecurityKey * @see AWS * API Documentation */ @Override public AssociateSecurityKeyResponse associateSecurityKey(AssociateSecurityKeyRequest associateSecurityKeyRequest) throws ResourceNotFoundException, ResourceConflictException, InternalServiceException, InvalidRequestException, InvalidParameterException, ServiceQuotaExceededException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateSecurityKeyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateSecurityKeyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateSecurityKeyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateSecurityKey"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("AssociateSecurityKey").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateSecurityKeyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateSecurityKeyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Associates an agent with a traffic distribution group. *

* * @param associateTrafficDistributionGroupUserRequest * @return Result of the AssociateTrafficDistributionGroupUser 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 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateTrafficDistributionGroupUser * @see AWS API Documentation */ @Override public AssociateTrafficDistributionGroupUserResponse associateTrafficDistributionGroupUser( AssociateTrafficDistributionGroupUserRequest associateTrafficDistributionGroupUserRequest) throws InvalidRequestException, AccessDeniedException, ThrottlingException, ResourceNotFoundException, ResourceConflictException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, AssociateTrafficDistributionGroupUserResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateTrafficDistributionGroupUserRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateTrafficDistributionGroupUserRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateTrafficDistributionGroupUser"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateTrafficDistributionGroupUser").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(associateTrafficDistributionGroupUserRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateTrafficDistributionGroupUserRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* >Associates a set of proficiencies with a user. *

* * @param associateUserProficienciesRequest * @return Result of the AssociateUserProficiencies 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.AssociateUserProficiencies * @see AWS API Documentation */ @Override public AssociateUserProficienciesResponse associateUserProficiencies( AssociateUserProficienciesRequest associateUserProficienciesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, AssociateUserProficienciesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(associateUserProficienciesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, associateUserProficienciesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "AssociateUserProficiencies"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("AssociateUserProficiencies").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(associateUserProficienciesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new AssociateUserProficienciesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* Associates a list of analytics datasets for a given Amazon Connect instance to a target account. You can * associate multiple datasets in a single call. *

* * @param batchAssociateAnalyticsDataSetRequest * @return Result of the BatchAssociateAnalyticsDataSet 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.BatchAssociateAnalyticsDataSet * @see AWS API Documentation */ @Override public BatchAssociateAnalyticsDataSetResponse batchAssociateAnalyticsDataSet( BatchAssociateAnalyticsDataSetRequest batchAssociateAnalyticsDataSetRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchAssociateAnalyticsDataSetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchAssociateAnalyticsDataSetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchAssociateAnalyticsDataSetRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchAssociateAnalyticsDataSet"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchAssociateAnalyticsDataSet").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(batchAssociateAnalyticsDataSetRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchAssociateAnalyticsDataSetRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* Removes a list of analytics datasets associated with a given Amazon Connect instance. You can disassociate * multiple datasets in a single call. *

* * @param batchDisassociateAnalyticsDataSetRequest * @return Result of the BatchDisassociateAnalyticsDataSet 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.BatchDisassociateAnalyticsDataSet * @see AWS API Documentation */ @Override public BatchDisassociateAnalyticsDataSetResponse batchDisassociateAnalyticsDataSet( BatchDisassociateAnalyticsDataSetRequest batchDisassociateAnalyticsDataSetRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchDisassociateAnalyticsDataSetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchDisassociateAnalyticsDataSetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchDisassociateAnalyticsDataSetRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchDisassociateAnalyticsDataSet"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchDisassociateAnalyticsDataSet").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(batchDisassociateAnalyticsDataSetRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchDisassociateAnalyticsDataSetRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Allows you to retrieve metadata about multiple attached files on an associated resource. Each attached file * provided in the input list must be associated with the input AssociatedResourceArn. *

* * @param batchGetAttachedFileMetadataRequest * @return Result of the BatchGetAttachedFileMetadata 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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.BatchGetAttachedFileMetadata * @see AWS API Documentation */ @Override public BatchGetAttachedFileMetadataResponse batchGetAttachedFileMetadata( BatchGetAttachedFileMetadataRequest batchGetAttachedFileMetadataRequest) throws AccessDeniedException, InvalidRequestException, InternalServiceException, ResourceNotFoundException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetAttachedFileMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetAttachedFileMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetAttachedFileMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetAttachedFileMetadata"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetAttachedFileMetadata").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(batchGetAttachedFileMetadataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchGetAttachedFileMetadataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieve the flow associations for the given resources. *

* * @param batchGetFlowAssociationRequest * @return Result of the BatchGetFlowAssociation operation returned by the service. * @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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.BatchGetFlowAssociation * @see AWS API Documentation */ @Override public BatchGetFlowAssociationResponse batchGetFlowAssociation(BatchGetFlowAssociationRequest batchGetFlowAssociationRequest) throws AccessDeniedException, ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, BatchGetFlowAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchGetFlowAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchGetFlowAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchGetFlowAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("BatchGetFlowAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(batchGetFlowAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchGetFlowAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** * *

* Only the Amazon Connect outbound campaigns service principal is allowed to assume a role in your account and call * this API. *

*
*

* Allows you to create a batch of contacts in Amazon Connect. The outbound campaigns capability ingests dial * requests via the PutDialRequestBatch API. It then uses BatchPutContact to create contacts corresponding to those dial * requests. If agents are available, the dial requests are dialed out, which results in a voice call. The resulting * voice call uses the same contactId that was created by BatchPutContact. *

* * @param batchPutContactRequest * @return Result of the BatchPutContact operation returned by the service. * @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. * @throws InvalidRequestException * The request is not valid. * @throws ResourceNotFoundException * The specified resource was not found. * @throws LimitExceededException * The allowed limit for the resource has been exceeded. * @throws IdempotencyException * An entity with the same name already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.BatchPutContact * @see AWS API * Documentation */ @Override public BatchPutContactResponse batchPutContact(BatchPutContactRequest batchPutContactRequest) throws AccessDeniedException, InternalServiceException, InvalidRequestException, ResourceNotFoundException, LimitExceededException, IdempotencyException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, BatchPutContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(batchPutContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, batchPutContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "BatchPutContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("BatchPutContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(batchPutContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new BatchPutContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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, contact us for a service quota exception. Otherwise, it is * possible you will be blocked from claiming and releasing any more numbers until up to 180 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. If you claim and * release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number * service level quota, you will be blocked from claiming any more numbers until 180 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 180 * 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ClaimPhoneNumber * @see AWS API * Documentation */ @Override public ClaimPhoneNumberResponse claimPhoneNumber(ClaimPhoneNumberRequest claimPhoneNumberRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, IdempotencyException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ClaimPhoneNumberResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(claimPhoneNumberRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, claimPhoneNumberRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ClaimPhoneNumber"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ClaimPhoneNumber").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(claimPhoneNumberRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ClaimPhoneNumberRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Allows you to confirm that the attached file has been uploaded using the pre-signed URL provided in the * StartAttachedFileUpload API. *

* * @param completeAttachedFileUploadRequest * Request to CompleteAttachedFileUpload API * @return Result of the CompleteAttachedFileUpload 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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CompleteAttachedFileUpload * @see AWS API Documentation */ @Override public CompleteAttachedFileUploadResponse completeAttachedFileUpload( CompleteAttachedFileUploadRequest completeAttachedFileUploadRequest) throws AccessDeniedException, InvalidRequestException, InternalServiceException, ResourceNotFoundException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CompleteAttachedFileUploadResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(completeAttachedFileUploadRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, completeAttachedFileUploadRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CompleteAttachedFileUpload"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CompleteAttachedFileUpload").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(completeAttachedFileUploadRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CompleteAttachedFileUploadRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateAgentStatus * @see AWS API * Documentation */ @Override public CreateAgentStatusResponse createAgentStatus(CreateAgentStatusRequest createAgentStatusRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateAgentStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createAgentStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createAgentStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateAgentStatus"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateAgentStatus").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createAgentStatusRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateAgentStatusRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateContactFlow * @see AWS API * Documentation */ @Override public CreateContactFlowResponse createContactFlow(CreateContactFlowRequest createContactFlowRequest) throws InvalidRequestException, InvalidContactFlowException, InvalidParameterException, DuplicateResourceException, LimitExceededException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateContactFlowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createContactFlowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createContactFlowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateContactFlow"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateContactFlow").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createContactFlowRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateContactFlowRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateContactFlowModule * @see AWS API Documentation */ @Override public CreateContactFlowModuleResponse createContactFlowModule(CreateContactFlowModuleRequest createContactFlowModuleRequest) throws AccessDeniedException, InvalidRequestException, InvalidContactFlowModuleException, InvalidParameterException, DuplicateResourceException, LimitExceededException, ResourceNotFoundException, ThrottlingException, IdempotencyException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateContactFlowModuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createContactFlowModuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createContactFlowModuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateContactFlowModule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateContactFlowModule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createContactFlowModuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateContactFlowModuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateEvaluationForm * @see AWS * API Documentation */ @Override public CreateEvaluationFormResponse createEvaluationForm(CreateEvaluationFormRequest createEvaluationFormRequest) throws InternalServiceException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, ServiceQuotaExceededException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateEvaluationFormResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createEvaluationFormRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createEvaluationFormRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateEvaluationForm"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateEvaluationForm").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createEvaluationFormRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateEvaluationFormRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateHoursOfOperation * @see AWS API Documentation */ @Override public CreateHoursOfOperationResponse createHoursOfOperation(CreateHoursOfOperationRequest createHoursOfOperationRequest) throws DuplicateResourceException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateHoursOfOperationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createHoursOfOperationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createHoursOfOperationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateHoursOfOperation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateHoursOfOperation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createHoursOfOperationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateHoursOfOperationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. *

*

* For more information, see Create an Amazon * Connect instance in the Amazon Connect Administrator Guide. *

*

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateInstance * @see AWS API * Documentation */ @Override public CreateInstanceResponse createInstance(CreateInstanceRequest createInstanceRequest) throws InvalidRequestException, ServiceQuotaExceededException, ThrottlingException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateInstanceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateInstance"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateInstance").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createInstanceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateInstanceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateIntegrationAssociation * @see AWS API Documentation */ @Override public CreateIntegrationAssociationResponse createIntegrationAssociation( CreateIntegrationAssociationRequest createIntegrationAssociationRequest) throws DuplicateResourceException, ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateIntegrationAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createIntegrationAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createIntegrationAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateIntegrationAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateIntegrationAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createIntegrationAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateIntegrationAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateParticipant * @see AWS API * Documentation */ @Override public CreateParticipantResponse createParticipant(CreateParticipantRequest createParticipantRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ServiceQuotaExceededException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateParticipantResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createParticipantRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createParticipantRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateParticipant"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateParticipant").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createParticipantRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateParticipantRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Enables rehydration of chats for the lifespan of a contact. For more information about chat rehydration, see Enable persistent chat in * the Amazon Connect Administrator Guide. *

* * @param createPersistentContactAssociationRequest * @return Result of the CreatePersistentContactAssociation 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreatePersistentContactAssociation * @see AWS API Documentation */ @Override public CreatePersistentContactAssociationResponse createPersistentContactAssociation( CreatePersistentContactAssociationRequest createPersistentContactAssociationRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, AccessDeniedException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreatePersistentContactAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createPersistentContactAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createPersistentContactAssociationRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreatePersistentContactAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreatePersistentContactAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createPersistentContactAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreatePersistentContactAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new predefined attribute for the specified Amazon Connect instance. Predefined attributes are * attributes in an Amazon Connect instance that can be used to route contacts to an agent or pools of agents within * a queue. For more information, see Create predefined * attributes for routing contacts to agents. *

* * @param createPredefinedAttributeRequest * @return Result of the CreatePredefinedAttribute 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 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreatePredefinedAttribute * @see AWS API Documentation */ @Override public CreatePredefinedAttributeResponse createPredefinedAttribute( CreatePredefinedAttributeRequest createPredefinedAttributeRequest) throws DuplicateResourceException, InvalidRequestException, InvalidParameterException, LimitExceededException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreatePredefinedAttributeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createPredefinedAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createPredefinedAttributeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreatePredefinedAttribute"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreatePredefinedAttribute").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createPredefinedAttributeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreatePredefinedAttributeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a prompt. For more information about prompts, such as supported file types and maximum length, see Create prompts in the Amazon * Connect Administrator 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreatePrompt * @see AWS API * Documentation */ @Override public CreatePromptResponse createPrompt(CreatePromptRequest createPromptRequest) throws DuplicateResourceException, InvalidRequestException, InvalidParameterException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreatePromptResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createPromptRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createPromptRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreatePrompt"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreatePrompt").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createPromptRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreatePromptRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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 phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon * Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for * OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group * that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that * is 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. *

    *
  • *
  • *

    * If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic * distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region. *

    *
  • *
*
* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateQueue * @see AWS API * Documentation */ @Override public CreateQueueResponse createQueue(CreateQueueRequest createQueueRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateQueueResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createQueueRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createQueueRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateQueue"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateQueue").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(createQueueRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateQueueRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateQuickConnect * @see AWS * API Documentation */ @Override public CreateQuickConnectResponse createQuickConnect(CreateQuickConnectRequest createQuickConnectRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateQuickConnectResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createQuickConnectRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createQuickConnectRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateQuickConnect"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateQuickConnect").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createQuickConnectRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateQuickConnectRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateRoutingProfile * @see AWS * API Documentation */ @Override public CreateRoutingProfileResponse createRoutingProfile(CreateRoutingProfileRequest createRoutingProfileRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateRoutingProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createRoutingProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createRoutingProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateRoutingProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateRoutingProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createRoutingProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateRoutingProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateRule * @see AWS API * Documentation */ @Override public CreateRuleResponse createRule(CreateRuleRequest createRuleRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, ResourceConflictException, ServiceQuotaExceededException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createRuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateRule"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateRule").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(createRuleRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a security profile. *

*

* For information about security profiles, see Security Profiles * in the Amazon Connect Administrator Guide. For a mapping of the API name and user interface name of the * security profile permissions, see List of security profile * permissions. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateSecurityProfile * @see AWS * API Documentation */ @Override public CreateSecurityProfileResponse createSecurityProfile(CreateSecurityProfileRequest createSecurityProfileRequest) throws InvalidRequestException, InvalidParameterException, LimitExceededException, DuplicateResourceException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateSecurityProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createSecurityProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createSecurityProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateSecurityProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateSecurityProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createSecurityProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateSecurityProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateTaskTemplate * @see AWS * API Documentation */ @Override public CreateTaskTemplateResponse createTaskTemplate(CreateTaskTemplateRequest createTaskTemplateRequest) throws PropertyValidationException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, ServiceQuotaExceededException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateTaskTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createTaskTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createTaskTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateTaskTemplate"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateTaskTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createTaskTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateTaskTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

* *

* The SignInConfig distribution is available only on a default TrafficDistributionGroup * (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified * SignInConfig and a non-default TrafficDistributionGroup, an * InvalidRequestException is returned. *

*
*

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateTrafficDistributionGroup * @see AWS API Documentation */ @Override public CreateTrafficDistributionGroupResponse createTrafficDistributionGroup( CreateTrafficDistributionGroupRequest createTrafficDistributionGroupRequest) throws InvalidRequestException, AccessDeniedException, ServiceQuotaExceededException, ThrottlingException, ResourceNotFoundException, InternalServiceException, ResourceConflictException, ResourceNotReadyException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateTrafficDistributionGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createTrafficDistributionGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createTrafficDistributionGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateTrafficDistributionGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateTrafficDistributionGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createTrafficDistributionGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateTrafficDistributionGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateUseCase * @see AWS API * Documentation */ @Override public CreateUseCaseResponse createUseCase(CreateUseCaseRequest createUseCaseRequest) throws DuplicateResourceException, ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateUseCaseResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createUseCaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createUseCaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateUseCase"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateUseCase").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createUseCaseRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateUseCaseRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

* *

* Certain UserIdentityInfo * parameters are required in some situations. For example, Email is required if you are using SAML for * identity management. FirstName and LastName are required if you are using Amazon * Connect or SAML for identity management. *

*
*

* For information about how to create users using the Amazon Connect admin website, 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateUser * @see AWS API * Documentation */ @Override public CreateUserResponse createUser(CreateUserRequest createUserRequest) throws InvalidRequestException, InvalidParameterException, LimitExceededException, DuplicateResourceException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateUserResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createUserRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createUserRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateUser"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateUser").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(createUserRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateUserRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateUserHierarchyGroup * @see AWS API Documentation */ @Override public CreateUserHierarchyGroupResponse createUserHierarchyGroup( CreateUserHierarchyGroupRequest createUserHierarchyGroupRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, LimitExceededException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, CreateUserHierarchyGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createUserHierarchyGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createUserHierarchyGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateUserHierarchyGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("CreateUserHierarchyGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createUserHierarchyGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateUserHierarchyGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Creates a new view with the possible status of SAVED or PUBLISHED. *

*

* The views will have a unique name for each connect instance. *

*

* It performs basic content validation if the status is SAVED or full content validation if the status * is set to PUBLISHED. An error is returned if validation fails. It associates either the * $SAVED qualifier or both of the $SAVED and $LATEST qualifiers * with the provided view content based on the status. The view is idempotent if ClientToken is provided. *

* * @param createViewRequest * @return Result of the CreateView 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 DuplicateResourceException * A resource with the specified name already exists. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateView * @see AWS API * Documentation */ @Override public CreateViewResponse createView(CreateViewRequest createViewRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, DuplicateResourceException, ServiceQuotaExceededException, TooManyRequestsException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateViewResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createViewRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createViewRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateView"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateView").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(createViewRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateViewRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Publishes a new version of the view identifier. *

*

* Versions are immutable and monotonically increasing. *

*

* It returns the highest version if there is no change in content compared to that version. An error is displayed * if the supplied ViewContentSha256 is different from the ViewContentSha256 of the $LATEST alias. *

* * @param createViewVersionRequest * @return Result of the CreateViewVersion 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateViewVersion * @see AWS API * Documentation */ @Override public CreateViewVersionResponse createViewVersion(CreateViewVersionRequest createViewVersionRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, ServiceQuotaExceededException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateViewVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createViewVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createViewVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateViewVersion"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateViewVersion").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createViewVersionRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateViewVersionRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.CreateVocabulary * @see AWS API * Documentation */ @Override public CreateVocabularyResponse createVocabulary(CreateVocabularyRequest createVocabularyRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, ResourceConflictException, ServiceQuotaExceededException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, CreateVocabularyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(createVocabularyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, createVocabularyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "CreateVocabulary"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateVocabulary").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(createVocabularyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new CreateVocabularyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeactivateEvaluationForm * @see AWS API Documentation */ @Override public DeactivateEvaluationFormResponse deactivateEvaluationForm( DeactivateEvaluationFormRequest deactivateEvaluationFormRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeactivateEvaluationFormResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deactivateEvaluationFormRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deactivateEvaluationFormRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeactivateEvaluationForm"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeactivateEvaluationForm").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deactivateEvaluationFormRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeactivateEvaluationFormRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes an attached file along with the underlying S3 Object. *

* *

* The attached file is permanently deleted if S3 bucket versioning is not enabled. *

*
* * @param deleteAttachedFileRequest * Request to DeleteAttachedFile API * @return Result of the DeleteAttachedFile 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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteAttachedFile * @see AWS * API Documentation */ @Override public DeleteAttachedFileResponse deleteAttachedFile(DeleteAttachedFileRequest deleteAttachedFileRequest) throws AccessDeniedException, InvalidRequestException, InternalServiceException, ResourceNotFoundException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteAttachedFileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteAttachedFileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteAttachedFileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteAttachedFile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteAttachedFile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteAttachedFileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteAttachedFileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteContactEvaluation * @see AWS API Documentation */ @Override public DeleteContactEvaluationResponse deleteContactEvaluation(DeleteContactEvaluationRequest deleteContactEvaluationRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteContactEvaluationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteContactEvaluationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteContactEvaluationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteContactEvaluation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteContactEvaluation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteContactEvaluationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteContactEvaluationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteContactFlow * @see AWS API * Documentation */ @Override public DeleteContactFlowResponse deleteContactFlow(DeleteContactFlowRequest deleteContactFlowRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteContactFlowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteContactFlowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteContactFlowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteContactFlow"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteContactFlow").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteContactFlowRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteContactFlowRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteContactFlowModule * @see AWS API Documentation */ @Override public DeleteContactFlowModuleResponse deleteContactFlowModule(DeleteContactFlowModuleRequest deleteContactFlowModuleRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteContactFlowModuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteContactFlowModuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteContactFlowModuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteContactFlowModule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteContactFlowModule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteContactFlowModuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteContactFlowModuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteEvaluationForm * @see AWS * API Documentation */ @Override public DeleteEvaluationFormResponse deleteEvaluationForm(DeleteEvaluationFormRequest deleteEvaluationFormRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteEvaluationFormResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteEvaluationFormRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteEvaluationFormRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteEvaluationForm"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteEvaluationForm").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteEvaluationFormRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteEvaluationFormRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteHoursOfOperation * @see AWS API Documentation */ @Override public DeleteHoursOfOperationResponse deleteHoursOfOperation(DeleteHoursOfOperationRequest deleteHoursOfOperationRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteHoursOfOperationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteHoursOfOperationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteHoursOfOperationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteHoursOfOperation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteHoursOfOperation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteHoursOfOperationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteHoursOfOperationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* Deletes the Amazon Connect instance. For more information, see Delete your Amazon * Connect instance in the Amazon Connect Administrator Guide. *

*

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteInstance * @see AWS API * Documentation */ @Override public DeleteInstanceResponse deleteInstance(DeleteInstanceRequest deleteInstanceRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteInstanceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteInstance"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteInstance").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteInstanceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteInstanceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteIntegrationAssociation * @see AWS API Documentation */ @Override public DeleteIntegrationAssociationResponse deleteIntegrationAssociation( DeleteIntegrationAssociationRequest deleteIntegrationAssociationRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteIntegrationAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteIntegrationAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteIntegrationAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteIntegrationAssociation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteIntegrationAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteIntegrationAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteIntegrationAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a predefined attribute from the specified Amazon Connect instance. *

* * @param deletePredefinedAttributeRequest * @return Result of the DeletePredefinedAttribute operation returned by the service. * @throws ResourceInUseException * That resource is already in use. Please try another. * @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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeletePredefinedAttribute * @see AWS API Documentation */ @Override public DeletePredefinedAttributeResponse deletePredefinedAttribute( DeletePredefinedAttributeRequest deletePredefinedAttributeRequest) throws ResourceInUseException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeletePredefinedAttributeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deletePredefinedAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deletePredefinedAttributeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeletePredefinedAttribute"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeletePredefinedAttribute").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deletePredefinedAttributeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeletePredefinedAttributeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeletePrompt * @see AWS API * Documentation */ @Override public DeletePromptResponse deletePrompt(DeletePromptRequest deletePromptRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeletePromptResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deletePromptRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deletePromptRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeletePrompt"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeletePrompt").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deletePromptRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeletePromptRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a queue. It isn't possible to delete a queue by using the Amazon Connect admin website. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteQueue * @see AWS API * Documentation */ @Override public DeleteQueueResponse deleteQueue(DeleteQueueRequest deleteQueueRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ResourceInUseException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteQueueResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteQueueRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteQueueRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteQueue"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteQueue").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(deleteQueueRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteQueueRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes a quick connect. *

* *

* After calling DeleteUser, it's important * to call DeleteQuickConnect to delete any records related to the deleted users. This will help you: *

*
    *
  • *

    * Avoid dangling resources that impact your service quotas. *

    *
  • *
  • *

    * Remove deleted users so they don't appear to agents as transfer options. *

    *
  • *
  • *

    * Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using * Amazon * Connect Global Resiliency. *

    *
  • *
*
* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteQuickConnect * @see AWS * API Documentation */ @Override public DeleteQuickConnectResponse deleteQuickConnect(DeleteQuickConnectRequest deleteQuickConnectRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteQuickConnectResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteQuickConnectRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteQuickConnectRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteQuickConnect"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteQuickConnect").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteQuickConnectRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteQuickConnectRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteRoutingProfile * @see AWS * API Documentation */ @Override public DeleteRoutingProfileResponse deleteRoutingProfile(DeleteRoutingProfileRequest deleteRoutingProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ResourceInUseException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteRoutingProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteRoutingProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteRoutingProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteRoutingProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteRoutingProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteRoutingProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteRoutingProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteRule * @see AWS API * Documentation */ @Override public DeleteRuleResponse deleteRule(DeleteRuleRequest deleteRuleRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteRuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteRule"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteRule").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(deleteRuleRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteSecurityProfile * @see AWS * API Documentation */ @Override public DeleteSecurityProfileResponse deleteSecurityProfile(DeleteSecurityProfileRequest deleteSecurityProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AccessDeniedException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteSecurityProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteSecurityProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteSecurityProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteSecurityProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteSecurityProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteSecurityProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteSecurityProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteTaskTemplate * @see AWS * API Documentation */ @Override public DeleteTaskTemplateResponse deleteTaskTemplate(DeleteTaskTemplateRequest deleteTaskTemplateRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteTaskTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTaskTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTaskTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTaskTemplate"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteTaskTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteTaskTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteTaskTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteTrafficDistributionGroup * @see AWS API Documentation */ @Override public DeleteTrafficDistributionGroupResponse deleteTrafficDistributionGroup( DeleteTrafficDistributionGroupRequest deleteTrafficDistributionGroupRequest) throws InvalidRequestException, AccessDeniedException, ResourceInUseException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteTrafficDistributionGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteTrafficDistributionGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteTrafficDistributionGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteTrafficDistributionGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteTrafficDistributionGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteTrafficDistributionGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteTrafficDistributionGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteUseCase * @see AWS API * Documentation */ @Override public DeleteUseCaseResponse deleteUseCase(DeleteUseCaseRequest deleteUseCaseRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteUseCaseResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteUseCaseRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteUseCaseRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteUseCase"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteUseCase").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteUseCaseRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteUseCaseRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. *

* *

* After calling DeleteUser, call DeleteQuickConnect * to delete any records related to the deleted users. This will help you: *

*
    *
  • *

    * Avoid dangling resources that impact your service quotas. *

    *
  • *
  • *

    * Remove deleted users so they don't appear to agents as transfer options. *

    *
  • *
  • *

    * Avoid the disruption of other Amazon Connect processes, such as instance replication and syncing if you're using * Amazon * Connect Global Resiliency. *

    *
  • *
*
* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteUser * @see AWS API * Documentation */ @Override public DeleteUserResponse deleteUser(DeleteUserRequest deleteUserRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteUserResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteUserRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteUserRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteUser"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteUser").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(deleteUserRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteUserRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteUserHierarchyGroup * @see AWS API Documentation */ @Override public DeleteUserHierarchyGroupResponse deleteUserHierarchyGroup( DeleteUserHierarchyGroupRequest deleteUserHierarchyGroupRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ResourceInUseException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DeleteUserHierarchyGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteUserHierarchyGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteUserHierarchyGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteUserHierarchyGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DeleteUserHierarchyGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteUserHierarchyGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteUserHierarchyGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes the view entirely. It deletes the view and all associated qualifiers (versions and aliases). *

* * @param deleteViewRequest * @return Result of the DeleteView 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteView * @see AWS API * Documentation */ @Override public DeleteViewResponse deleteView(DeleteViewRequest deleteViewRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteViewResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteViewRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteViewRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteView"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteView").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(deleteViewRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteViewRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Deletes the particular version specified in ViewVersion identifier. *

* * @param deleteViewVersionRequest * @return Result of the DeleteViewVersion 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteViewVersion * @see AWS API * Documentation */ @Override public DeleteViewVersionResponse deleteViewVersion(DeleteViewVersionRequest deleteViewVersionRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteViewVersionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteViewVersionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteViewVersionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteViewVersion"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteViewVersion").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteViewVersionRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteViewVersionRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DeleteVocabulary * @see AWS API * Documentation */ @Override public DeleteVocabularyResponse deleteVocabulary(DeleteVocabularyRequest deleteVocabularyRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DeleteVocabularyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(deleteVocabularyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, deleteVocabularyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DeleteVocabulary"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteVocabulary").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(deleteVocabularyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DeleteVocabularyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeAgentStatus * @see AWS * API Documentation */ @Override public DescribeAgentStatusResponse describeAgentStatus(DescribeAgentStatusRequest describeAgentStatusRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeAgentStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeAgentStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeAgentStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAgentStatus"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeAgentStatus").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeAgentStatusRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeAgentStatusRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. To request access to this API, * contact Amazon Web Services Support. *

*

* Describes the target authentication profile. *

* * @param describeAuthenticationProfileRequest * @return Result of the DescribeAuthenticationProfile 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeAuthenticationProfile * @see AWS API Documentation */ @Override public DescribeAuthenticationProfileResponse describeAuthenticationProfile( DescribeAuthenticationProfileRequest describeAuthenticationProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeAuthenticationProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeAuthenticationProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeAuthenticationProfileRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeAuthenticationProfile"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeAuthenticationProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeAuthenticationProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeAuthenticationProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeContact * @see AWS API * Documentation */ @Override public DescribeContactResponse describeContact(DescribeContactRequest describeContactRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeContactEvaluation * @see AWS API Documentation */ @Override public DescribeContactEvaluationResponse describeContactEvaluation( DescribeContactEvaluationRequest describeContactEvaluationRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeContactEvaluationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeContactEvaluationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeContactEvaluationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeContactEvaluation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeContactEvaluation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeContactEvaluationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeContactEvaluationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Describes the specified flow. *

*

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

*

* Use the $SAVED alias in the request to describe the SAVED content of a Flow. For * example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, * $SAVED needs to be supplied to view saved content that has not been published. *

*

* In the response, Status indicates the flow status as either SAVED or PUBLISHED. * The PUBLISHED status will initiate validation on the content. SAVED does not initiate * validation of the content. SAVED | PUBLISHED *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeContactFlow * @see AWS * API Documentation */ @Override public DescribeContactFlowResponse describeContactFlow(DescribeContactFlowRequest describeContactFlowRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ContactFlowNotPublishedException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeContactFlowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeContactFlowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeContactFlowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeContactFlow"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeContactFlow").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeContactFlowRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeContactFlowRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Describes the specified flow module. *

*

* Use the $SAVED alias in the request to describe the SAVED content of a Flow. For * example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, * $SAVED needs to be supplied to view saved content that has not been published. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeContactFlowModule * @see AWS API Documentation */ @Override public DescribeContactFlowModuleResponse describeContactFlowModule( DescribeContactFlowModuleRequest describeContactFlowModuleRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeContactFlowModuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeContactFlowModuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeContactFlowModuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeContactFlowModule"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeContactFlowModule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeContactFlowModuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeContactFlowModuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeEvaluationForm * @see AWS API Documentation */ @Override public DescribeEvaluationFormResponse describeEvaluationForm(DescribeEvaluationFormRequest describeEvaluationFormRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeEvaluationFormResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeEvaluationFormRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeEvaluationFormRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeEvaluationForm"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeEvaluationForm").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeEvaluationFormRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeEvaluationFormRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeHoursOfOperation * @see AWS API Documentation */ @Override public DescribeHoursOfOperationResponse describeHoursOfOperation( DescribeHoursOfOperationRequest describeHoursOfOperationRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeHoursOfOperationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeHoursOfOperationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeHoursOfOperationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeHoursOfOperation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeHoursOfOperation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeHoursOfOperationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeHoursOfOperationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeInstance * @see AWS API * Documentation */ @Override public DescribeInstanceResponse describeInstance(DescribeInstanceRequest describeInstanceRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeInstanceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeInstance"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeInstance").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeInstanceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeInstanceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeInstanceAttribute * @see AWS API Documentation */ @Override public DescribeInstanceAttributeResponse describeInstanceAttribute( DescribeInstanceAttributeRequest describeInstanceAttributeRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeInstanceAttributeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeInstanceAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeInstanceAttributeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeInstanceAttribute"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeInstanceAttribute").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeInstanceAttributeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeInstanceAttributeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeInstanceStorageConfig * @see AWS API Documentation */ @Override public DescribeInstanceStorageConfigResponse describeInstanceStorageConfig( DescribeInstanceStorageConfigRequest describeInstanceStorageConfigRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeInstanceStorageConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeInstanceStorageConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeInstanceStorageConfigRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeInstanceStorageConfig"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeInstanceStorageConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeInstanceStorageConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeInstanceStorageConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribePhoneNumber * @see AWS * API Documentation */ @Override public DescribePhoneNumberResponse describePhoneNumber(DescribePhoneNumberRequest describePhoneNumberRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribePhoneNumberResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describePhoneNumberRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describePhoneNumberRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribePhoneNumber"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribePhoneNumber").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describePhoneNumberRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribePhoneNumberRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Describes a predefined attribute for the specified Amazon Connect instance. Predefined attributes are * attributes in an Amazon Connect instance that can be used to route contacts to an agent or pools of agents within * a queue. For more information, see Create predefined * attributes for routing contacts to agents. *

* * @param describePredefinedAttributeRequest * @return Result of the DescribePredefinedAttribute 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribePredefinedAttribute * @see AWS API Documentation */ @Override public DescribePredefinedAttributeResponse describePredefinedAttribute( DescribePredefinedAttributeRequest describePredefinedAttributeRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribePredefinedAttributeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describePredefinedAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describePredefinedAttributeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribePredefinedAttribute"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribePredefinedAttribute").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describePredefinedAttributeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribePredefinedAttributeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribePrompt * @see AWS API * Documentation */ @Override public DescribePromptResponse describePrompt(DescribePromptRequest describePromptRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribePromptResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describePromptRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describePromptRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribePrompt"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribePrompt").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describePromptRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribePromptRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeQueue * @see AWS API * Documentation */ @Override public DescribeQueueResponse describeQueue(DescribeQueueRequest describeQueueRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeQueueResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeQueueRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeQueueRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeQueue"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeQueue").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeQueueRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeQueueRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeQuickConnect * @see AWS * API Documentation */ @Override public DescribeQuickConnectResponse describeQuickConnect(DescribeQuickConnectRequest describeQuickConnectRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeQuickConnectResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeQuickConnectRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeQuickConnectRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeQuickConnect"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeQuickConnect").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeQuickConnectRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeQuickConnectRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeRoutingProfile * @see AWS API Documentation */ @Override public DescribeRoutingProfileResponse describeRoutingProfile(DescribeRoutingProfileRequest describeRoutingProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeRoutingProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeRoutingProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeRoutingProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeRoutingProfile"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeRoutingProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeRoutingProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeRoutingProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeRule * @see AWS API * Documentation */ @Override public DescribeRuleResponse describeRule(DescribeRuleRequest describeRuleRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeRuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeRule"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeRule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeRuleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Gets basic information about the security profile. *

*

* For information about security profiles, see Security Profiles * in the Amazon Connect Administrator Guide. For a mapping of the API name and user interface name of the * security profile permissions, see List of security profile * permissions. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeSecurityProfile * @see AWS API Documentation */ @Override public DescribeSecurityProfileResponse describeSecurityProfile(DescribeSecurityProfileRequest describeSecurityProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeSecurityProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeSecurityProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeSecurityProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeSecurityProfile"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeSecurityProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeSecurityProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeSecurityProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeTrafficDistributionGroup * @see AWS API Documentation */ @Override public DescribeTrafficDistributionGroupResponse describeTrafficDistributionGroup( DescribeTrafficDistributionGroupRequest describeTrafficDistributionGroupRequest) throws InvalidRequestException, AccessDeniedException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeTrafficDistributionGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeTrafficDistributionGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeTrafficDistributionGroupRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeTrafficDistributionGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeTrafficDistributionGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeTrafficDistributionGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeTrafficDistributionGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Describes the specified user. 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeUser * @see AWS API * Documentation */ @Override public DescribeUserResponse describeUser(DescribeUserRequest describeUserRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeUserResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeUserRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeUserRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeUser"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeUser").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeUserRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeUserRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeUserHierarchyGroup * @see AWS API Documentation */ @Override public DescribeUserHierarchyGroupResponse describeUserHierarchyGroup( DescribeUserHierarchyGroupRequest describeUserHierarchyGroupRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeUserHierarchyGroupResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeUserHierarchyGroupRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeUserHierarchyGroupRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeUserHierarchyGroup"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeUserHierarchyGroup").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeUserHierarchyGroupRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeUserHierarchyGroupRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeUserHierarchyStructure * @see AWS API Documentation */ @Override public DescribeUserHierarchyStructureResponse describeUserHierarchyStructure( DescribeUserHierarchyStructureRequest describeUserHierarchyStructureRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeUserHierarchyStructureResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeUserHierarchyStructureRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeUserHierarchyStructureRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeUserHierarchyStructure"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeUserHierarchyStructure").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeUserHierarchyStructureRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeUserHierarchyStructureRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the view for the specified Amazon Connect instance and view identifier. *

*

* The view identifier can be supplied as a ViewId or ARN. *

*

* $SAVED needs to be supplied if a view is unpublished. *

*

* The view identifier can contain an optional qualifier, for example, <view-id>:$SAVED, which * is either an actual version number or an Amazon Connect managed qualifier $SAVED | $LATEST. If * it is not supplied, then $LATEST is assumed for customer managed views and an error is returned * if there is no published content available. Version 1 is assumed for Amazon Web Services managed views. *

* * @param describeViewRequest * @return Result of the DescribeView 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeView * @see AWS API * Documentation */ @Override public DescribeViewResponse describeView(DescribeViewRequest describeViewRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DescribeViewResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeViewRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeViewRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeView"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeView").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeViewRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeViewRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DescribeVocabulary * @see AWS * API Documentation */ @Override public DescribeVocabularyResponse describeVocabulary(DescribeVocabularyRequest describeVocabularyRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DescribeVocabularyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(describeVocabularyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, describeVocabularyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DescribeVocabulary"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeVocabulary").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(describeVocabularyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DescribeVocabularyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* Removes the dataset ID associated with a given Amazon Connect instance. *

* * @param disassociateAnalyticsDataSetRequest * @return Result of the DisassociateAnalyticsDataSet 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateAnalyticsDataSet * @see AWS API Documentation */ @Override public DisassociateAnalyticsDataSetResponse disassociateAnalyticsDataSet( DisassociateAnalyticsDataSetRequest disassociateAnalyticsDataSetRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateAnalyticsDataSetResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateAnalyticsDataSetRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateAnalyticsDataSetRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateAnalyticsDataSet"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateAnalyticsDataSet").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateAnalyticsDataSetRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateAnalyticsDataSetRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateApprovedOrigin * @see AWS API Documentation */ @Override public DisassociateApprovedOriginResponse disassociateApprovedOrigin( DisassociateApprovedOriginRequest disassociateApprovedOriginRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateApprovedOriginResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateApprovedOriginRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateApprovedOriginRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateApprovedOrigin"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateApprovedOrigin").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateApprovedOriginRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateApprovedOriginRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateBot * @see AWS API * Documentation */ @Override public DisassociateBotResponse disassociateBot(DisassociateBotRequest disassociateBotRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DisassociateBotResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateBotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateBotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateBot"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DisassociateBot").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateBotRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateBotRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates a connect resource from a flow. *

* * @param disassociateFlowRequest * @return Result of the DisassociateFlow operation returned by the service. * @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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateFlow * @see AWS API * Documentation */ @Override public DisassociateFlowResponse disassociateFlow(DisassociateFlowRequest disassociateFlowRequest) throws AccessDeniedException, ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, DisassociateFlowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateFlowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateFlowRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateFlow"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DisassociateFlow").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateFlowRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateFlowRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateInstanceStorageConfig * @see AWS API Documentation */ @Override public DisassociateInstanceStorageConfigResponse disassociateInstanceStorageConfig( DisassociateInstanceStorageConfigRequest disassociateInstanceStorageConfigRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateInstanceStorageConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateInstanceStorageConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateInstanceStorageConfigRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateInstanceStorageConfig"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateInstanceStorageConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateInstanceStorageConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateInstanceStorageConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateLambdaFunction * @see AWS API Documentation */ @Override public DisassociateLambdaFunctionResponse disassociateLambdaFunction( DisassociateLambdaFunctionRequest disassociateLambdaFunctionRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateLambdaFunctionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateLambdaFunctionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateLambdaFunctionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateLambdaFunction"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateLambdaFunction").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateLambdaFunctionRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateLambdaFunctionRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateLexBot * @see AWS * API Documentation */ @Override public DisassociateLexBotResponse disassociateLexBot(DisassociateLexBotRequest disassociateLexBotRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateLexBotResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateLexBotRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateLexBotRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateLexBot"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DisassociateLexBot").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateLexBotRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateLexBotRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociatePhoneNumberContactFlow * @see AWS API Documentation */ @Override public DisassociatePhoneNumberContactFlowResponse disassociatePhoneNumberContactFlow( DisassociatePhoneNumberContactFlowRequest disassociatePhoneNumberContactFlowRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociatePhoneNumberContactFlowResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociatePhoneNumberContactFlowRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociatePhoneNumberContactFlowRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociatePhoneNumberContactFlow"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociatePhoneNumberContactFlow").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociatePhoneNumberContactFlowRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociatePhoneNumberContactFlowRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateQueueQuickConnects * @see AWS API Documentation */ @Override public DisassociateQueueQuickConnectsResponse disassociateQueueQuickConnects( DisassociateQueueQuickConnectsRequest disassociateQueueQuickConnectsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateQueueQuickConnectsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateQueueQuickConnectsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateQueueQuickConnectsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateQueueQuickConnects"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateQueueQuickConnects").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateQueueQuickConnectsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateQueueQuickConnectsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateRoutingProfileQueues * @see AWS API Documentation */ @Override public DisassociateRoutingProfileQueuesResponse disassociateRoutingProfileQueues( DisassociateRoutingProfileQueuesRequest disassociateRoutingProfileQueuesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateRoutingProfileQueuesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateRoutingProfileQueuesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateRoutingProfileQueuesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateRoutingProfileQueues"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateRoutingProfileQueues").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateRoutingProfileQueuesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateRoutingProfileQueuesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateSecurityKey * @see AWS API Documentation */ @Override public DisassociateSecurityKeyResponse disassociateSecurityKey(DisassociateSecurityKeyRequest disassociateSecurityKeyRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateSecurityKeyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateSecurityKeyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateSecurityKeyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateSecurityKey"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateSecurityKey").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateSecurityKeyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateSecurityKeyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates an agent from a traffic distribution group. *

* * @param disassociateTrafficDistributionGroupUserRequest * @return Result of the DisassociateTrafficDistributionGroupUser 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 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateTrafficDistributionGroupUser * @see AWS API Documentation */ @Override public DisassociateTrafficDistributionGroupUserResponse disassociateTrafficDistributionGroupUser( DisassociateTrafficDistributionGroupUserRequest disassociateTrafficDistributionGroupUserRequest) throws InvalidRequestException, AccessDeniedException, ThrottlingException, ResourceNotFoundException, ResourceConflictException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, DisassociateTrafficDistributionGroupUserResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( disassociateTrafficDistributionGroupUserRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateTrafficDistributionGroupUserRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateTrafficDistributionGroupUser"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateTrafficDistributionGroupUser").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(disassociateTrafficDistributionGroupUserRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateTrafficDistributionGroupUserRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Disassociates a set of proficiencies from a user. *

* * @param disassociateUserProficienciesRequest * @return Result of the DisassociateUserProficiencies 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DisassociateUserProficiencies * @see AWS API Documentation */ @Override public DisassociateUserProficienciesResponse disassociateUserProficiencies( DisassociateUserProficienciesRequest disassociateUserProficienciesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DisassociateUserProficienciesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(disassociateUserProficienciesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, disassociateUserProficienciesRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DisassociateUserProficiencies"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DisassociateUserProficiencies").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(disassociateUserProficienciesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DisassociateUserProficienciesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.DismissUserContact * @see AWS * API Documentation */ @Override public DismissUserContactResponse dismissUserContact(DismissUserContactRequest dismissUserContactRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, AccessDeniedException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, DismissUserContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(dismissUserContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, dismissUserContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "DismissUserContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DismissUserContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(dismissUserContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new DismissUserContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides a pre-signed URL for download of an approved attached file. This API also returns metadata about the * attached file. It will only return a downloadURL if the status of the attached file is APPROVED. *

* * @param getAttachedFileRequest * Request to GetAttachedFile API. * @return Result of the GetAttachedFile 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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetAttachedFile * @see AWS API * Documentation */ @Override public GetAttachedFileResponse getAttachedFile(GetAttachedFileRequest getAttachedFileRequest) throws AccessDeniedException, InvalidRequestException, InternalServiceException, ResourceNotFoundException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetAttachedFileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getAttachedFileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getAttachedFileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetAttachedFile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetAttachedFile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getAttachedFileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetAttachedFileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetContactAttributes * @see AWS * API Documentation */ @Override public GetContactAttributesResponse getContactAttributes(GetContactAttributesRequest getContactAttributesRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetContactAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getContactAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getContactAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetContactAttributes"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetContactAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getContactAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetContactAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetCurrentMetricData * @see AWS * API Documentation */ @Override public GetCurrentMetricDataResponse getCurrentMetricData(GetCurrentMetricDataRequest getCurrentMetricDataRequest) throws InvalidRequestException, InvalidParameterException, InternalServiceException, ThrottlingException, ResourceNotFoundException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetCurrentMetricDataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCurrentMetricDataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCurrentMetricDataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCurrentMetricData"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetCurrentMetricData").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getCurrentMetricDataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetCurrentMetricDataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetCurrentUserData * @see AWS * API Documentation */ @Override public GetCurrentUserDataResponse getCurrentUserData(GetCurrentUserDataRequest getCurrentUserDataRequest) throws InvalidRequestException, InvalidParameterException, InternalServiceException, ThrottlingException, ResourceNotFoundException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetCurrentUserDataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getCurrentUserDataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getCurrentUserDataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetCurrentUserData"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetCurrentUserData").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getCurrentUserDataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetCurrentUserDataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Supports SAML sign-in for Amazon Connect. Retrieves a token for federation. The token is for the Amazon Connect * user which corresponds to the IAM credentials that were used to invoke this action. *

*

* For more information about how SAML sign-in works in Amazon Connect, see Configure SAML with IAM for * Amazon Connect in the Amazon Connect Administrator Guide. *

* *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetFederationToken * @see AWS * API Documentation */ @Override public GetFederationTokenResponse getFederationToken(GetFederationTokenRequest getFederationTokenRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, UserNotFoundException, InternalServiceException, DuplicateResourceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetFederationTokenResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getFederationTokenRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getFederationTokenRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetFederationToken"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetFederationToken").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getFederationTokenRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetFederationTokenRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Retrieves the flow associated for a given resource. *

* * @param getFlowAssociationRequest * @return Result of the GetFlowAssociation operation returned by the service. * @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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetFlowAssociation * @see AWS * API Documentation */ @Override public GetFlowAssociationResponse getFlowAssociation(GetFlowAssociationRequest getFlowAssociationRequest) throws AccessDeniedException, ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetFlowAssociationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getFlowAssociationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getFlowAssociationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetFlowAssociation"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetFlowAssociation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getFlowAssociationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetFlowAssociationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. *

* *

* We recommend using the GetMetricDataV2 API. * It provides more flexibility, features, and the ability to query longer time ranges than * GetMetricData. Use it to retrieve historical agent and contact metrics for the last 3 months, at * varying intervals. You can also use it to build custom dashboards to measure historical queue and agent * performance. For example, you can track the number of incoming contacts for the last 7 days, with data split by * day, to see how contact volume changed per day of the week. *

*
* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetMetricData * @see AWS API * Documentation */ @Override public GetMetricDataResponse getMetricData(GetMetricDataRequest getMetricDataRequest) throws InvalidRequestException, InvalidParameterException, InternalServiceException, ThrottlingException, ResourceNotFoundException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetMetricDataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMetricDataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMetricDataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMetricData"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetMetricData").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getMetricDataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetMetricDataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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 3 months, at varying intervals. *

*

* For a description of the historical metrics that are supported by GetMetricDataV2 and * GetMetricData, see Historical * metrics definitions in the Amazon Connect Administrator 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetMetricDataV2 * @see AWS API * Documentation */ @Override public GetMetricDataV2Response getMetricDataV2(GetMetricDataV2Request getMetricDataV2Request) throws InvalidRequestException, InvalidParameterException, InternalServiceException, ThrottlingException, ResourceNotFoundException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetMetricDataV2Response::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getMetricDataV2Request, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getMetricDataV2Request .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetMetricDataV2"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetMetricDataV2").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getMetricDataV2Request) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetMetricDataV2RequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetPromptFile * @see AWS API * Documentation */ @Override public GetPromptFileResponse getPromptFile(GetPromptFileRequest getPromptFileRequest) throws InvalidParameterException, InvalidRequestException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetPromptFileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getPromptFileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getPromptFileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetPromptFile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetPromptFile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getPromptFileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetPromptFileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetTaskTemplate * @see AWS API * Documentation */ @Override public GetTaskTemplateResponse getTaskTemplate(GetTaskTemplateRequest getTaskTemplateRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, GetTaskTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTaskTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTaskTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTaskTemplate"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetTaskTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getTaskTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetTaskTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.GetTrafficDistribution * @see AWS API Documentation */ @Override public GetTrafficDistributionResponse getTrafficDistribution(GetTrafficDistributionRequest getTrafficDistributionRequest) throws InvalidRequestException, AccessDeniedException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, GetTrafficDistributionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(getTrafficDistributionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, getTrafficDistributionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "GetTrafficDistribution"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("GetTrafficDistribution").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(getTrafficDistributionRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new GetTrafficDistributionRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Imports a claimed phone number from an external service, such as Amazon Pinpoint, into an Amazon Connect * instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was * created. *

* *

* Call the DescribePhoneNumber * API to verify the status of a previous ImportPhoneNumber operation. *

*
*

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

*

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

*

* For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, * and in any 180 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 importPhoneNumberRequest * @return Result of the ImportPhoneNumber 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ImportPhoneNumber * @see AWS API * Documentation */ @Override public ImportPhoneNumberResponse importPhoneNumber(ImportPhoneNumberRequest importPhoneNumberRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, IdempotencyException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ImportPhoneNumberResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(importPhoneNumberRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, importPhoneNumberRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ImportPhoneNumber"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ImportPhoneNumber").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(importPhoneNumberRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ImportPhoneNumberRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListAgentStatuses * @see AWS API * Documentation */ @Override public ListAgentStatusesResponse listAgentStatuses(ListAgentStatusesRequest listAgentStatusesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListAgentStatusesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAgentStatusesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAgentStatusesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAgentStatuses"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListAgentStatuses").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAgentStatusesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAgentStatusesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* Lists the association status of requested dataset ID for a given Amazon Connect instance. *

* * @param listAnalyticsDataAssociationsRequest * @return Result of the ListAnalyticsDataAssociations 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListAnalyticsDataAssociations * @see AWS API Documentation */ @Override public ListAnalyticsDataAssociationsResponse listAnalyticsDataAssociations( ListAnalyticsDataAssociationsRequest listAnalyticsDataAssociationsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListAnalyticsDataAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAnalyticsDataAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAnalyticsDataAssociationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAnalyticsDataAssociations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAnalyticsDataAssociations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAnalyticsDataAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAnalyticsDataAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListApprovedOrigins * @see AWS * API Documentation */ @Override public ListApprovedOriginsResponse listApprovedOrigins(ListApprovedOriginsRequest listApprovedOriginsRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListApprovedOriginsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listApprovedOriginsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listApprovedOriginsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListApprovedOrigins"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListApprovedOrigins").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listApprovedOriginsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListApprovedOriginsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. To request access to this API, * contact Amazon Web Services Support. *

*

* Provides summary information about the authentication profiles in a specified Amazon Connect instance. *

* * @param listAuthenticationProfilesRequest * @return Result of the ListAuthenticationProfiles 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListAuthenticationProfiles * @see AWS API Documentation */ @Override public ListAuthenticationProfilesResponse listAuthenticationProfiles( ListAuthenticationProfilesRequest listAuthenticationProfilesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListAuthenticationProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listAuthenticationProfilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listAuthenticationProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListAuthenticationProfiles"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListAuthenticationProfiles").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listAuthenticationProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListAuthenticationProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListBots * @see AWS API * Documentation */ @Override public ListBotsResponse listBots(ListBotsRequest listBotsRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListBotsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listBotsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listBotsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListBots"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListBots").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listBotsRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListBotsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListContactEvaluations * @see AWS API Documentation */ @Override public ListContactEvaluationsResponse listContactEvaluations(ListContactEvaluationsRequest listContactEvaluationsRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListContactEvaluationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listContactEvaluationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listContactEvaluationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListContactEvaluations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListContactEvaluations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listContactEvaluationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListContactEvaluationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListContactFlowModules * @see AWS API Documentation */ @Override public ListContactFlowModulesResponse listContactFlowModules(ListContactFlowModulesRequest listContactFlowModulesRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListContactFlowModulesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listContactFlowModulesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listContactFlowModulesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListContactFlowModules"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListContactFlowModules").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listContactFlowModulesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListContactFlowModulesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListContactFlows * @see AWS API * Documentation */ @Override public ListContactFlowsResponse listContactFlows(ListContactFlowsRequest listContactFlowsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListContactFlowsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listContactFlowsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listContactFlowsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListContactFlows"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListContactFlows").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listContactFlowsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListContactFlowsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * References are links to documents that are related to a contact, such as emails, attachments, or URLs. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListContactReferences * @see AWS * API Documentation */ @Override public ListContactReferencesResponse listContactReferences(ListContactReferencesRequest listContactReferencesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListContactReferencesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listContactReferencesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listContactReferencesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListContactReferences"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListContactReferences").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listContactReferencesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListContactReferencesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListDefaultVocabularies * @see AWS API Documentation */ @Override public ListDefaultVocabulariesResponse listDefaultVocabularies(ListDefaultVocabulariesRequest listDefaultVocabulariesRequest) throws InvalidRequestException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListDefaultVocabulariesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listDefaultVocabulariesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listDefaultVocabulariesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListDefaultVocabularies"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListDefaultVocabularies").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listDefaultVocabulariesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListDefaultVocabulariesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListEvaluationFormVersions * @see AWS API Documentation */ @Override public ListEvaluationFormVersionsResponse listEvaluationFormVersions( ListEvaluationFormVersionsRequest listEvaluationFormVersionsRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListEvaluationFormVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listEvaluationFormVersionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listEvaluationFormVersionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListEvaluationFormVersions"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListEvaluationFormVersions").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listEvaluationFormVersionsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListEvaluationFormVersionsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListEvaluationForms * @see AWS * API Documentation */ @Override public ListEvaluationFormsResponse listEvaluationForms(ListEvaluationFormsRequest listEvaluationFormsRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListEvaluationFormsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listEvaluationFormsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listEvaluationFormsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListEvaluationForms"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListEvaluationForms").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listEvaluationFormsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListEvaluationFormsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* List the flow association based on the filters. *

* * @param listFlowAssociationsRequest * @return Result of the ListFlowAssociations operation returned by the service. * @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 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListFlowAssociations * @see AWS * API Documentation */ @Override public ListFlowAssociationsResponse listFlowAssociations(ListFlowAssociationsRequest listFlowAssociationsRequest) throws AccessDeniedException, ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListFlowAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listFlowAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listFlowAssociationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListFlowAssociations"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListFlowAssociations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listFlowAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListFlowAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListHoursOfOperations * @see AWS * API Documentation */ @Override public ListHoursOfOperationsResponse listHoursOfOperations(ListHoursOfOperationsRequest listHoursOfOperationsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListHoursOfOperationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listHoursOfOperationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listHoursOfOperationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListHoursOfOperations"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListHoursOfOperations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listHoursOfOperationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListHoursOfOperationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListInstanceAttributes * @see AWS API Documentation */ @Override public ListInstanceAttributesResponse listInstanceAttributes(ListInstanceAttributesRequest listInstanceAttributesRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListInstanceAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listInstanceAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listInstanceAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListInstanceAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListInstanceAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listInstanceAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListInstanceAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListInstanceStorageConfigs * @see AWS API Documentation */ @Override public ListInstanceStorageConfigsResponse listInstanceStorageConfigs( ListInstanceStorageConfigsRequest listInstanceStorageConfigsRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListInstanceStorageConfigsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listInstanceStorageConfigsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listInstanceStorageConfigsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListInstanceStorageConfigs"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListInstanceStorageConfigs").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listInstanceStorageConfigsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListInstanceStorageConfigsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListInstances * @see AWS API * Documentation */ @Override public ListInstancesResponse listInstances(ListInstancesRequest listInstancesRequest) throws InvalidRequestException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListInstancesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listInstancesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listInstancesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListInstances"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListInstances").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listInstancesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListInstancesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListIntegrationAssociations * @see AWS API Documentation */ @Override public ListIntegrationAssociationsResponse listIntegrationAssociations( ListIntegrationAssociationsRequest listIntegrationAssociationsRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListIntegrationAssociationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listIntegrationAssociationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listIntegrationAssociationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListIntegrationAssociations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListIntegrationAssociations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listIntegrationAssociationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListIntegrationAssociationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListLambdaFunctions * @see AWS * API Documentation */ @Override public ListLambdaFunctionsResponse listLambdaFunctions(ListLambdaFunctionsRequest listLambdaFunctionsRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListLambdaFunctionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listLambdaFunctionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listLambdaFunctionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListLambdaFunctions"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListLambdaFunctions").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listLambdaFunctionsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListLambdaFunctionsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListLexBots * @see AWS API * Documentation */ @Override public ListLexBotsResponse listLexBots(ListLexBotsRequest listLexBotsRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListLexBotsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listLexBotsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listLexBotsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListLexBots"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListLexBots").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listLexBotsRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListLexBotsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. *

* *
    *
  • *

    * We recommend using ListPhoneNumbersV2 * to return phone number types. ListPhoneNumbers doesn't support number types UIFN, * SHARED, THIRD_PARTY_TF, and THIRD_PARTY_DID. While it returns numbers of * those types, it incorrectly lists them as TOLL_FREE or DID. *

    *
  • *
  • *

    * 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListPhoneNumbers * @see AWS API * Documentation */ @Override public ListPhoneNumbersResponse listPhoneNumbers(ListPhoneNumbersRequest listPhoneNumbersRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListPhoneNumbersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPhoneNumbersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPhoneNumbersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPhoneNumbers"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListPhoneNumbers").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listPhoneNumbersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPhoneNumbersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. *

* *
    *
  • *

    * When given an instance ARN, ListPhoneNumbersV2 returns only the phone numbers claimed to the * instance. *

    *
  • *
  • *

    * When given a traffic distribution group ARN ListPhoneNumbersV2 returns only the phone numbers * claimed to the traffic distribution group. *

    *
  • *
*
* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListPhoneNumbersV2 * @see AWS * API Documentation */ @Override public ListPhoneNumbersV2Response listPhoneNumbersV2(ListPhoneNumbersV2Request listPhoneNumbersV2Request) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListPhoneNumbersV2Response::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPhoneNumbersV2Request, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPhoneNumbersV2Request .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPhoneNumbersV2"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListPhoneNumbersV2").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listPhoneNumbersV2Request) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPhoneNumbersV2RequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists predefined attributes for the specified Amazon Connect instance. Predefined attributes are * attributes in an Amazon Connect instance that can be used to route contacts to an agent or pools of agents within * a queue. For more information, see Create predefined * attributes for routing contacts to agents. *

* * @param listPredefinedAttributesRequest * @return Result of the ListPredefinedAttributes 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListPredefinedAttributes * @see AWS API Documentation */ @Override public ListPredefinedAttributesResponse listPredefinedAttributes( ListPredefinedAttributesRequest listPredefinedAttributesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListPredefinedAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPredefinedAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPredefinedAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPredefinedAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListPredefinedAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listPredefinedAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPredefinedAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListPrompts * @see AWS API * Documentation */ @Override public ListPromptsResponse listPrompts(ListPromptsRequest listPromptsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListPromptsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listPromptsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listPromptsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListPrompts"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListPrompts").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listPromptsRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListPromptsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListQueueQuickConnects * @see AWS API Documentation */ @Override public ListQueueQuickConnectsResponse listQueueQuickConnects(ListQueueQuickConnectsRequest listQueueQuickConnectsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListQueueQuickConnectsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listQueueQuickConnectsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listQueueQuickConnectsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListQueueQuickConnects"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListQueueQuickConnects").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listQueueQuickConnectsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListQueueQuickConnectsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListQueues * @see AWS API * Documentation */ @Override public ListQueuesResponse listQueues(ListQueuesRequest listQueuesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListQueuesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listQueuesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listQueuesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListQueues"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListQueues").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listQueuesRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListQueuesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListQuickConnects * @see AWS API * Documentation */ @Override public ListQuickConnectsResponse listQuickConnects(ListQuickConnectsRequest listQuickConnectsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListQuickConnectsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listQuickConnectsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listQuickConnectsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListQuickConnects"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListQuickConnects").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listQuickConnectsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListQuickConnectsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides a list of analysis segments for a real-time analysis session. *

* * @param listRealtimeContactAnalysisSegmentsV2Request * @return Result of the ListRealtimeContactAnalysisSegmentsV2 operation returned by the service. * @throws OutputTypeNotFoundException * Thrown for analyzed content when requested OutputType was not enabled for a given contact. For example, * if an OutputType.Raw was requested for a contact that had `RedactedOnly` Redaction policy set in Contact * flow. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListRealtimeContactAnalysisSegmentsV2 * @see AWS API Documentation */ @Override public ListRealtimeContactAnalysisSegmentsV2Response listRealtimeContactAnalysisSegmentsV2( ListRealtimeContactAnalysisSegmentsV2Request listRealtimeContactAnalysisSegmentsV2Request) throws OutputTypeNotFoundException, AccessDeniedException, ResourceNotFoundException, InvalidRequestException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, ListRealtimeContactAnalysisSegmentsV2Response::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listRealtimeContactAnalysisSegmentsV2Request, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listRealtimeContactAnalysisSegmentsV2Request.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListRealtimeContactAnalysisSegmentsV2"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListRealtimeContactAnalysisSegmentsV2").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(listRealtimeContactAnalysisSegmentsV2Request).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListRealtimeContactAnalysisSegmentsV2RequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListRoutingProfileQueues * @see AWS API Documentation */ @Override public ListRoutingProfileQueuesResponse listRoutingProfileQueues( ListRoutingProfileQueuesRequest listRoutingProfileQueuesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListRoutingProfileQueuesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listRoutingProfileQueuesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listRoutingProfileQueuesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListRoutingProfileQueues"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListRoutingProfileQueues").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listRoutingProfileQueuesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListRoutingProfileQueuesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListRoutingProfiles * @see AWS * API Documentation */ @Override public ListRoutingProfilesResponse listRoutingProfiles(ListRoutingProfilesRequest listRoutingProfilesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListRoutingProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listRoutingProfilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listRoutingProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListRoutingProfiles"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListRoutingProfiles").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listRoutingProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListRoutingProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListRules * @see AWS API * Documentation */ @Override public ListRulesResponse listRules(ListRulesRequest listRulesRequest) throws InvalidRequestException, InternalServiceException, ThrottlingException, AccessDeniedException, ResourceNotFoundException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListRulesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listRulesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listRulesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListRules"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListRules").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listRulesRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListRulesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListSecurityKeys * @see AWS API * Documentation */ @Override public ListSecurityKeysResponse listSecurityKeys(ListSecurityKeysRequest listSecurityKeysRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListSecurityKeysResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSecurityKeysRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSecurityKeysRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSecurityKeys"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListSecurityKeys").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listSecurityKeysRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSecurityKeysRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns a list of third-party applications in a specific security profile. *

* * @param listSecurityProfileApplicationsRequest * @return Result of the ListSecurityProfileApplications 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListSecurityProfileApplications * @see AWS API Documentation */ @Override public ListSecurityProfileApplicationsResponse listSecurityProfileApplications( ListSecurityProfileApplicationsRequest listSecurityProfileApplicationsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListSecurityProfileApplicationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSecurityProfileApplicationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSecurityProfileApplicationsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSecurityProfileApplications"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSecurityProfileApplications").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listSecurityProfileApplicationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSecurityProfileApplicationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists the permissions granted to a security profile. *

*

* For information about security profiles, see Security Profiles * in the Amazon Connect Administrator Guide. For a mapping of the API name and user interface name of the * security profile permissions, see List of security profile * permissions. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListSecurityProfilePermissions * @see AWS API Documentation */ @Override public ListSecurityProfilePermissionsResponse listSecurityProfilePermissions( ListSecurityProfilePermissionsRequest listSecurityProfilePermissionsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListSecurityProfilePermissionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSecurityProfilePermissionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSecurityProfilePermissionsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSecurityProfilePermissions"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListSecurityProfilePermissions").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listSecurityProfilePermissionsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSecurityProfilePermissionsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. For a mapping of the API name and user interface name of the * security profile permissions, see List of security profile * permissions. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListSecurityProfiles * @see AWS * API Documentation */ @Override public ListSecurityProfilesResponse listSecurityProfiles(ListSecurityProfilesRequest listSecurityProfilesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListSecurityProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listSecurityProfilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listSecurityProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListSecurityProfiles"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListSecurityProfiles").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listSecurityProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListSecurityProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListTagsForResource * @see AWS * API Documentation */ @Override public ListTagsForResourceResponse listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) throws InvalidRequestException, InvalidParameterException, InternalServiceException, ResourceNotFoundException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTagsForResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTagsForResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTagsForResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTagsForResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTagsForResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTagsForResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTagsForResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListTaskTemplates * @see AWS API * Documentation */ @Override public ListTaskTemplatesResponse listTaskTemplates(ListTaskTemplatesRequest listTaskTemplatesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListTaskTemplatesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTaskTemplatesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTaskTemplatesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTaskTemplates"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListTaskTemplates").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTaskTemplatesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTaskTemplatesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists traffic distribution group users. *

* * @param listTrafficDistributionGroupUsersRequest * @return Result of the ListTrafficDistributionGroupUsers operation returned by the service. * @throws ResourceNotFoundException * The specified resource was not found. * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListTrafficDistributionGroupUsers * @see AWS API Documentation */ @Override public ListTrafficDistributionGroupUsersResponse listTrafficDistributionGroupUsers( ListTrafficDistributionGroupUsersRequest listTrafficDistributionGroupUsersRequest) throws ResourceNotFoundException, InvalidRequestException, AccessDeniedException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTrafficDistributionGroupUsersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTrafficDistributionGroupUsersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTrafficDistributionGroupUsersRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTrafficDistributionGroupUsers"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListTrafficDistributionGroupUsers").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTrafficDistributionGroupUsersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTrafficDistributionGroupUsersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListTrafficDistributionGroups * @see AWS API Documentation */ @Override public ListTrafficDistributionGroupsResponse listTrafficDistributionGroups( ListTrafficDistributionGroupsRequest listTrafficDistributionGroupsRequest) throws InvalidRequestException, AccessDeniedException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListTrafficDistributionGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listTrafficDistributionGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listTrafficDistributionGroupsRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListTrafficDistributionGroups"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListTrafficDistributionGroups").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listTrafficDistributionGroupsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListTrafficDistributionGroupsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListUseCases * @see AWS API * Documentation */ @Override public ListUseCasesResponse listUseCases(ListUseCasesRequest listUseCasesRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListUseCasesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listUseCasesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listUseCasesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListUseCases"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListUseCases").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listUseCasesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListUseCasesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListUserHierarchyGroups * @see AWS API Documentation */ @Override public ListUserHierarchyGroupsResponse listUserHierarchyGroups(ListUserHierarchyGroupsRequest listUserHierarchyGroupsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListUserHierarchyGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listUserHierarchyGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listUserHierarchyGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListUserHierarchyGroups"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListUserHierarchyGroups").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listUserHierarchyGroupsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListUserHierarchyGroupsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Lists proficiencies associated with a user. *

* * @param listUserProficienciesRequest * @return Result of the ListUserProficiencies 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListUserProficiencies * @see AWS * API Documentation */ @Override public ListUserProficienciesResponse listUserProficiencies(ListUserProficienciesRequest listUserProficienciesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ListUserProficienciesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listUserProficienciesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listUserProficienciesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListUserProficiencies"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListUserProficiencies").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listUserProficienciesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListUserProficienciesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListUsers * @see AWS API * Documentation */ @Override public ListUsersResponse listUsers(ListUsersRequest listUsersRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListUsersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listUsersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listUsersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListUsers"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListUsers").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listUsersRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListUsersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns all the available versions for the specified Amazon Connect instance and view identifier. *

*

* Results will be sorted from highest to lowest. *

* * @param listViewVersionsRequest * @return Result of the ListViewVersions 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListViewVersions * @see AWS API * Documentation */ @Override public ListViewVersionsResponse listViewVersions(ListViewVersionsRequest listViewVersionsRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListViewVersionsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listViewVersionsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listViewVersionsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListViewVersions"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListViewVersions").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(listViewVersionsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListViewVersionsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Returns views in the given instance. *

*

* Results are sorted primarily by type, and secondarily by name. *

* * @param listViewsRequest * @return Result of the ListViews 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ListViews * @see AWS API * Documentation */ @Override public ListViewsResponse listViews(ListViewsRequest listViewsRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ListViewsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(listViewsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, listViewsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ListViews"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListViews").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(listViewsRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new ListViewsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.MonitorContact * @see AWS API * Documentation */ @Override public MonitorContactResponse monitorContact(MonitorContactRequest monitorContactRequest) throws InvalidRequestException, IdempotencyException, AccessDeniedException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, MonitorContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(monitorContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, monitorContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "MonitorContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("MonitorContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(monitorContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new MonitorContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Allows pausing an ongoing task contact. *

* * @param pauseContactRequest * @return Result of the PauseContact operation returned by the service. * @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. * @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 ConflictException * Operation cannot be performed at this time as there is a conflict with another operation or contact * state. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.PauseContact * @see AWS API * Documentation */ @Override public PauseContactResponse pauseContact(PauseContactRequest pauseContactRequest) throws AccessDeniedException, InternalServiceException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, LimitExceededException, ConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PauseContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(pauseContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, pauseContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PauseContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PauseContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(pauseContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PauseContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.PutUserStatus * @see AWS API * Documentation */ @Override public PutUserStatusResponse putUserStatus(PutUserStatusRequest putUserStatusRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, AccessDeniedException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, PutUserStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(putUserStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, putUserStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "PutUserStatus"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("PutUserStatus").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(putUserStatusRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new PutUserStatusRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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 admin website. *

*

* After releasing a phone number, the phone number enters into a cooldown period for up to 180 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, contact us for a service quota exception. Otherwise, it is * possible you will be blocked from claiming and releasing any more numbers until up to 180 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. If you claim and * release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number * service level quota, you will be blocked from claiming any more numbers until 180 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 180 * 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ReleasePhoneNumber * @see AWS * API Documentation */ @Override public ReleasePhoneNumberResponse releasePhoneNumber(ReleasePhoneNumberRequest releasePhoneNumberRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceInUseException, IdempotencyException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ReleasePhoneNumberResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(releasePhoneNumberRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, releasePhoneNumberRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ReleasePhoneNumber"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ReleasePhoneNumber").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(releasePhoneNumberRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ReleasePhoneNumberRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Replicates an Amazon Connect instance in the specified Amazon Web Services Region and copies configuration * information for Amazon Connect resources across Amazon Web Services Regions. *

*

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ReplicateInstance * @see AWS API * Documentation */ @Override public ReplicateInstanceResponse replicateInstance(ReplicateInstanceRequest replicateInstanceRequest) throws InvalidRequestException, AccessDeniedException, ServiceQuotaExceededException, ThrottlingException, ResourceNotFoundException, InternalServiceException, ResourceNotReadyException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ReplicateInstanceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(replicateInstanceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, replicateInstanceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ReplicateInstance"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ReplicateInstance").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(replicateInstanceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ReplicateInstanceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Allows resuming a task contact in a paused state. *

* * @param resumeContactRequest * @return Result of the ResumeContact operation returned by the service. * @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. * @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 ConflictException * Operation cannot be performed at this time as there is a conflict with another operation or contact * state. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ResumeContact * @see AWS API * Documentation */ @Override public ResumeContactResponse resumeContact(ResumeContactRequest resumeContactRequest) throws AccessDeniedException, InternalServiceException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, ConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, ResumeContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(resumeContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, resumeContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ResumeContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ResumeContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(resumeContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ResumeContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* When a contact is being recorded, and the recording has been suspended using SuspendContactRecording, this API * resumes recording whatever recording is selected in the flow configuration: call, screen, or both. If only call * recording or only screen recording is enabled, then it would resume. *

*

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.ResumeContactRecording * @see AWS API Documentation */ @Override public ResumeContactRecordingResponse resumeContactRecording(ResumeContactRecordingRequest resumeContactRecordingRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, ResumeContactRecordingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(resumeContactRecordingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, resumeContactRecordingRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "ResumeContactRecording"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ResumeContactRecording").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(resumeContactRecordingRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new ResumeContactRecordingRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

* * @param searchAgentStatusesRequest * @return Result of the SearchAgentStatuses 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchAgentStatuses * @see AWS * API Documentation */ @Override public SearchAgentStatusesResponse searchAgentStatuses(SearchAgentStatusesRequest searchAgentStatusesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchAgentStatusesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchAgentStatusesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchAgentStatusesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchAgentStatuses"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchAgentStatuses").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchAgentStatusesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchAgentStatusesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchAvailablePhoneNumbers * @see AWS API Documentation */ @Override public SearchAvailablePhoneNumbersResponse searchAvailablePhoneNumbers( SearchAvailablePhoneNumbersRequest searchAvailablePhoneNumbersRequest) throws InvalidParameterException, ThrottlingException, InternalServiceException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchAvailablePhoneNumbersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchAvailablePhoneNumbersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchAvailablePhoneNumbersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchAvailablePhoneNumbers"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SearchAvailablePhoneNumbers").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchAvailablePhoneNumbersRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchAvailablePhoneNumbersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches the flow modules in an Amazon Connect instance, with optional filtering. *

* * @param searchContactFlowModulesRequest * @return Result of the SearchContactFlowModules 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchContactFlowModules * @see AWS API Documentation */ @Override public SearchContactFlowModulesResponse searchContactFlowModules( SearchContactFlowModulesRequest searchContactFlowModulesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchContactFlowModulesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchContactFlowModulesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchContactFlowModulesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchContactFlowModules"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SearchContactFlowModules").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchContactFlowModulesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchContactFlowModulesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches the contact flows in an Amazon Connect instance, with optional filtering. *

* * @param searchContactFlowsRequest * @return Result of the SearchContactFlows 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchContactFlows * @see AWS * API Documentation */ @Override public SearchContactFlowsResponse searchContactFlows(SearchContactFlowsRequest searchContactFlowsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchContactFlowsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchContactFlowsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchContactFlowsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchContactFlows"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchContactFlows").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchContactFlowsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchContactFlowsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches contacts in an Amazon Connect instance. *

* * @param searchContactsRequest * @return Result of the SearchContacts 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchContacts * @see AWS API * Documentation */ @Override public SearchContactsResponse searchContacts(SearchContactsRequest searchContactsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchContactsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchContactsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchContactsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchContacts"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchContacts").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchContactsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchContactsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchHoursOfOperations * @see AWS API Documentation */ @Override public SearchHoursOfOperationsResponse searchHoursOfOperations(SearchHoursOfOperationsRequest searchHoursOfOperationsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchHoursOfOperationsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchHoursOfOperationsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchHoursOfOperationsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchHoursOfOperations"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SearchHoursOfOperations").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchHoursOfOperationsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchHoursOfOperationsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Searches predefined attributes that meet certain criteria. Predefined attributes are attributes in an * Amazon Connect instance that can be used to route contacts to an agent or pools of agents within a queue. For * more information, see Create predefined * attributes for routing contacts to agents. *

* * @param searchPredefinedAttributesRequest * @return Result of the SearchPredefinedAttributes 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchPredefinedAttributes * @see AWS API Documentation */ @Override public SearchPredefinedAttributesResponse searchPredefinedAttributes( SearchPredefinedAttributesRequest searchPredefinedAttributesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchPredefinedAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchPredefinedAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchPredefinedAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchPredefinedAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SearchPredefinedAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchPredefinedAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchPredefinedAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchPrompts * @see AWS API * Documentation */ @Override public SearchPromptsResponse searchPrompts(SearchPromptsRequest searchPromptsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchPromptsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchPromptsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchPromptsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchPrompts"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchPrompts").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchPromptsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchPromptsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchQueues * @see AWS API * Documentation */ @Override public SearchQueuesResponse searchQueues(SearchQueuesRequest searchQueuesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchQueuesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchQueuesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchQueuesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchQueues"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchQueues").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchQueuesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchQueuesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchQuickConnects * @see AWS * API Documentation */ @Override public SearchQuickConnectsResponse searchQuickConnects(SearchQuickConnectsRequest searchQuickConnectsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchQuickConnectsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchQuickConnectsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchQuickConnectsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchQuickConnects"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchQuickConnects").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchQuickConnectsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchQuickConnectsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchResourceTags * @see AWS * API Documentation */ @Override public SearchResourceTagsResponse searchResourceTags(SearchResourceTagsRequest searchResourceTagsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, MaximumResultReturnedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchResourceTagsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchResourceTagsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchResourceTagsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchResourceTags"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchResourceTags").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchResourceTagsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchResourceTagsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchRoutingProfiles * @see AWS * API Documentation */ @Override public SearchRoutingProfilesResponse searchRoutingProfiles(SearchRoutingProfilesRequest searchRoutingProfilesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchRoutingProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchRoutingProfilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchRoutingProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchRoutingProfiles"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchRoutingProfiles").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchRoutingProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchRoutingProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* For information about security profiles, see Security Profiles * in the Amazon Connect Administrator Guide. For a mapping of the API name and user interface name of the * security profile permissions, see List of security profile * permissions. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchSecurityProfiles * @see AWS API Documentation */ @Override public SearchSecurityProfilesResponse searchSecurityProfiles(SearchSecurityProfilesRequest searchSecurityProfilesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchSecurityProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchSecurityProfilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchSecurityProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchSecurityProfiles"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SearchSecurityProfiles").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchSecurityProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchSecurityProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

* *

* The UserHierarchyGroup with "LevelId": "0" is the foundation for building levels on top of an * instance. It is not user-definable, nor is it visible in the UI. *

*
* * @param searchUserHierarchyGroupsRequest * @return Result of the SearchUserHierarchyGroups 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchUserHierarchyGroups * @see AWS API Documentation */ @Override public SearchUserHierarchyGroupsResponse searchUserHierarchyGroups( SearchUserHierarchyGroupsRequest searchUserHierarchyGroupsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchUserHierarchyGroupsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchUserHierarchyGroupsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchUserHierarchyGroupsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchUserHierarchyGroups"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SearchUserHierarchyGroups").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchUserHierarchyGroupsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchUserHierarchyGroupsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchUsers * @see AWS API * Documentation */ @Override public SearchUsersResponse searchUsers(SearchUsersRequest searchUsersRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, SearchUsersResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchUsersRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchUsersRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchUsers"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchUsers").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(searchUsersRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchUsersRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SearchVocabularies * @see AWS * API Documentation */ @Override public SearchVocabulariesResponse searchVocabularies(SearchVocabulariesRequest searchVocabulariesRequest) throws InvalidRequestException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SearchVocabulariesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(searchVocabulariesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, searchVocabulariesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SearchVocabularies"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SearchVocabularies").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(searchVocabulariesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SearchVocabulariesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Processes chat integration events from Amazon Web Services or external integrations to Amazon Connect. A chat * integration event includes: *

*
    *
  • *

    * SourceId, DestinationId, and Subtype: a set of identifiers, uniquely representing a chat *

    *
  • *
  • *

    * ChatEvent: details of the chat action to perform such as sending a message, event, or disconnecting from a chat *

    *
  • *
*

* When a chat integration event is sent with chat identifiers that do not map to an active chat contact, a new chat * contact is also created before handling chat action. *

*

* Access to this API is currently restricted to Amazon Pinpoint for supporting SMS integration. *

* * @param sendChatIntegrationEventRequest * @return Result of the SendChatIntegrationEvent 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SendChatIntegrationEvent * @see AWS API Documentation */ @Override public SendChatIntegrationEventResponse sendChatIntegrationEvent( SendChatIntegrationEventRequest sendChatIntegrationEventRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SendChatIntegrationEventResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(sendChatIntegrationEventRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, sendChatIntegrationEventRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SendChatIntegrationEvent"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SendChatIntegrationEvent").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(sendChatIntegrationEventRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SendChatIntegrationEventRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Provides a pre-signed Amazon S3 URL in response for uploading your content. *

* *

* You may only use this API to upload attachments to an Amazon Connect * Case. *

*
* * @param startAttachedFileUploadRequest * @return Result of the StartAttachedFileUpload 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 InternalServiceException * Request processing failed because of an error or failure with the service. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws ResourceConflictException * A resource already has that name. * @throws ServiceQuotaExceededException * The service quota has been exceeded. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartAttachedFileUpload * @see AWS API Documentation */ @Override public StartAttachedFileUploadResponse startAttachedFileUpload(StartAttachedFileUploadRequest startAttachedFileUploadRequest) throws AccessDeniedException, InvalidRequestException, InternalServiceException, ThrottlingException, ResourceConflictException, ServiceQuotaExceededException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartAttachedFileUploadResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startAttachedFileUploadRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startAttachedFileUploadRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartAttachedFileUpload"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("StartAttachedFileUpload").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startAttachedFileUploadRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartAttachedFileUploadRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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 the following topics 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartChatContact * @see AWS API * Documentation */ @Override public StartChatContactResponse startChatContact(StartChatContactRequest startChatContactRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, LimitExceededException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartChatContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startChatContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startChatContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartChatContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartChatContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startChatContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartChatContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartContactEvaluation * @see AWS API Documentation */ @Override public StartContactEvaluationResponse startContactEvaluation(StartContactEvaluationRequest startContactEvaluationRequest) throws InternalServiceException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, ServiceQuotaExceededException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartContactEvaluationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startContactEvaluationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startContactEvaluationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartContactEvaluation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("StartContactEvaluation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startContactEvaluationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartContactEvaluationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartContactRecording * @see AWS * API Documentation */ @Override public StartContactRecordingResponse startContactRecording(StartContactRecordingRequest startContactRecordingRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartContactRecordingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startContactRecordingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startContactRecordingRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartContactRecording"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartContactRecording").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startContactRecordingRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartContactRecordingRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. *

*

* For more information about chat, see the following topics 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartContactStreaming * @see AWS * API Documentation */ @Override public StartContactStreamingResponse startContactStreaming(StartContactStreamingRequest startContactStreamingRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, LimitExceededException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartContactStreamingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startContactStreamingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startContactStreamingRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartContactStreaming"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartContactStreaming").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startContactStreamingRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartContactStreamingRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartOutboundVoiceContact * @see AWS API Documentation */ @Override public StartOutboundVoiceContactResponse startOutboundVoiceContact( StartOutboundVoiceContactRequest startOutboundVoiceContactRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, LimitExceededException, DestinationNotAllowedException, OutboundContactNotPermittedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartOutboundVoiceContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startOutboundVoiceContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startOutboundVoiceContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartOutboundVoiceContact"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("StartOutboundVoiceContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startOutboundVoiceContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartOutboundVoiceContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Initiates a flow to start a new task contact. For more information about task contacts, see Concepts: Tasks in Amazon Connect in * the Amazon Connect Administrator Guide. *

*

* When using PreviousContactId and RelatedContactId input parameters, note the following: *

*
    *
  • *

    * PreviousContactId *

    *
      *
    • *

      * Any updates to user-defined task contact attributes on any contact linked through the same * PreviousContactId will affect every contact in the chain. *

      *
    • *
    • *

      * There can be a maximum of 12 linked task contacts in a chain. That is, 12 task contacts can be created that share * the same PreviousContactId. *

      *
    • *
    *
  • *
  • *

    * RelatedContactId *

    *
      *
    • *

      * Copies contact attributes from the related task contact to the new contact. *

      *
    • *
    • *

      * Any update on attributes in a new task contact does not update attributes on previous contact. *

      *
    • *
    • *

      * There’s no limit on the number of task contacts that can be created that use the same * RelatedContactId. *

      *
    • *
    *
  • *
*

* In addition, when calling StartTaskContact include only one of these parameters: ContactFlowID, * QuickConnectID, or TaskTemplateID. Only one parameter is required as long as the task * template has a flow configured to run it. If more than one parameter is specified, or only the * TaskTemplateID is specified but it does not have a flow configured, the request returns an error * because Amazon Connect cannot identify the unique flow to run when the task is created. *

*

* A ServiceQuotaExceededException occurs when the number of open tasks exceeds the active tasks quota * or there are already 12 tasks referencing the same PreviousContactId. For more information about * service quotas for task contacts, see Amazon Connect * service quotas in the Amazon Connect Administrator Guide. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartTaskContact * @see AWS API * Documentation */ @Override public StartTaskContactResponse startTaskContact(StartTaskContactRequest startTaskContactRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, ServiceQuotaExceededException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StartTaskContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startTaskContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startTaskContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartTaskContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartTaskContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startTaskContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartTaskContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Places an inbound in-app, web, or video call to a contact, and then initiates the flow. It performs the actions * in the flow that are specified (in ContactFlowId) and present in the Amazon Connect instance (specified as * InstanceId). *

* * @param startWebRtcContactRequest * @return Result of the StartWebRTCContact operation returned by the service. * @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 LimitExceededException * The allowed limit for the resource has been exceeded. * @throws ResourceNotFoundException * The specified resource was not found. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StartWebRTCContact * @see AWS * API Documentation */ @Override public StartWebRtcContactResponse startWebRTCContact(StartWebRtcContactRequest startWebRtcContactRequest) throws InternalServiceException, InvalidRequestException, InvalidParameterException, LimitExceededException, ResourceNotFoundException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StartWebRtcContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(startWebRtcContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, startWebRtcContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StartWebRTCContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StartWebRTCContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(startWebRtcContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StartWebRtcContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Ends the specified contact. Use this API to stop queued callbacks. It does not work for voice contacts that use * the following initiation methods: *

*
    *
  • *

    * DISCONNECT *

    *
  • *
  • *

    * TRANSFER *

    *
  • *
  • *

    * QUEUE_TRANSFER *

    *
  • *
  • *

    * EXTERNAL_OUTBOUND *

    *
  • *
  • *

    * MONITOR *

    *
  • *
*

* Chat and task contacts can be terminated in any state, regardless of initiation method. *

* * @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 or Task contacts. * @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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StopContact * @see AWS API * Documentation */ @Override public StopContactResponse stopContact(StopContactRequest stopContactRequest) throws InvalidRequestException, ContactNotFoundException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, StopContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StopContact").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(stopContactRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new StopContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StopContactRecording * @see AWS * API Documentation */ @Override public StopContactRecordingResponse stopContactRecording(StopContactRecordingRequest stopContactRecordingRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StopContactRecordingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopContactRecordingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopContactRecordingRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopContactRecording"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StopContactRecording").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(stopContactRecordingRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StopContactRecordingRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.StopContactStreaming * @see AWS * API Documentation */ @Override public StopContactStreamingResponse stopContactStreaming(StopContactStreamingRequest stopContactStreamingRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, StopContactStreamingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(stopContactStreamingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, stopContactStreamingRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "StopContactStreaming"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StopContactStreaming").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(stopContactStreamingRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new StopContactStreamingRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SubmitContactEvaluation * @see AWS API Documentation */ @Override public SubmitContactEvaluationResponse submitContactEvaluation(SubmitContactEvaluationRequest submitContactEvaluationRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SubmitContactEvaluationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(submitContactEvaluationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, submitContactEvaluationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SubmitContactEvaluation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SubmitContactEvaluation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(submitContactEvaluationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SubmitContactEvaluationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* When a contact is being recorded, this API suspends recording whatever is selected in the flow configuration: * call, screen, or both. If only call recording or only screen recording is enabled, then it would be suspended. * For example, you might suspend the screen recording while collecting sensitive information, such as a credit card * number. Then use ResumeContactRecording to restart recording the screen. *

*

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.SuspendContactRecording * @see AWS API Documentation */ @Override public SuspendContactRecordingResponse suspendContactRecording(SuspendContactRecordingRequest suspendContactRecordingRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, SuspendContactRecordingResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(suspendContactRecordingRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, suspendContactRecordingRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "SuspendContactRecording"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("SuspendContactRecording").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(suspendContactRecordingRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new SuspendContactRecordingRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Adds the specified tags to the contact resource. For more information about this API is used, see Set up granular billing for a * detailed view of your Amazon Connect usage. *

* * @param tagContactRequest * @return Result of the TagContact 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 InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.TagContact * @see AWS API * Documentation */ @Override public TagContactResponse tagContact(TagContactRequest tagContactRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(tagContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, tagContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TagContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TagContact").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(tagContactRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new TagContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.TagResource * @see AWS API * Documentation */ @Override public TagResourceResponse tagResource(TagResourceRequest tagResourceRequest) throws InvalidRequestException, InvalidParameterException, InternalServiceException, ResourceNotFoundException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(tagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, tagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TagResource").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(tagResourceRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new TagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.TransferContact * @see AWS API * Documentation */ @Override public TransferContactResponse transferContact(TransferContactRequest transferContactRequest) throws InvalidRequestException, IdempotencyException, AccessDeniedException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, TransferContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(transferContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, transferContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "TransferContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("TransferContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(transferContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new TransferContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Removes the specified tags from the contact resource. For more information about this API is used, see Set up granular billing for a * detailed view of your Amazon Connect usage. *

* * @param untagContactRequest * @return Result of the UntagContact 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 InvalidParameterException * One or more of the specified parameters are not valid. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UntagContact * @see AWS API * Documentation */ @Override public UntagContactResponse untagContact(UntagContactRequest untagContactRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(untagContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, untagContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UntagContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UntagContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(untagContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UntagContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UntagResource * @see AWS API * Documentation */ @Override public UntagResourceResponse untagResource(UntagResourceRequest untagResourceRequest) throws InvalidRequestException, InvalidParameterException, InternalServiceException, ResourceNotFoundException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UntagResourceResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(untagResourceRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, untagResourceRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UntagResource"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UntagResource").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(untagResourceRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UntagResourceRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateAgentStatus * @see AWS API * Documentation */ @Override public UpdateAgentStatusResponse updateAgentStatus(UpdateAgentStatusRequest updateAgentStatusRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, LimitExceededException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateAgentStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateAgentStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateAgentStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateAgentStatus"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateAgentStatus").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateAgentStatusRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateAgentStatusRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* This API is in preview release for Amazon Connect and is subject to change. To request access to this API, * contact Amazon Web Services Support. *

*

* Updates the selected authentication profile. *

* * @param updateAuthenticationProfileRequest * @return Result of the UpdateAuthenticationProfile 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateAuthenticationProfile * @see AWS API Documentation */ @Override public UpdateAuthenticationProfileResponse updateAuthenticationProfile( UpdateAuthenticationProfileRequest updateAuthenticationProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateAuthenticationProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateAuthenticationProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateAuthenticationProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateAuthenticationProfile"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateAuthenticationProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateAuthenticationProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateAuthenticationProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContact * @see AWS API * Documentation */ @Override public UpdateContactResponse updateContact(UpdateContactRequest updateContactRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateContactResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContact"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateContact").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactAttributes * @see AWS API Documentation */ @Override public UpdateContactAttributesResponse updateContactAttributes(UpdateContactAttributesRequest updateContactAttributesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactAttributesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactAttributesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactAttributesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactAttributes"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateContactAttributes").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactAttributesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactAttributesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactEvaluation * @see AWS API Documentation */ @Override public UpdateContactEvaluationResponse updateContactEvaluation(UpdateContactEvaluationRequest updateContactEvaluationRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactEvaluationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactEvaluationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactEvaluationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactEvaluation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateContactEvaluation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactEvaluationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactEvaluationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the specified flow. *

*

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

*

* Use the $SAVED alias in the request to describe the SAVED content of a Flow. For * example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, * $SAVED needs to be supplied to view saved content that has not been published. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactFlowContent * @see AWS API Documentation */ @Override public UpdateContactFlowContentResponse updateContactFlowContent( UpdateContactFlowContentRequest updateContactFlowContentRequest) throws InvalidRequestException, InvalidContactFlowException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactFlowContentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactFlowContentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactFlowContentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactFlowContent"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateContactFlowContent").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactFlowContentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactFlowContentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactFlowMetadata * @see AWS API Documentation */ @Override public UpdateContactFlowMetadataResponse updateContactFlowMetadata( UpdateContactFlowMetadataRequest updateContactFlowMetadataRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactFlowMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactFlowMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactFlowMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactFlowMetadata"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateContactFlowMetadata").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactFlowMetadataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactFlowMetadataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

*

* Use the $SAVED alias in the request to describe the SAVED content of a Flow. For * example, arn:aws:.../contact-flow/{id}:$SAVED. Once a contact flow is published, * $SAVED needs to be supplied to view saved content that has not been published. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactFlowModuleContent * @see AWS API Documentation */ @Override public UpdateContactFlowModuleContentResponse updateContactFlowModuleContent( UpdateContactFlowModuleContentRequest updateContactFlowModuleContentRequest) throws AccessDeniedException, InvalidRequestException, InvalidContactFlowModuleException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactFlowModuleContentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactFlowModuleContentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactFlowModuleContentRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactFlowModuleContent"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateContactFlowModuleContent").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactFlowModuleContentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactFlowModuleContentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactFlowModuleMetadata * @see AWS API Documentation */ @Override public UpdateContactFlowModuleMetadataResponse updateContactFlowModuleMetadata( UpdateContactFlowModuleMetadataRequest updateContactFlowModuleMetadataRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactFlowModuleMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactFlowModuleMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactFlowModuleMetadataRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactFlowModuleMetadata"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateContactFlowModuleMetadata").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactFlowModuleMetadataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactFlowModuleMetadataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactFlowName * @see AWS * API Documentation */ @Override public UpdateContactFlowNameResponse updateContactFlowName(UpdateContactFlowNameRequest updateContactFlowNameRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactFlowNameResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactFlowNameRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactFlowNameRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactFlowName"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateContactFlowName").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactFlowNameRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactFlowNameRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates routing priority and age on the contact (QueuePriority and QueueTimeAdjustmentInSeconds). * These properties can be used to change a customer's position in the queue. For example, you can move a contact to * the back of the queue by setting a lower routing priority relative to other contacts in queue; or you can move a * contact to the front of the queue by increasing the routing age which will make the contact look artificially * older and therefore higher up in the first-in-first-out routing order. Note that adjusting the routing age of a * contact affects only its position in queue, and not its actual queue wait time as reported through metrics. These * properties can also be updated by using the Set routing * priority / age flow block. *

* *

* Either QueuePriority or QueueTimeAdjustmentInSeconds should be provided within the request body, * but not both. *

*
* * @param updateContactRoutingDataRequest * @return Result of the UpdateContactRoutingData operation returned by the service. * @throws ResourceConflictException * A resource already has that name. * @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. * @throws AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactRoutingData * @see AWS API Documentation */ @Override public UpdateContactRoutingDataResponse updateContactRoutingData( UpdateContactRoutingDataRequest updateContactRoutingDataRequest) throws ResourceConflictException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactRoutingDataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactRoutingDataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactRoutingDataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactRoutingData"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateContactRoutingData").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactRoutingDataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactRoutingDataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateContactSchedule * @see AWS * API Documentation */ @Override public UpdateContactScheduleResponse updateContactSchedule(UpdateContactScheduleRequest updateContactScheduleRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, LimitExceededException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateContactScheduleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateContactScheduleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateContactScheduleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateContactSchedule"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateContactSchedule").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateContactScheduleRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateContactScheduleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateEvaluationForm * @see AWS * API Documentation */ @Override public UpdateEvaluationFormResponse updateEvaluationForm(UpdateEvaluationFormRequest updateEvaluationFormRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ServiceQuotaExceededException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateEvaluationFormResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateEvaluationFormRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateEvaluationFormRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateEvaluationForm"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateEvaluationForm").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateEvaluationFormRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateEvaluationFormRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateHoursOfOperation * @see AWS API Documentation */ @Override public UpdateHoursOfOperationResponse updateHoursOfOperation(UpdateHoursOfOperationRequest updateHoursOfOperationRequest) throws DuplicateResourceException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateHoursOfOperationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateHoursOfOperationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateHoursOfOperationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateHoursOfOperation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateHoursOfOperation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateHoursOfOperationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateHoursOfOperationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateInstanceAttribute * @see AWS API Documentation */ @Override public UpdateInstanceAttributeResponse updateInstanceAttribute(UpdateInstanceAttributeRequest updateInstanceAttributeRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateInstanceAttributeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateInstanceAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateInstanceAttributeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateInstanceAttribute"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateInstanceAttribute").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateInstanceAttributeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateInstanceAttributeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateInstanceStorageConfig * @see AWS API Documentation */ @Override public UpdateInstanceStorageConfigResponse updateInstanceStorageConfig( UpdateInstanceStorageConfigRequest updateInstanceStorageConfigRequest) throws ResourceNotFoundException, InternalServiceException, InvalidRequestException, InvalidParameterException, ThrottlingException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateInstanceStorageConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateInstanceStorageConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateInstanceStorageConfigRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateInstanceStorageConfig"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateInstanceStorageConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateInstanceStorageConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateInstanceStorageConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateParticipantRoleConfig * @see AWS API Documentation */ @Override public UpdateParticipantRoleConfigResponse updateParticipantRoleConfig( UpdateParticipantRoleConfigRequest updateParticipantRoleConfigRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, AccessDeniedException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateParticipantRoleConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateParticipantRoleConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateParticipantRoleConfigRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateParticipantRoleConfig"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateParticipantRoleConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateParticipantRoleConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateParticipantRoleConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdatePhoneNumber * @see AWS API * Documentation */ @Override public UpdatePhoneNumberResponse updatePhoneNumber(UpdatePhoneNumberRequest updatePhoneNumberRequest) throws InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, ResourceInUseException, IdempotencyException, AccessDeniedException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdatePhoneNumberResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updatePhoneNumberRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updatePhoneNumberRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdatePhoneNumber"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdatePhoneNumber").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updatePhoneNumberRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdatePhoneNumberRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a phone number’s metadata. *

* *

* To verify the status of a previous UpdatePhoneNumberMetadata operation, call the DescribePhoneNumber API. *

*
* * @param updatePhoneNumberMetadataRequest * @return Result of the UpdatePhoneNumberMetadata 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 AccessDeniedException * You do not have sufficient permissions to perform this action. * @throws ResourceNotFoundException * The specified resource was not found. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws IdempotencyException * An entity with the same name already exists. * @throws ThrottlingException * The throttling limit has been exceeded. * @throws InternalServiceException * Request processing failed because of an error or failure with the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdatePhoneNumberMetadata * @see AWS API Documentation */ @Override public UpdatePhoneNumberMetadataResponse updatePhoneNumberMetadata( UpdatePhoneNumberMetadataRequest updatePhoneNumberMetadataRequest) throws InvalidParameterException, InvalidRequestException, AccessDeniedException, ResourceNotFoundException, ResourceInUseException, IdempotencyException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdatePhoneNumberMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updatePhoneNumberMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updatePhoneNumberMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdatePhoneNumberMetadata"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdatePhoneNumberMetadata").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updatePhoneNumberMetadataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdatePhoneNumberMetadataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a predefined attribute for the specified Amazon Connect instance. Predefined attributes are * attributes in an Amazon Connect instance that can be used to route contacts to an agent or pools of agents within * a queue. For more information, see Create predefined * attributes for routing contacts to agents. *

* * @param updatePredefinedAttributeRequest * @return Result of the UpdatePredefinedAttribute 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdatePredefinedAttribute * @see AWS API Documentation */ @Override public UpdatePredefinedAttributeResponse updatePredefinedAttribute( UpdatePredefinedAttributeRequest updatePredefinedAttributeRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdatePredefinedAttributeResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updatePredefinedAttributeRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updatePredefinedAttributeRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdatePredefinedAttribute"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdatePredefinedAttribute").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updatePredefinedAttributeRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdatePredefinedAttributeRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdatePrompt * @see AWS API * Documentation */ @Override public UpdatePromptResponse updatePrompt(UpdatePromptRequest updatePromptRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdatePromptResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updatePromptRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updatePromptRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdatePrompt"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdatePrompt").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updatePromptRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdatePromptRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateQueueHoursOfOperation * @see AWS API Documentation */ @Override public UpdateQueueHoursOfOperationResponse updateQueueHoursOfOperation( UpdateQueueHoursOfOperationRequest updateQueueHoursOfOperationRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateQueueHoursOfOperationResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateQueueHoursOfOperationRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateQueueHoursOfOperationRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateQueueHoursOfOperation"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateQueueHoursOfOperation").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateQueueHoursOfOperationRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateQueueHoursOfOperationRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateQueueMaxContacts * @see AWS API Documentation */ @Override public UpdateQueueMaxContactsResponse updateQueueMaxContacts(UpdateQueueMaxContactsRequest updateQueueMaxContactsRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateQueueMaxContactsResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateQueueMaxContactsRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateQueueMaxContactsRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateQueueMaxContacts"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateQueueMaxContacts").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateQueueMaxContactsRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateQueueMaxContactsRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateQueueName * @see AWS API * Documentation */ @Override public UpdateQueueNameResponse updateQueueName(UpdateQueueNameRequest updateQueueNameRequest) throws DuplicateResourceException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateQueueNameResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateQueueNameRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateQueueNameRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateQueueName"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateQueueName").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateQueueNameRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateQueueNameRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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 phone number is claimed to a traffic distribution group that was created in the same Region as the Amazon * Connect instance where you are calling this API, then you can use a full phone number ARN or a UUID for * OutboundCallerIdNumberId. However, if the phone number is claimed to a traffic distribution group * that is in one Region, and you are calling this API from an instance in another Amazon Web Services Region that * is 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. *

    *
  • *
  • *

    * If you plan to use IAM policies to allow/deny access to this API for phone number resources claimed to a traffic * distribution group, see Allow or Deny queue API actions for phone numbers in a replica Region. *

    *
  • *
*
* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateQueueOutboundCallerConfig * @see AWS API Documentation */ @Override public UpdateQueueOutboundCallerConfigResponse updateQueueOutboundCallerConfig( UpdateQueueOutboundCallerConfigRequest updateQueueOutboundCallerConfigRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateQueueOutboundCallerConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateQueueOutboundCallerConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateQueueOutboundCallerConfigRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateQueueOutboundCallerConfig"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateQueueOutboundCallerConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateQueueOutboundCallerConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateQueueOutboundCallerConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateQueueStatus * @see AWS API * Documentation */ @Override public UpdateQueueStatusResponse updateQueueStatus(UpdateQueueStatusRequest updateQueueStatusRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateQueueStatusResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateQueueStatusRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateQueueStatusRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateQueueStatus"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateQueueStatus").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateQueueStatusRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateQueueStatusRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateQuickConnectConfig * @see AWS API Documentation */ @Override public UpdateQuickConnectConfigResponse updateQuickConnectConfig( UpdateQuickConnectConfigRequest updateQuickConnectConfigRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateQuickConnectConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateQuickConnectConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateQuickConnectConfigRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateQuickConnectConfig"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateQuickConnectConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateQuickConnectConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateQuickConnectConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateQuickConnectName * @see AWS API Documentation */ @Override public UpdateQuickConnectNameResponse updateQuickConnectName(UpdateQuickConnectNameRequest updateQuickConnectNameRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateQuickConnectNameResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateQuickConnectNameRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateQuickConnectNameRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateQuickConnectName"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateQuickConnectName").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateQuickConnectNameRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateQuickConnectNameRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Whether agents with this routing profile will have their routing order calculated based on time since their * last inbound contact or longest idle time. *

* * @param updateRoutingProfileAgentAvailabilityTimerRequest * @return Result of the UpdateRoutingProfileAgentAvailabilityTimer 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateRoutingProfileAgentAvailabilityTimer * @see AWS API Documentation */ @Override public UpdateRoutingProfileAgentAvailabilityTimerResponse updateRoutingProfileAgentAvailabilityTimer( UpdateRoutingProfileAgentAvailabilityTimerRequest updateRoutingProfileAgentAvailabilityTimerRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateRoutingProfileAgentAvailabilityTimerResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( updateRoutingProfileAgentAvailabilityTimerRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRoutingProfileAgentAvailabilityTimerRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRoutingProfileAgentAvailabilityTimer"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateRoutingProfileAgentAvailabilityTimer") .withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(updateRoutingProfileAgentAvailabilityTimerRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateRoutingProfileAgentAvailabilityTimerRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateRoutingProfileConcurrency * @see AWS API Documentation */ @Override public UpdateRoutingProfileConcurrencyResponse updateRoutingProfileConcurrency( UpdateRoutingProfileConcurrencyRequest updateRoutingProfileConcurrencyRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateRoutingProfileConcurrencyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateRoutingProfileConcurrencyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRoutingProfileConcurrencyRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRoutingProfileConcurrency"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateRoutingProfileConcurrency").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateRoutingProfileConcurrencyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateRoutingProfileConcurrencyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateRoutingProfileDefaultOutboundQueue * @see AWS API Documentation */ @Override public UpdateRoutingProfileDefaultOutboundQueueResponse updateRoutingProfileDefaultOutboundQueue( UpdateRoutingProfileDefaultOutboundQueueRequest updateRoutingProfileDefaultOutboundQueueRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(operationMetadata, UpdateRoutingProfileDefaultOutboundQueueResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration( updateRoutingProfileDefaultOutboundQueueRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRoutingProfileDefaultOutboundQueueRequest.overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRoutingProfileDefaultOutboundQueue"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateRoutingProfileDefaultOutboundQueue").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration) .withInput(updateRoutingProfileDefaultOutboundQueueRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateRoutingProfileDefaultOutboundQueueRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateRoutingProfileName * @see AWS API Documentation */ @Override public UpdateRoutingProfileNameResponse updateRoutingProfileName( UpdateRoutingProfileNameRequest updateRoutingProfileNameRequest) throws DuplicateResourceException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateRoutingProfileNameResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateRoutingProfileNameRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRoutingProfileNameRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRoutingProfileName"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateRoutingProfileName").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateRoutingProfileNameRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateRoutingProfileNameRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateRoutingProfileQueues * @see AWS API Documentation */ @Override public UpdateRoutingProfileQueuesResponse updateRoutingProfileQueues( UpdateRoutingProfileQueuesRequest updateRoutingProfileQueuesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateRoutingProfileQueuesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateRoutingProfileQueuesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRoutingProfileQueuesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRoutingProfileQueues"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateRoutingProfileQueues").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateRoutingProfileQueuesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateRoutingProfileQueuesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateRule * @see AWS API * Documentation */ @Override public UpdateRuleResponse updateRule(UpdateRuleRequest updateRuleRequest) throws InvalidRequestException, ResourceNotFoundException, InternalServiceException, ThrottlingException, AccessDeniedException, ResourceConflictException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateRuleResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateRuleRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateRuleRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateRule"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateRule").withProtocolMetadata(protocolMetadata).withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withRequestConfiguration(clientConfiguration) .withInput(updateRuleRequest).withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateRuleRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates a security profile. *

*

* For information about security profiles, see Security Profiles * in the Amazon Connect Administrator Guide. For a mapping of the API name and user interface name of the * security profile permissions, see List of security profile * permissions. *

* * @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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateSecurityProfile * @see AWS * API Documentation */ @Override public UpdateSecurityProfileResponse updateSecurityProfile(UpdateSecurityProfileRequest updateSecurityProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateSecurityProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateSecurityProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateSecurityProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateSecurityProfile"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateSecurityProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateSecurityProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateSecurityProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateTaskTemplate * @see AWS * API Documentation */ @Override public UpdateTaskTemplateResponse updateTaskTemplate(UpdateTaskTemplateRequest updateTaskTemplateRequest) throws PropertyValidationException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, ServiceQuotaExceededException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateTaskTemplateResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateTaskTemplateRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateTaskTemplateRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateTaskTemplate"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateTaskTemplate").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateTaskTemplateRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateTaskTemplateRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

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

* *

* The SignInConfig distribution is available only on a default TrafficDistributionGroup * (see the IsDefault parameter in the TrafficDistributionGroup data type). If you call UpdateTrafficDistribution with a modified * SignInConfig and a non-default TrafficDistributionGroup, an * InvalidRequestException is returned. *

*
*

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateTrafficDistribution * @see AWS API Documentation */ @Override public UpdateTrafficDistributionResponse updateTrafficDistribution( UpdateTrafficDistributionRequest updateTrafficDistributionRequest) throws InvalidRequestException, AccessDeniedException, ResourceNotFoundException, ResourceConflictException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateTrafficDistributionResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateTrafficDistributionRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateTrafficDistributionRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateTrafficDistribution"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateTrafficDistribution").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateTrafficDistributionRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateTrafficDistributionRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserHierarchy * @see AWS * API Documentation */ @Override public UpdateUserHierarchyResponse updateUserHierarchy(UpdateUserHierarchyRequest updateUserHierarchyRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserHierarchyResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserHierarchyRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserHierarchyRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserHierarchy"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateUserHierarchy").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserHierarchyRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserHierarchyRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserHierarchyGroupName * @see AWS API Documentation */ @Override public UpdateUserHierarchyGroupNameResponse updateUserHierarchyGroupName( UpdateUserHierarchyGroupNameRequest updateUserHierarchyGroupNameRequest) throws InvalidRequestException, InvalidParameterException, DuplicateResourceException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserHierarchyGroupNameResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserHierarchyGroupNameRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserHierarchyGroupNameRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserHierarchyGroupName"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUserHierarchyGroupName").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserHierarchyGroupNameRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserHierarchyGroupNameRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserHierarchyStructure * @see AWS API Documentation */ @Override public UpdateUserHierarchyStructureResponse updateUserHierarchyStructure( UpdateUserHierarchyStructureRequest updateUserHierarchyStructureRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ResourceInUseException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserHierarchyStructureResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserHierarchyStructureRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserHierarchyStructureRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserHierarchyStructure"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUserHierarchyStructure").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserHierarchyStructureRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserHierarchyStructureRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserIdentityInfo * @see AWS API Documentation */ @Override public UpdateUserIdentityInfoResponse updateUserIdentityInfo(UpdateUserIdentityInfoRequest updateUserIdentityInfoRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserIdentityInfoResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserIdentityInfoRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserIdentityInfoRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserIdentityInfo"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUserIdentityInfo").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserIdentityInfoRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserIdentityInfoRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserPhoneConfig * @see AWS * API Documentation */ @Override public UpdateUserPhoneConfigResponse updateUserPhoneConfig(UpdateUserPhoneConfigRequest updateUserPhoneConfigRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserPhoneConfigResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserPhoneConfigRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserPhoneConfigRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserPhoneConfig"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateUserPhoneConfig").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserPhoneConfigRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserPhoneConfigRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the properties associated with the proficiencies of a user. *

* * @param updateUserProficienciesRequest * @return Result of the UpdateUserProficiencies 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 SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserProficiencies * @see AWS API Documentation */ @Override public UpdateUserProficienciesResponse updateUserProficiencies(UpdateUserProficienciesRequest updateUserProficienciesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserProficienciesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserProficienciesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserProficienciesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserProficiencies"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUserProficiencies").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserProficienciesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserProficienciesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserRoutingProfile * @see AWS API Documentation */ @Override public UpdateUserRoutingProfileResponse updateUserRoutingProfile( UpdateUserRoutingProfileRequest updateUserRoutingProfileRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserRoutingProfileResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserRoutingProfileRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserRoutingProfileRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserRoutingProfile"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUserRoutingProfile").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserRoutingProfileRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserRoutingProfileRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateUserSecurityProfiles * @see AWS API Documentation */ @Override public UpdateUserSecurityProfilesResponse updateUserSecurityProfiles( UpdateUserSecurityProfilesRequest updateUserSecurityProfilesRequest) throws InvalidRequestException, InvalidParameterException, ResourceNotFoundException, ThrottlingException, InternalServiceException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateUserSecurityProfilesResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateUserSecurityProfilesRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateUserSecurityProfilesRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateUserSecurityProfiles"); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateUserSecurityProfiles").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateUserSecurityProfilesRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateUserSecurityProfilesRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the view content of the given view identifier in the specified Amazon Connect instance. *

*

* It performs content validation if Status is set to SAVED and performs full content * validation if Status is PUBLISHED. Note that the $SAVED alias' content * will always be updated, but the $LATEST alias' content will only be updated if * Status is PUBLISHED. *

* * @param updateViewContentRequest * @return Result of the UpdateViewContent 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateViewContent * @see AWS API * Documentation */ @Override public UpdateViewContentResponse updateViewContent(UpdateViewContentRequest updateViewContentRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler(operationMetadata, UpdateViewContentResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateViewContentRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateViewContentRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateViewContent"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateViewContent").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateViewContentRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateViewContentRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } /** *

* Updates the view metadata. Note that either Name or Description must be provided. *

* * @param updateViewMetadataRequest * @return Result of the UpdateViewMetadata 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 TooManyRequestsException * Displayed when rate-related API limits are exceeded. * @throws DuplicateResourceException * A resource with the specified name already exists. * @throws ResourceInUseException * That resource is already in use. Please try another. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws ConnectException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample ConnectClient.UpdateViewMetadata * @see AWS * API Documentation */ @Override public UpdateViewMetadataResponse updateViewMetadata(UpdateViewMetadataRequest updateViewMetadataRequest) throws AccessDeniedException, InvalidRequestException, InvalidParameterException, ResourceNotFoundException, InternalServiceException, TooManyRequestsException, DuplicateResourceException, ResourceInUseException, AwsServiceException, SdkClientException, ConnectException { JsonOperationMetadata operationMetadata = JsonOperationMetadata.builder().hasStreamingSuccessResponse(false) .isPayloadJson(true).build(); HttpResponseHandler responseHandler = protocolFactory.createResponseHandler( operationMetadata, UpdateViewMetadataResponse::builder); HttpResponseHandler errorResponseHandler = createErrorResponseHandler(protocolFactory, operationMetadata); SdkClientConfiguration clientConfiguration = updateSdkClientConfiguration(updateViewMetadataRequest, this.clientConfiguration); List metricPublishers = resolveMetricPublishers(clientConfiguration, updateViewMetadataRequest .overrideConfiguration().orElse(null)); MetricCollector apiCallMetricCollector = metricPublishers.isEmpty() ? NoOpMetricCollector.create() : MetricCollector .create("ApiCall"); try { apiCallMetricCollector.reportMetric(CoreMetric.SERVICE_ID, "Connect"); apiCallMetricCollector.reportMetric(CoreMetric.OPERATION_NAME, "UpdateViewMetadata"); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateViewMetadata").withProtocolMetadata(protocolMetadata) .withResponseHandler(responseHandler).withErrorResponseHandler(errorResponseHandler) .withRequestConfiguration(clientConfiguration).withInput(updateViewMetadataRequest) .withMetricCollector(apiCallMetricCollector) .withMarshaller(new UpdateViewMetadataRequestMarshaller(protocolFactory))); } finally { metricPublishers.forEach(p -> p.publish(apiCallMetricCollector.collect())); } } @Override public final String serviceName() { return SERVICE_NAME; } private static List resolveMetricPublishers(SdkClientConfiguration clientConfiguration, RequestOverrideConfiguration requestOverrideConfiguration) { List publishers = null; if (requestOverrideConfiguration != null) { publishers = requestOverrideConfiguration.metricPublishers(); } if (publishers == null || publishers.isEmpty()) { publishers = clientConfiguration.option(SdkClientOption.METRIC_PUBLISHERS); } if (publishers == null) { publishers = Collections.emptyList(); } return publishers; } private HttpResponseHandler createErrorResponseHandler(BaseAwsJsonProtocolFactory protocolFactory, JsonOperationMetadata operationMetadata) { return protocolFactory.createErrorResponseHandler(operationMetadata); } private void updateRetryStrategyClientConfiguration(SdkClientConfiguration.Builder configuration) { ClientOverrideConfiguration.Builder builder = configuration.asOverrideConfigurationBuilder(); RetryMode retryMode = builder.retryMode(); if (retryMode != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, AwsRetryStrategy.forRetryMode(retryMode)); } else { Consumer> configurator = builder.retryStrategyConfigurator(); if (configurator != null) { RetryStrategy.Builder defaultBuilder = AwsRetryStrategy.defaultRetryStrategy().toBuilder(); configurator.accept(defaultBuilder); configuration.option(SdkClientOption.RETRY_STRATEGY, defaultBuilder.build()); } else { RetryStrategy retryStrategy = builder.retryStrategy(); if (retryStrategy != null) { configuration.option(SdkClientOption.RETRY_STRATEGY, retryStrategy); } } } configuration.option(SdkClientOption.CONFIGURED_RETRY_MODE, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_STRATEGY, null); configuration.option(SdkClientOption.CONFIGURED_RETRY_CONFIGURATOR, null); } private SdkClientConfiguration updateSdkClientConfiguration(SdkRequest request, SdkClientConfiguration clientConfiguration) { List plugins = request.overrideConfiguration().map(c -> c.plugins()).orElse(Collections.emptyList()); SdkClientConfiguration.Builder configuration = clientConfiguration.toBuilder(); if (plugins.isEmpty()) { return configuration.build(); } ConnectServiceClientConfigurationBuilder serviceConfigBuilder = new ConnectServiceClientConfigurationBuilder( configuration); for (SdkPlugin plugin : plugins) { plugin.configureClient(serviceConfigBuilder); } updateRetryStrategyClientConfiguration(configuration); return configuration.build(); } private > T init(T builder) { return builder .clientConfiguration(clientConfiguration) .defaultServiceExceptionSupplier(ConnectException::builder) .protocol(AwsJsonProtocol.REST_JSON) .protocolVersion("1.1") .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotReadyException") .exceptionBuilderSupplier(ResourceNotReadyException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DuplicateResourceException") .exceptionBuilderSupplier(DuplicateResourceException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InternalServiceException") .exceptionBuilderSupplier(InternalServiceException::builder).httpStatusCode(500).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceInUseException") .exceptionBuilderSupplier(ResourceInUseException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ConflictException") .exceptionBuilderSupplier(ConflictException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidRequestException") .exceptionBuilderSupplier(InvalidRequestException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OutputTypeNotFoundException") .exceptionBuilderSupplier(OutputTypeNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceNotFoundException") .exceptionBuilderSupplier(ResourceNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("MaximumResultReturnedException") .exceptionBuilderSupplier(MaximumResultReturnedException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidParameterException") .exceptionBuilderSupplier(InvalidParameterException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ContactNotFoundException") .exceptionBuilderSupplier(ContactNotFoundException::builder).httpStatusCode(410).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OutboundContactNotPermittedException") .exceptionBuilderSupplier(OutboundContactNotPermittedException::builder).httpStatusCode(403) .build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ContactFlowNotPublishedException") .exceptionBuilderSupplier(ContactFlowNotPublishedException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ServiceQuotaExceededException") .exceptionBuilderSupplier(ServiceQuotaExceededException::builder).httpStatusCode(402).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("LimitExceededException") .exceptionBuilderSupplier(LimitExceededException::builder).httpStatusCode(429).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("UserNotFoundException") .exceptionBuilderSupplier(UserNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("DestinationNotAllowedException") .exceptionBuilderSupplier(DestinationNotAllowedException::builder).httpStatusCode(403).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("PropertyValidationException") .exceptionBuilderSupplier(PropertyValidationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ThrottlingException") .exceptionBuilderSupplier(ThrottlingException::builder).httpStatusCode(429).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TooManyRequestsException") .exceptionBuilderSupplier(TooManyRequestsException::builder).httpStatusCode(429).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidContactFlowModuleException") .exceptionBuilderSupplier(InvalidContactFlowModuleException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ResourceConflictException") .exceptionBuilderSupplier(ResourceConflictException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidContactFlowException") .exceptionBuilderSupplier(InvalidContactFlowException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AccessDeniedException") .exceptionBuilderSupplier(AccessDeniedException::builder).httpStatusCode(403).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("IdempotencyException") .exceptionBuilderSupplier(IdempotencyException::builder).httpStatusCode(409).build()); } @Override public final ConnectServiceClientConfiguration serviceClientConfiguration() { return new ConnectServiceClientConfigurationBuilder(this.clientConfiguration.toBuilder()).build(); } @Override public void close() { clientHandler.close(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy