code: @Override
      public UpdateSubscriptionResult updateSubscription(UpdateSubscriptionRequest request) {
          request = beforeClientExecution(request);
          return executeUpdateSubscription(request);
      }
docs: <p>
  Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty
  parameters are not updated.
  </p>
  
  @param updateSubscriptionRequest
  @return Result of the UpdateSubscription operation returned by the service.
  @throws InternalErrorException
  Exception that indicates that a problem occurred with the service infrastructure. You can retry the
  request.
  @throws LockedSubscriptionException
  You are trying to update a subscription that has not yet completed the 1-year commitment. You can change
  the <code>AutoRenew</code> parameter during the last 30 days of your subscription. This exception
  indicates that you are attempting to change <code>AutoRenew</code> prior to that period.
  @throws ResourceNotFoundException
  Exception indicating the specified resource does not exist.
  @throws InvalidParameterException
  Exception that indicates that the parameters passed to the API are invalid.
  @throws OptimisticLockException
  Exception that indicates that the protection state has been modified by another client. You can retry the
  request.
  @sample AWSShield.UpdateSubscription
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateSubscription" target="_top">AWS API
  Documentation</a>