@SdkInternalApi
    final DeleteDiskSnapshotResult executeDeleteDiskSnapshot(DeleteDiskSnapshotRequest deleteDiskSnapshotRequest) {

        ExecutionContext executionContext = createExecutionContext(deleteDiskSnapshotRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<DeleteDiskSnapshotRequest> request = null;
        Response<DeleteDiskSnapshotResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new DeleteDiskSnapshotRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteDiskSnapshotRequest));
                // 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, "Lightsail");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteDiskSnapshot");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Deletes the specified disk snapshot.
</p>
<p>
When you make periodic snapshots of a disk, the snapshots are incremental, and only the blocks on the device that
have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data
not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all
active snapshots will have access to all the information needed to restore the disk.
</p>
<p>
The <code>delete disk snapshot</code> operation supports tag-based access control via resource tags applied to
the resource identified by <code>disk snapshot name</code>. For more information, see the <a
href="https://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-controlling-access-using-tags"
>Amazon Lightsail Developer Guide</a>.
</p>

@param deleteDiskSnapshotRequest
@return Result of the DeleteDiskSnapshot operation returned by the service.
@throws ServiceException
        A general service exception.
@throws InvalidInputException
        Lightsail throws this exception when user input does not conform to the validation rules of an input
        field.</p> <note>
        <p>
        Domain and distribution APIs are only available in the N. Virginia (<code>us-east-1</code>) Amazon Web
        Services Region. Please set your Amazon Web Services Region configuration to <code>us-east-1</code> to
        create, view, or edit these resources.
        </p>
@throws NotFoundException
        Lightsail throws this exception when it cannot find a resource.
@throws OperationFailureException
        Lightsail throws this exception when an operation fails to execute.
@throws AccessDeniedException
        Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to
        access a resource.
@throws AccountSetupInProgressException
        Lightsail throws this exception when an account is still in the setup in progress state.
@throws UnauthenticatedException
        Lightsail throws this exception when the user has not been authenticated.
@sample AmazonLightsail.DeleteDiskSnapshot
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDiskSnapshot" target="_top">AWS
     API Documentation</a>
aws-java-sdk-lightsail/src/main/java/com/amazonaws/services/lightsail/AmazonLightsailClient.java