@SdkInternalApi
    final GetVpnConnectionDeviceTypesResult executeGetVpnConnectionDeviceTypes(GetVpnConnectionDeviceTypesRequest getVpnConnectionDeviceTypesRequest) {

        ExecutionContext executionContext = createExecutionContext(getVpnConnectionDeviceTypesRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<GetVpnConnectionDeviceTypesRequest> request = null;
        Response<GetVpnConnectionDeviceTypesResult> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new GetVpnConnectionDeviceTypesRequestMarshaller().marshall(super.beforeMarshalling(getVpnConnectionDeviceTypesRequest));
                // 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, "EC2");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetVpnConnectionDeviceTypes");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

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

            StaxResponseHandler<GetVpnConnectionDeviceTypesResult> responseHandler = new StaxResponseHandler<GetVpnConnectionDeviceTypesResult>(
                    new GetVpnConnectionDeviceTypesResultStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Obtain a list of customer gateway devices for which sample configuration files can be provided. The request has
no additional parameters. You can also see the list of device types with sample configuration files available
under <a href="https://docs.aws.amazon.com/vpn/latest/s2svpn/your-cgw.html">Your customer gateway device</a> in
the <i>Amazon Web Services Site-to-Site VPN User Guide</i>.
</p>

@param getVpnConnectionDeviceTypesRequest
@return Result of the GetVpnConnectionDeviceTypes operation returned by the service.
@sample AmazonEC2.GetVpnConnectionDeviceTypes
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetVpnConnectionDeviceTypes"
     target="_top">AWS API Documentation</a>
aws-java-sdk-ec2/src/main/java/com/amazonaws/services/ec2/AmazonEC2Client.java