@SdkInternalApi
    final UpdateNodegroupConfigResult executeUpdateNodegroupConfig(UpdateNodegroupConfigRequest updateNodegroupConfigRequest) {

        ExecutionContext executionContext = createExecutionContext(updateNodegroupConfigRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<UpdateNodegroupConfigRequest> request = null;
        Response<UpdateNodegroupConfigResult> response = null;

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

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Updates an Amazon EKS managed node group configuration. Your node group continues to function during the update.
The response output includes an update ID that you can use to track the status of your node group update with the
<a>DescribeUpdate</a> API operation. Currently you can update the Kubernetes labels for a node group or the
scaling configuration.
</p>

@param updateNodegroupConfigRequest
@return Result of the UpdateNodegroupConfig 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 ResourceInUseException
        The specified resource is in use.
@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.
@throws InvalidRequestException
        The request is invalid given the state of the cluster. Check the state of the cluster and the associated
        operations.
@sample AmazonEKS.UpdateNodegroupConfig
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/UpdateNodegroupConfig" target="_top">AWS API
     Documentation</a>
aws-java-sdk-eks/src/main/java/com/amazonaws/services/eks/AmazonEKSClient.java