@SdkInternalApi
    final ListAllowedNodeTypeUpdatesResult executeListAllowedNodeTypeUpdates(ListAllowedNodeTypeUpdatesRequest listAllowedNodeTypeUpdatesRequest) {

        ExecutionContext executionContext = createExecutionContext(listAllowedNodeTypeUpdatesRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<ListAllowedNodeTypeUpdatesRequest> request = null;
        Response<ListAllowedNodeTypeUpdatesResult> response = null;

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

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Lists all available node types that you can scale to from your cluster's current node type. When you use the
UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types
returned by this operation.
</p>

@param listAllowedNodeTypeUpdatesRequest
@return Result of the ListAllowedNodeTypeUpdates operation returned by the service.
@throws ClusterNotFoundException
@throws ServiceLinkedRoleNotFoundException
@throws InvalidParameterCombinationException
@throws InvalidParameterValueException
@sample AmazonMemoryDB.ListAllowedNodeTypeUpdates
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListAllowedNodeTypeUpdates"
     target="_top">AWS API Documentation</a>
aws-java-sdk-memorydb/src/main/java/com/amazonaws/services/memorydb/AmazonMemoryDBClient.java