@SdkInternalApi
    final DeleteFargateProfileResult executeDeleteFargateProfile(DeleteFargateProfileRequest deleteFargateProfileRequest) {

        ExecutionContext executionContext = createExecutionContext(deleteFargateProfileRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<DeleteFargateProfileRequest> request = null;
        Response<DeleteFargateProfileResult> response = null;

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

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Deletes an Fargate profile.
</p>
<p>
When you delete a Fargate profile, any <code>Pod</code> running on Fargate that was created with the profile is
deleted. If the <code>Pod</code> matches another Fargate profile, then it is scheduled on Fargate with that
profile. If it no longer matches any Fargate profiles, then it's not scheduled on Fargate and may remain in a
pending state.
</p>
<p>
Only one Fargate profile in a cluster can be in the <code>DELETING</code> status at a time. You must wait for a
Fargate profile to finish deleting before you can delete any other profiles in that cluster.
</p>

@param deleteFargateProfileRequest
@return Result of the DeleteFargateProfile operation returned by the service.
@throws InvalidParameterException
        The specified parameter is invalid. Review the available parameters for the API request.
@throws ClientException
        These errors are usually caused by a client action. Actions can include using an action or resource on
        behalf of an <a
        href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html">IAM
        principal</a> that doesn't have permissions to use the action or resource or specifying an identifier
        that is not valid.
@throws ServerException
        These errors are usually caused by a server-side issue.
@throws ResourceNotFoundException
        The specified resource could not be found. You can view your available clusters with
        <code>ListClusters</code>. You can view your available managed node groups with
        <code>ListNodegroups</code>. Amazon EKS clusters and node groups are Amazon Web Services Region specific.
@sample AmazonEKS.DeleteFargateProfile
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfile" target="_top">AWS API
     Documentation</a>
aws-java-sdk-eks/src/main/java/com/amazonaws/services/eks/AmazonEKSClient.java