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);
}