@SdkInternalApi
    final DeleteRecoveryPointResult executeDeleteRecoveryPoint(DeleteRecoveryPointRequest deleteRecoveryPointRequest) {

        ExecutionContext executionContext = createExecutionContext(deleteRecoveryPointRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<DeleteRecoveryPointRequest> request = null;
        Response<DeleteRecoveryPointResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new DeleteRecoveryPointRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRecoveryPointRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
                request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
                request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
                request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
                request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Backup");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRecoveryPoint");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

            } finally {
                awsRequestMetrics.endEvent(Field.RequestMarshallTime);
            }

            HttpResponseHandler<AmazonWebServiceResponse<DeleteRecoveryPointResult>> responseHandler = protocolFactory.createResponseHandler(
                    new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteRecoveryPointResultJsonUnmarshaller());
            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Deletes the recovery point specified by a recovery point ID.
</p>
<p>
If the recovery point ID belongs to a continuous backup, calling this endpoint deletes the existing continuous
backup and stops future continuous backup.
</p>
<p>
When an IAM role's permissions are insufficient to call this API, the service sends back an HTTP 200 response
with an empty HTTP body, but the recovery point is not deleted. Instead, it enters an <code>EXPIRED</code> state.
</p>
<p>
<code>EXPIRED</code> recovery points can be deleted with this API once the IAM role has the
<code>iam:CreateServiceLinkedRole</code> action. To learn more about adding this role, see <a href=
"https://docs.aws.amazon.com/aws-backup/latest/devguide/deleting-backups.html#deleting-backups-troubleshooting">
Troubleshooting manual deletions</a>.
</p>
<p>
If the user or role is deleted or the permission within the role is removed, the deletion will not be successful
and will enter an <code>EXPIRED</code> state.
</p>

@param deleteRecoveryPointRequest
@return Result of the DeleteRecoveryPoint operation returned by the service.
@throws ResourceNotFoundException
        A resource that is required for the action doesn't exist.
@throws InvalidParameterValueException
        Indicates that something is wrong with a parameter's value. For example, the value is out of range.
@throws MissingParameterValueException
        Indicates that a required parameter is missing.
@throws InvalidResourceStateException
        Backup is already performing an action on this recovery point. It can't perform the action you requested
        until the first action finishes. Try again later.
@throws ServiceUnavailableException
        The request failed due to a temporary failure of the server.
@throws InvalidRequestException
        Indicates that something is wrong with the input to the request. For example, a parameter is of the wrong
        type.
@sample AWSBackup.DeleteRecoveryPoint
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/backup-2018-11-15/DeleteRecoveryPoint" target="_top">AWS API
     Documentation</a>
aws-java-sdk-backup/src/main/java/com/amazonaws/services/backup/AWSBackupClient.java