protected ProgressEvent handleRequest()

in aws-route53recoveryreadiness-readinesscheck/src/main/java/software/amazon/route53recoveryreadiness/readinesscheck/UpdateHandler.java [22:56]


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

        this.logger = logger;

        final ResourceModel model = request.getDesiredResourceState();
        final ResourceModel previousModel = request.getPreviousResourceState();

        //check if resource exists
        GetReadinessCheckRequest getRequest = GetReadinessCheckRequest.builder().readinessCheckName(request.getDesiredResourceState().getReadinessCheckName()).build();
        preExistenceCheck(getRequest, proxyClient);

        //Make sure not updating readOnly properties
        if (previousModel != null) {
            if (!model.getReadinessCheckArn().equals(previousModel.getReadinessCheckArn())) {
                throw new CfnNotUpdatableException(ResourceModel.TYPE_NAME, request.getDesiredResourceState().getReadinessCheckName());
            }
            if (!model.getReadinessCheckName().equals(previousModel.getReadinessCheckName())) {
                throw new CfnNotUpdatableException(ResourceModel.TYPE_NAME, request.getDesiredResourceState().getReadinessCheckName());
            }
        }

        return ProgressEvent.progress(request.getDesiredResourceState(), callbackContext)
                .then(progress ->
                    proxy.initiate("AWS-Route53RecoveryReadiness-ReadinessCheck::Update", proxyClient, progress.getResourceModel(), progress.getCallbackContext())
                        .translateToServiceRequest(Translator::translateToUpdateRequest)
                        .makeServiceCall(this::updateReadinessCheck)
                        .progress())

            .then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
    }