@Override
    public RotateTunnelAccessTokenResult rotateTunnelAccessToken(RotateTunnelAccessTokenRequest request) {
        request = beforeClientExecution(request);
        return executeRotateTunnelAccessToken(request);
    }
<p>
Revokes the current client access token (CAT) and returns new CAT for clients to use when reconnecting to secure
tunneling to access the same tunnel.
</p>
<p>
Requires permission to access the <a href=
"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions"
>RotateTunnelAccessToken</a> action.
</p>
<note>
<p>
Rotating the CAT doesn't extend the tunnel duration. For example, say the tunnel duration is 12 hours and the
tunnel has already been open for 4 hours. When you rotate the access tokens, the new tokens that are generated
can only be used for the remaining 8 hours.
</p>
</note>

@param rotateTunnelAccessTokenRequest
@return Result of the RotateTunnelAccessToken operation returned by the service.
@throws ResourceNotFoundException
        Thrown when an operation is attempted on a resource that does not exist.
@sample AWSIoTSecureTunneling.RotateTunnelAccessToken
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/RotateTunnelAccessToken"
     target="_top">AWS API Documentation</a>
aws-java-sdk-iotsecuretunneling/src/main/java/com/amazonaws/services/iotsecuretunneling/AWSIoTSecureTunnelingClient.java