protected ProgressEvent handleRequest()

in alias/src/main/java/software/amazon/kms/alias/DeleteHandler.java [23:47]


    protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
        final AmazonWebServicesClientProxy proxy,
        final ResourceHandlerRequest<ResourceModel> request,
        final CallbackContext callbackContext,
        final ProxyClient<KmsClient> proxyClient,
        final Logger logger) {

        final ResourceModel model = request.getDesiredResourceState();

        return ProgressEvent.progress(model, callbackContext)
            .then(
                progress -> proxy.initiate("kms::delete-alias", proxyClient, model, callbackContext)
                    .translateToServiceRequest(Translator::deleteAliasRequest)
                    .makeServiceCall(aliasApiHelper::deleteAlias)
                    .done(deleteAliasResponse -> {
                        logger.log(String
                            .format("%s [%s] has been successfully deleted",
                                ResourceModel.TYPE_NAME,
                                model.getAliasName()));

                        return progress;
                    }))
            .then(eventualConsistencyHandlerHelper::waitForChangesToPropagate)
            .then(progress -> ProgressEvent.defaultSuccessHandler(null));
    }