public ProgressEvent handleRequest()

in aws-batch-schedulingpolicy/src/main/java/software/amazon/batch/schedulingpolicy/DeleteHandler.java [30:69]


    public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
        final AmazonWebServicesClientProxy proxy,
        final ResourceHandlerRequest<ResourceModel> request,
        final CallbackContext callbackContext,
        final Logger logger) {

        logger.log("Delete handler for SchedulingPolicy invoked.");

        if (this.client == null) {
            this.client = ClientBuilder.getClient();
        }

        final ResourceModel model = request.getDesiredResourceState();
        logger.log("SchedulingPolicy model for delete request: " + model.toString());

        final DescribeSchedulingPoliciesResponse describeSchedulingPoliciesResponse;
        try {
            describeSchedulingPoliciesResponse = proxy.injectCredentialsAndInvokeV2(
                    Translator.toDescribeSchedulingPoliciesRequest(Collections.singletonList(model.getArn())),
                    this.client::describeSchedulingPolicies);

            if (describeSchedulingPoliciesResponse.schedulingPolicies().size() == 0) {
                return ProgressEvent.failed(request.getDesiredResourceState(), callbackContext,
                        HandlerErrorCode.NotFound,
                        String.format("Resource of type '%s' with identifier '%s' was not found.",
                                ResourceModel.TYPE_NAME,
                                model.getArn()));
            }

            DeleteSchedulingPolicyResponse deleteSchedulingPolicyResponse =
                    proxy.injectCredentialsAndInvokeV2(Translator.toDeleteSchedulingPolicyRequest(model),
                    this.client::deleteSchedulingPolicy);
            logger.log(String.format("%s [%s] deleted successfully", ResourceModel.TYPE_NAME, model.getArn()));
            logger.log("Delete scheduling policy handler final result: " + deleteSchedulingPolicyResponse.toString());
        } catch (final BatchException e) {
            Exceptions.handleBatchExceptions(request, callbackContext, e);
        }

        return ProgressEvent.defaultSuccessHandler(null);
    }