@SdkInternalApi
    final ModifyDefaultCreditSpecificationResult executeModifyDefaultCreditSpecification(
            ModifyDefaultCreditSpecificationRequest modifyDefaultCreditSpecificationRequest) {

        ExecutionContext executionContext = createExecutionContext(modifyDefaultCreditSpecificationRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<ModifyDefaultCreditSpecificationRequest> request = null;
        Response<ModifyDefaultCreditSpecificationResult> response = null;

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

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

            StaxResponseHandler<ModifyDefaultCreditSpecificationResult> responseHandler = new StaxResponseHandler<ModifyDefaultCreditSpecificationResult>(
                    new ModifyDefaultCreditSpecificationResultStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Modifies the default credit option for CPU usage of burstable performance instances. The default credit option is
set at the account level per Amazon Web Services Region, and is specified per instance family. All new burstable
performance instances in the account launch using the default credit option.
</p>
<p>
<code>ModifyDefaultCreditSpecification</code> is an asynchronous operation, which works at an Amazon Web Services
Region level and modifies the credit option for each Availability Zone. All zones in a Region are updated within
five minutes. But if instances are launched during this operation, they might not get the new credit option until
the zone is updated. To verify whether the update has occurred, you can call
<code>GetDefaultCreditSpecification</code> and check <code>DefaultCreditSpecification</code> for updates.
</p>
<p>
For more information, see <a
href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable
performance instances</a> in the <i>Amazon EC2 User Guide</i>.
</p>

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