in aws-wafv2-rulegroup/src/main/java/com/amazonaws/wafv2/rulegroup/DeleteHandler.java [30:73]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
final CallbackContext currentContext = callbackContext == null ?
CallbackContext.builder()
.stabilizationRetriesRemaining(CommonVariables.NUMBER_OF_STATE_POLL_RETRIES)
.build()
: callbackContext;
if (currentContext.getStabilizationRetriesRemaining() <= 0) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.status(OperationStatus.FAILED)
.errorCode(HandlerErrorCode.NotStabilized)
.build();
}
try {
deleteRuleGroupExceptionWrapper(proxy, model).execute();
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.status(OperationStatus.SUCCESS)
.build();
} catch (WafUnavailableEntityException e) {
// entity still being sequenced
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.IN_PROGRESS)
.callbackContext(CallbackContext.builder()
.stabilizationRetriesRemaining(currentContext.getStabilizationRetriesRemaining() - 1)
.build())
.callbackDelaySeconds(CommonVariables.CALLBACK_DELAY_SECONDS)
.build();
} catch (RuntimeException e) {
// handle error code
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.status(OperationStatus.FAILED)
.errorCode(ExceptionTranslationWrapper.translateExceptionIntoErrorCode(e))
.message(e.getMessage())
.build();
}
}