public Builder totalExecutionTimeout(int totalExecutionTimeout) {
            this.totalExecutionTimeout = totalExecutionTimeout;
            return this;
        }
Sets the amount of time (in milliseconds) to allow the client to complete the execution of
an API call. This timeout covers the entire client execution except for marshalling. This
includes all HTTP requests (even retries), unmarshalling, etc.
<p>
This feature requires buffering the entire response (for non-streaming APIs) into memory to
enforce a hard timeout when reading the response. For APIs that return large responses this
could be expensive.
</p>
<p>
The total execution timeout feature doesn't have strict guarantees on how quickly a request
is aborted when the timeout is breached. The typical case aborts the request within a few
milliseconds but there may occasionally be requests that don't get aborted until several
seconds after the timer has been breached. Because of this, the client execution timeout
feature should not be used when absolute precision is needed.
</p>
<p>
This timeout is disabled by default.
</p>

@param totalExecutionTimeout The amount of time (in milliseconds) to allow the client to
                              complete the execution of an API call. A non-positive value
                              disables the timeout for this request.
@return This object for method chaining.
@see {@link #httpRequestTimeout(int)} to enforce a timeout per HTTP request
aws-java-sdk-opensdk/src/main/java/com/amazonaws/opensdk/SdkRequestConfig.java