@SdkInternalApi
    final ListContainerGroupDefinitionsResult executeListContainerGroupDefinitions(ListContainerGroupDefinitionsRequest listContainerGroupDefinitionsRequest) {

        ExecutionContext executionContext = createExecutionContext(listContainerGroupDefinitionsRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<ListContainerGroupDefinitionsRequest> request = null;
        Response<ListContainerGroupDefinitionsResult> response = null;

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

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

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

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
<b>This operation is used with the Amazon GameLift containers feature, which is currently in public preview. </b>
</p>
<p>
Retrieves all container group definitions for the Amazon Web Services account and Amazon Web Services Region that
are currently in use. You can filter the result set by the container groups' scheduling strategy. Use the
pagination parameters to retrieve results in a set of sequential pages.
</p>
<note>
<p>
This operation returns the list of container group definitions in no particular order.
</p>
</note>
<p>
<b>Learn more</b>
</p>
<ul>
<li>
<p>
<a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-create-groups.html">Manage a
container group definition</a>
</p>
</li>
</ul>

@param listContainerGroupDefinitionsRequest
@return Result of the ListContainerGroupDefinitions operation returned by the service.
@throws UnauthorizedException
        The client failed authentication. Clients should not retry such requests.
@throws InvalidRequestException
        One or more parameter values in the request are invalid. Correct the invalid parameter values before
        retrying.
@throws InternalServiceException
        The service encountered an unrecoverable internal failure while processing the request. Clients can retry
        such requests immediately or after a waiting period.
@throws UnsupportedRegionException
        The requested operation is not supported in the Region specified.
@sample AmazonGameLift.ListContainerGroupDefinitions
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListContainerGroupDefinitions"
     target="_top">AWS API Documentation</a>
aws-java-sdk-gamelift/src/main/java/com/amazonaws/services/gamelift/AmazonGameLiftClient.java