@Override
    public DeleteFunctionResult deleteFunction(DeleteFunctionRequest request) {
        request = beforeClientExecution(request);
        return executeDeleteFunction(request);
    }
<p>
Deletes a CloudFront function.
</p>
<p>
You cannot delete a function if it's associated with a cache behavior. First, update your distributions to remove
the function association from all cache behaviors, then delete the function.
</p>
<p>
To delete a function, you must provide the function's name and version (<code>ETag</code> value). To get these
values, you can use <code>ListFunctions</code> and <code>DescribeFunction</code>.
</p>

@param deleteFunctionRequest
@return Result of the DeleteFunction operation returned by the service.
@throws InvalidIfMatchVersionException
        The <code>If-Match</code> version is missing or not valid.
@throws NoSuchFunctionExistsException
        The function does not exist.
@throws FunctionInUseException
        Cannot delete the function because it's attached to one or more cache behaviors.
@throws PreconditionFailedException
        The precondition in one or more of the request fields evaluated to <code>false</code>.
@throws UnsupportedOperationException
        This operation is not supported in this region.
@sample AmazonCloudFront.DeleteFunction
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFunction" target="_top">AWS API
     Documentation</a>
aws-java-sdk-cloudfront/src/main/java/com/amazonaws/services/cloudfront/AmazonCloudFrontClient.java