package software.amazon.datasync.agent; import software.amazon.awssdk.services.datasync.DataSyncClient; import software.amazon.awssdk.services.datasync.model.*; import software.amazon.cloudformation.exceptions.*; import software.amazon.cloudformation.proxy.*; public class DeleteHandler extends BaseHandlerStd { @Override public ProgressEvent handleRequest( final AmazonWebServicesClientProxy proxy, final ResourceHandlerRequest request, final CallbackContext callbackContext, final ProxyClient proxyClient, final Logger logger) { final ResourceModel model = request.getDesiredResourceState(); final DataSyncClient client = proxyClient.client(); DeleteAgentRequest deleteAgentRequest = Translator.translateToDeleteRequest(model); try { proxy.injectCredentialsAndInvokeV2(deleteAgentRequest, client::deleteAgent); logger.log(String.format("%s %s deleted successfully", ResourceModel.TYPE_NAME, model.getAgentArn())); } catch (InvalidRequestException e) { throw new CfnNotFoundException(ResourceModel.TYPE_NAME, model.getAgentArn()); } catch (InternalException e) { throw new CfnServiceInternalErrorException(e.getMessage(), e.getCause()); } catch (DataSyncException e) { throw Translator.translateDataSyncExceptionToCfnException(e); } return ProgressEvent.defaultSuccessHandler(null); } }