/**
  * Update Subscription
  * Update a subscription.
  *
  * @param mixed $request array of parameters for MWSSubscriptions_Model_UpdateSubscription request or MWSSubscriptions_Model_UpdateSubscription object itself
  * @see MWSSubscriptions_Model_UpdateSubscriptionInput
  * @return MWSSubscriptions_Model_UpdateSubscriptionResponse
  *
  * @throws Subscriptions_Exception
  */
 public function updateSubscription($request)
 {
     if (!$request instanceof Model\MWSSubscriptions_Model_UpdateSubscriptionInput) {
         //require_once (dirname(__FILE__) . '/Model/UpdateSubscriptionInput.php');
         $request = new MWSSubscriptions_Model_UpdateSubscriptionInput($request);
     }
     $parameters = $request->toQueryParameterArray();
     $parameters['Action'] = 'UpdateSubscription';
     $httpResponse = $this->_invoke($parameters);
     //require_once (dirname(__FILE__) . '/Model/UpdateSubscriptionResponse.php');
     $response = Model\MWSSubscriptions_Model_UpdateSubscriptionResponse::fromXML($httpResponse['ResponseBody']);
     $response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']);
     return $response;
 }