package software.amazon.imagebuilder.distributionconfiguration; import software.amazon.awssdk.services.imagebuilder.ImagebuilderClient; import software.amazon.awssdk.services.imagebuilder.model.ResourceNotFoundException; import software.amazon.cloudformation.exceptions.CfnNotFoundException; import software.amazon.cloudformation.proxy.AmazonWebServicesClientProxy; import software.amazon.cloudformation.proxy.Logger; import software.amazon.cloudformation.proxy.ProgressEvent; import software.amazon.cloudformation.proxy.OperationStatus; import software.amazon.cloudformation.proxy.ResourceHandlerRequest; public class DeleteHandler extends BaseHandler { private AmazonWebServicesClientProxy clientProxy; private Logger logger; @Override public ProgressEvent handleRequest( final AmazonWebServicesClientProxy proxy, final ResourceHandlerRequest request, final CallbackContext callbackContext, final Logger logger) { this.clientProxy = proxy; this.logger = logger; final ImagebuilderClient imagebuilderClient = ClientBuilder.getImageBuilderClient(); final ResourceModel model = request.getDesiredResourceState(); try { proxy.injectCredentialsAndInvokeV2(RequestUtil.generateDeleteDistributionConfigurationRequest(model), imagebuilderClient::deleteDistributionConfiguration); } catch (ResourceNotFoundException e) { throw new CfnNotFoundException(ResourceModel.TYPE_NAME, e.toString()); } return ProgressEvent.builder() .status(OperationStatus.SUCCESS) .build(); } }