public ProgressEvent handleRequest()

in aws-ecr-replicationconfiguration/src/main/java/software/amazon/ecr/replicationconfiguration/DeleteHandler.java [20:63]


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

        final ResourceModel model = request.getDesiredResourceState();
        final EcrClient client = proxyClient.client();

        try {
            // Ensure resource exists on the ECR Registry.
            if (!hasExistingResource(describeRegistryResource(proxy, client))) {
                return ProgressEvent.<ResourceModel, CallbackContext>builder()
                        .resourceModel(model)
                        .status(OperationStatus.FAILED)
                        .errorCode(HandlerErrorCode.NotFound)
                        .build();
            }

            PutReplicationConfigurationRequest deleteRequest = PutReplicationConfigurationRequest.builder()
                    .replicationConfiguration(ReplicationConfiguration.builder()
                            .rules(Collections.emptyList())
                            .build())
                    .build();

            proxy.injectCredentialsAndInvokeV2(
                    deleteRequest,
                    client::putReplicationConfiguration);

            logger.log(String.format("%s [%s] Deleted Successfully", ResourceModel.TYPE_NAME, model.getRegistryId()));
        } catch (AwsServiceException e) {
            return ProgressEvent.<ResourceModel, CallbackContext>builder()
                    .resourceModel(model)
                    .status(OperationStatus.FAILED)
                    .errorCode(HandlerErrorCode.GeneralServiceException)
                    .message(e.getMessage())
                    .build();
        }

        return ProgressEvent.<ResourceModel, CallbackContext>builder()
                .status(OperationStatus.SUCCESS)
                .build();
    }