in aws-memorydb-user/src/main/java/software/amazon/memorydb/user/DeleteHandler.java [15:47]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<MemoryDbClient> proxyClient,
final Logger logger) {
this.logger = logger;
return ProgressEvent.progress(request.getDesiredResourceState(), callbackContext)
.then(progress ->
proxy.initiate("AWS-MemoryDB-User::Delete", proxyClient, progress.getResourceModel(),
progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToDeleteRequest)
.backoffDelay(STABILIZATION_DELAY)
.makeServiceCall((modelRequest, proxyInvocation) -> {
return handleExceptions(() -> {
try {
return proxyInvocation.injectCredentialsAndInvokeV2(modelRequest,
proxyInvocation.client()::deleteUser);
} catch (final InvalidUserStateException e) {
//Out of band flow
return null;
}
});
})
.stabilize(
(deleteUserRequest, deleteUserResponse, proxyInvocation, model, context) -> isUserDeleted(
proxyInvocation, model, logger))
.done((deleteUserRequest, deleteUserResponse, proxyInvocation, model, context) -> ProgressEvent
.defaultSuccessHandler(null))
);
}