@SdkInternalApi
    final BatchGetResourceConfigResult executeBatchGetResourceConfig(BatchGetResourceConfigRequest batchGetResourceConfigRequest) {

        ExecutionContext executionContext = createExecutionContext(batchGetResourceConfigRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<BatchGetResourceConfigRequest> request = null;
        Response<BatchGetResourceConfigResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new BatchGetResourceConfigRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(batchGetResourceConfigRequest));
                // 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, "Config Service");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "BatchGetResourceConfig");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Returns the <code>BaseConfigurationItem</code> for one or more requested resources. The operation also returns a
list of resources that are not processed in the current request. If there are no unprocessed resources, the
operation returns an empty unprocessedResourceKeys list.
</p>
<note>
<ul>
<li>
<p>
The API does not return results for deleted resources.
</p>
</li>
<li>
<p>
The API does not return any tags for the requested resources. This information is filtered out of the
supplementaryConfiguration section of the API response.
</p>
</li>
</ul>
</note>

@param batchGetResourceConfigRequest
@return Result of the BatchGetResourceConfig operation returned by the service.
@throws ValidationException
        The requested action is not valid.</p>
        <p>
        For PutStoredQuery, you will see this exception if there are missing required fields or if the input
        value fails the validation, or if you are trying to create more than 300 queries.
        </p>
        <p>
        For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are
        missing required fields or if the input value fails the validation.
@throws NoAvailableConfigurationRecorderException
        There are no configuration recorders available to provide the role needed to describe your resources.
        Create a configuration recorder.
@sample AmazonConfig.BatchGetResourceConfig
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetResourceConfig" target="_top">AWS
     API Documentation</a>
aws-java-sdk-config/src/main/java/com/amazonaws/services/config/AmazonConfigClient.java