You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2019/06/26 14:39:31 UTC

[airavata-php-gateway] 01/01: Merge branch 'develop' into staging

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch staging
in repository https://gitbox.apache.org/repos/asf/airavata-php-gateway.git

commit 3e85b644d3ef3c32305f641ef87ec42a7ed25fff
Merge: e445b79 167dbc5
Author: Marcus Christie <ma...@iu.edu>
AuthorDate: Wed Jun 26 10:38:44 2019 -0400

    Merge branch 'develop' into staging

 README                                             |     4 +
 app/config/pga_config.php.template                 |     9 +-
 app/controllers/AccountController.php              |     7 +
 app/controllers/AdminController.php                |    24 +-
 app/controllers/ExperimentController.php           |    31 +-
 app/controllers/ProjectController.php              |    19 +-
 app/libraries/AdminUtilities.php                   |    33 +-
 app/libraries/Airavata/API/Airavata.php            | 26792 ++++++++++++-------
 .../API/Sharing/SharingRegistryService.php         |   961 +-
 .../Model/AppCatalog/GatewayGroups/Types.php       |   164 +
 .../AppCatalog/GroupResourceProfile/Types.php      |  1380 +
 .../Model/AppCatalog/StorageResource/Types.php     |    46 +
 .../Model/AppCatalog/UserResourceProfile/Types.php |    26 -
 .../Airavata/Model/Credential/Store/Types.php      |    35 +-
 .../Airavata/Model/Data/Movement/Types.php         |    69 +
 app/libraries/Airavata/Model/Experiment/Types.php  |    23 +
 app/libraries/Airavata/Model/Group/Types.php       |    10 +-
 app/libraries/Airavata/Model/Process/Types.php     |    23 +
 app/libraries/Airavata/Model/Sharing/Types.php     |    52 +
 app/libraries/Airavata/Model/Status/Types.php      |    92 +
 app/libraries/Airavata/Model/Types.php             |  1111 -
 .../Groupmanager/CPI/GroupManagerService.php       |  1559 +-
 app/libraries/ExperimentUtilities.php              |    24 +-
 app/libraries/GrouperUtilities.php                 |    16 +-
 app/libraries/IamAdminServicesUtilities.php        |     4 +-
 app/libraries/ProjectUtilities.php                 |    13 +-
 app/libraries/SharingUtilities.php                 |    76 +-
 app/libraries/URPUtilities.php                     |    21 +-
 app/routes.php                                     |     2 +
 app/views/admin/manage-credentials.blade.php       |   370 +-
 .../compute-resource-preferences.blade.php         |    10 +-
 .../partials/gateway-preferences-block.blade.php   |    22 +-
 .../storage-resource-preferences.blade.php         |    10 +-
 33 files changed, 22113 insertions(+), 10925 deletions(-)

diff --cc app/libraries/Airavata/API/Airavata.php
index f395d41,7786c2b..a296cec
--- a/app/libraries/Airavata/API/Airavata.php
+++ b/app/libraries/Airavata/API/Airavata.php
@@@ -16,19 -16,19 +16,7 @@@ use Thrift\Protocol\TBinaryProtocolAcce
  use Thrift\Exception\TApplicationException;
  
  
--interface AiravataIf {
--  /**
--   * Fetch Apache Airavata API version
--   * 
--   * 
--   * @param \Airavata\Model\Security\AuthzToken $authzToken
--   * @return string
--   * @throws \Airavata\API\Error\InvalidRequestException
--   * @throws \Airavata\API\Error\AiravataClientException
--   * @throws \Airavata\API\Error\AiravataSystemException
--   * @throws \Airavata\API\Error\AuthorizationException
--   */
--  public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken);
++interface AiravataIf extends \Airavata\Base\API\BaseAPIIf {
    /**
     * Verify if User Exists within Airavata.
     * 
@@@ -3957,17 -3919,94 +3907,20 @@@
    public function deleteUserStoragePreference(\Airavata\Model\Security\AuthzToken $authzToken, $userId, $gatewayID, $userStorageId);
    /**
     * @param \Airavata\Model\Security\AuthzToken $authzToken
--   * @param string $gatewayId
--   * @return string[]
 -   * @throws \Airavata\API\Error\InvalidRequestException
 -   * @throws \Airavata\API\Error\AiravataClientException
 -   * @throws \Airavata\API\Error\AiravataSystemException
 -   * @throws \Airavata\API\Error\AuthorizationException
 -   */
 -  public function getAllWorkflows(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
 -  /**
 -   * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @return \Airavata\Model\Status\QueueStatusModel[]
     * @throws \Airavata\API\Error\InvalidRequestException
     * @throws \Airavata\API\Error\AiravataClientException
     * @throws \Airavata\API\Error\AiravataSystemException
     * @throws \Airavata\API\Error\AuthorizationException
     */
-   public function getAllWorkflows(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
+   public function getLatestQueueStatuses(\Airavata\Model\Security\AuthzToken $authzToken);
    /**
 -   * 
 -   * API Methods Related for Work-Flow Submission Features.
 -   * 
 -   * 
 -   * @param \Airavata\Model\Security\AuthzToken $authzToken
 -   * @param string $workflowId
 -   * @return \Airavata\Model\Workflow\AiravataWorkflow
 -   * @throws \Airavata\API\Error\InvalidRequestException
 -   * @throws \Airavata\API\Error\AiravataClientException
 -   * @throws \Airavata\API\Error\AiravataSystemException
 -   * @throws \Airavata\API\Error\AuthorizationException
 -   */
 -  public function getWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId);
 -  /**
 -   * @param \Airavata\Model\Security\AuthzToken $authzToken
 -   * @param string $workflowId
 -   * @throws \Airavata\API\Error\InvalidRequestException
 -   * @throws \Airavata\API\Error\AiravataClientException
 -   * @throws \Airavata\API\Error\AiravataSystemException
 -   * @throws \Airavata\API\Error\AuthorizationException
 -   */
 -  public function deleteWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId);
 -  /**
 -   * @param \Airavata\Model\Security\AuthzToken $authzToken
 -   * @param string $gatewayId
 -   * @param \Airavata\Model\Workflow\AiravataWorkflow $workflow
 -   * @return string
 -   * @throws \Airavata\API\Error\InvalidRequestException
 -   * @throws \Airavata\API\Error\AiravataClientException
 -   * @throws \Airavata\API\Error\AiravataSystemException
 -   * @throws \Airavata\API\Error\AuthorizationException
 -   */
 -  public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow\AiravataWorkflow $workflow);
 -  /**
 -   * @param \Airavata\Model\Security\AuthzToken $authzToken
 -   * @param string $workflowId
 -   * @param \Airavata\Model\Workflow\AiravataWorkflow $workflow
 -   * @throws \Airavata\API\Error\InvalidRequestException
 -   * @throws \Airavata\API\Error\AiravataClientException
 -   * @throws \Airavata\API\Error\AiravataSystemException
 -   * @throws \Airavata\API\Error\AuthorizationException
 -   */
 -  public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId, \Airavata\Model\Workflow\AiravataWorkflow $workflow);
 -  /**
 -   * @param \Airavata\Model\Security\AuthzToken $authzToken
 -   * @param string $workflowName
 -   * @return string
 -   * @throws \Airavata\API\Error\InvalidRequestException
 -   * @throws \Airavata\API\Error\AiravataClientException
 -   * @throws \Airavata\API\Error\AiravataSystemException
 -   * @throws \Airavata\API\Error\AuthorizationException
 -   */
 -  public function getWorkflowId(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName);
 -  /**
 -   * @param \Airavata\Model\Security\AuthzToken $authzToken
 -   * @param string $workflowName
 -   * @return bool
 -   * @throws \Airavata\API\Error\InvalidRequestException
 -   * @throws \Airavata\API\Error\AiravataClientException
 -   * @throws \Airavata\API\Error\AiravataSystemException
 -   * @throws \Airavata\API\Error\AuthorizationException
 -   */
 -  public function isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName);
 -  /**
+    * API Methods related to replica catalog
+    * 
+    * 
     * @param \Airavata\Model\Security\AuthzToken $authzToken
-    * @return \Airavata\Model\Status\QueueStatusModel[]
+    * @param \Airavata\Model\Data\Replica\DataProductModel $dataProductModel
+    * @return string
     * @throws \Airavata\API\Error\InvalidRequestException
     * @throws \Airavata\API\Error\AiravataClientException
     * @throws \Airavata\API\Error\AiravataSystemException
@@@ -4027,10 -4110,22 +4024,44 @@@
     * @throws \Airavata\API\Error\AiravataSystemException
     * @throws \Airavata\API\Error\AuthorizationException
     */
-   public function getWorkflowTemplateId(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName);
+   public function getAllAccessibleUsers(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType);
    /**
     * @param \Airavata\Model\Security\AuthzToken $authzToken
-    * @param string $workflowName
+    * @param string $resourceId
+    * @param int $permissionType
+    * @return string[]
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getAllAccessibleGroups(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType);
+   /**
+    * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @param string $resourceId
+    * @param int $permissionType
++   * @return string[]
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function getAllDirectlyAccessibleUsers(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param string $resourceId
++   * @param int $permissionType
++   * @return string[]
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function getAllDirectlyAccessibleGroups(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param string $resourceId
++   * @param int $permissionType
     * @return bool
     * @throws \Airavata\API\Error\InvalidRequestException
     * @throws \Airavata\API\Error\AiravataClientException
@@@ -4090,121 -4231,154 +4167,180 @@@
     * @throws \Airavata\API\Error\AiravataSystemException
     * @throws \Airavata\API\Error\AuthorizationException
     */
-   public function getChildDataProducts(\Airavata\Model\Security\AuthzToken $authzToken, $productUri);
+   public function removeGroupBatchQueueResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId);
    /**
-    * Group Manager and Data Sharing Related API methods
-    * 
+    * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @param string $computeResourceId
+    * @param string $groupResourceProfileId
+    * @return \Airavata\Model\AppCatalog\GroupResourceProfile\GroupComputeResourcePreference
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getGroupComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $groupResourceProfileId);
+   /**
+    * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @param string $resourcePolicyId
+    * @return \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourcePolicy
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getGroupComputeResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId);
+   /**
+    * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @param string $resourcePolicyId
+    * @return \Airavata\Model\AppCatalog\GroupResourceProfile\BatchQueueResourcePolicy
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getBatchQueueResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId);
+   /**
+    * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @param string $groupResourceProfileId
+    * @return \Airavata\Model\AppCatalog\GroupResourceProfile\GroupComputeResourcePreference[]
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getGroupComputeResourcePrefList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId);
+   /**
+    * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @param string $groupResourceProfileId
+    * @return \Airavata\Model\AppCatalog\GroupResourceProfile\BatchQueueResourcePolicy[]
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getGroupBatchQueueResourcePolicyList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId);
+   /**
+    * @param \Airavata\Model\Security\AuthzToken $authzToken
+    * @param string $groupResourceProfileId
+    * @return \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourcePolicy[]
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getGroupComputeResourcePolicyList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId);
+   /**
+    * GatewayGroups API methods
     * 
     * @param \Airavata\Model\Security\AuthzToken $authzToken
-    * @param string $resourceId
-    * @param int $resourceType
-    * @param array $userPermissionList
+    * @return \Airavata\Model\AppCatalog\GatewayGroups\GatewayGroups
+    * @throws \Airavata\API\Error\InvalidRequestException
+    * @throws \Airavata\API\Error\AiravataClientException
+    * @throws \Airavata\API\Error\AiravataSystemException
+    * @throws \Airavata\API\Error\AuthorizationException
+    */
+   public function getGatewayGroups(\Airavata\Model\Security\AuthzToken $authzToken);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param string $parserId
++   * @param string $gatewayId
++   * @return \Airavata\Model\AppCatalog\Parser\Parser
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function getParser(\Airavata\Model\Security\AuthzToken $authzToken, $parserId, $gatewayId);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param \Airavata\Model\AppCatalog\Parser\Parser $parser
++   * @return string
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function saveParser(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\Parser\Parser $parser);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param string $gatewayId
++   * @return \Airavata\Model\AppCatalog\Parser\Parser[]
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function listAllParsers(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param string $parserId
++   * @param string $gatewayId
 +   * @return bool
 +   * @throws \Airavata\API\Error\InvalidRequestException
 +   * @throws \Airavata\API\Error\AiravataClientException
 +   * @throws \Airavata\API\Error\AiravataSystemException
 +   * @throws \Airavata\API\Error\AuthorizationException
 +   */
-   public function shareResourceWithUsers(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $resourceType, array $userPermissionList);
++  public function removeParser(\Airavata\Model\Security\AuthzToken $authzToken, $parserId, $gatewayId);
 +  /**
 +   * @param \Airavata\Model\Security\AuthzToken $authzToken
-    * @param string $resourceId
-    * @param int $resourceType
-    * @param array $userPermissionList
++   * @param string $templateId
++   * @param string $gatewayId
++   * @return \Airavata\Model\AppCatalog\Parser\ParsingTemplate
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function getParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, $templateId, $gatewayId);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param string $experimentId
++   * @param string $gatewayId
++   * @return \Airavata\Model\AppCatalog\Parser\ParsingTemplate[]
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function getParsingTemplatesForExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $experimentId, $gatewayId);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param \Airavata\Model\AppCatalog\Parser\ParsingTemplate $parsingTemplate
++   * @return string
++   * @throws \Airavata\API\Error\InvalidRequestException
++   * @throws \Airavata\API\Error\AiravataClientException
++   * @throws \Airavata\API\Error\AiravataSystemException
++   * @throws \Airavata\API\Error\AuthorizationException
++   */
++  public function saveParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\Parser\ParsingTemplate $parsingTemplate);
++  /**
++   * @param \Airavata\Model\Security\AuthzToken $authzToken
++   * @param string $templateId
++   * @param string $gatewayId
 +   * @return bool
 +   * @throws \Airavata\API\Error\InvalidRequestException
 +   * @throws \Airavata\API\Error\AiravataClientException
 +   * @throws \Airavata\API\Error\AiravataSystemException
 +   * @throws \Airavata\API\Error\AuthorizationException
 +   */
-   public function revokeSharingOfResourceFromUsers(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $resourceType, array $userPermissionList);
++  public function removeParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, $templateId, $gatewayId);
 +  /**
 +   * @param \Airavata\Model\Security\AuthzToken $authzToken
-    * @param string $resourceId
-    * @param int $resourceType
-    * @param int $permissionType
-    * @return string[]
++   * @param string $gatewayId
++   * @return \Airavata\Model\AppCatalog\Parser\ParsingTemplate[]
 +   * @throws \Airavata\API\Error\InvalidRequestException
 +   * @throws \Airavata\API\Error\AiravataClientException
 +   * @throws \Airavata\API\Error\AiravataSystemException
 +   * @throws \Airavata\API\Error\AuthorizationException
 +   */
-   public function getAllAccessibleUsers(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $resourceType, $permissionType);
++  public function listAllParsingTemplates(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId);
  }
  
  
--class AiravataClient implements \Airavata\API\AiravataIf {
--  protected $input_ = null;
--  protected $output_ = null;
--
--  protected $seqid_ = 0;
--
++class AiravataClient extends \Airavata\Base\API\BaseAPIClient implements \Airavata\API\AiravataIf {
    public function __construct($input, $output=null) {
--    $this->input_ = $input;
--    $this->output_ = $output ? $output : $input;
--  }
--
--  public function getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken)
--  {
--    $this->send_getAPIVersion($authzToken);
--    return $this->recv_getAPIVersion();
--  }
--
--  public function send_getAPIVersion(\Airavata\Model\Security\AuthzToken $authzToken)
--  {
--    $args = new \Airavata\API\Airavata_getAPIVersion_args();
--    $args->authzToken = $authzToken;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
--      thrift_protocol_write_binary($this->output_, 'getAPIVersion', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
--      $this->output_->writeMessageBegin('getAPIVersion', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
--  public function recv_getAPIVersion()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
--    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAPIVersion_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
--      $result = new \Airavata\API\Airavata_getAPIVersion_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->success !== null) {
--      return $result->success;
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
--    throw new \Exception("getAPIVersion failed: unknown result");
++    parent::__construct($input, $output);
    }
  
    public function isUserExists(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $userName)
@@@ -14002,70 -14250,70 +14212,6 @@@
      throw new \Exception("deleteUserStoragePreference failed: unknown result");
    }
  
--  public function getAllWorkflows(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
--  {
--    $this->send_getAllWorkflows($authzToken, $gatewayId);
--    return $this->recv_getAllWorkflows();
--  }
--
--  public function send_getAllWorkflows(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
--  {
--    $args = new \Airavata\API\Airavata_getAllWorkflows_args();
--    $args->authzToken = $authzToken;
--    $args->gatewayId = $gatewayId;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
--      thrift_protocol_write_binary($this->output_, 'getAllWorkflows', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
--      $this->output_->writeMessageBegin('getAllWorkflows', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
--  public function recv_getAllWorkflows()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
--    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllWorkflows_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
--      $result = new \Airavata\API\Airavata_getAllWorkflows_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->success !== null) {
--      return $result->success;
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
--    throw new \Exception("getAllWorkflows failed: unknown result");
--  }
--
    public function getLatestQueueStatuses(\Airavata\Model\Security\AuthzToken $authzToken)
    {
      $this->send_getLatestQueueStatuses($authzToken);
@@@ -14129,386 -14377,386 +14275,6 @@@
      throw new \Exception("getLatestQueueStatuses failed: unknown result");
    }
  
-   public function getWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId)
 -  public function getWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId)
--  {
-     $this->send_getWorkflow($authzToken, $workflowTemplateId);
 -    $this->send_getWorkflow($authzToken, $workflowId);
--    return $this->recv_getWorkflow();
--  }
--
-   public function send_getWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId)
 -  public function send_getWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId)
--  {
--    $args = new \Airavata\API\Airavata_getWorkflow_args();
--    $args->authzToken = $authzToken;
-     $args->workflowTemplateId = $workflowTemplateId;
 -    $args->workflowId = $workflowId;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
--      thrift_protocol_write_binary($this->output_, 'getWorkflow', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
--      $this->output_->writeMessageBegin('getWorkflow', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
--  public function recv_getWorkflow()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
--    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getWorkflow_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
--      $result = new \Airavata\API\Airavata_getWorkflow_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->success !== null) {
--      return $result->success;
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
--    throw new \Exception("getWorkflow failed: unknown result");
--  }
--
-   public function deleteWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId)
 -  public function deleteWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId)
--  {
-     $this->send_deleteWorkflow($authzToken, $workflowTemplateId);
 -    $this->send_deleteWorkflow($authzToken, $workflowId);
--    $this->recv_deleteWorkflow();
--  }
--
-   public function send_deleteWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId)
 -  public function send_deleteWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId)
--  {
--    $args = new \Airavata\API\Airavata_deleteWorkflow_args();
--    $args->authzToken = $authzToken;
-     $args->workflowTemplateId = $workflowTemplateId;
 -    $args->workflowId = $workflowId;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
--      thrift_protocol_write_binary($this->output_, 'deleteWorkflow', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
--      $this->output_->writeMessageBegin('deleteWorkflow', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
--  public function recv_deleteWorkflow()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
--    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_deleteWorkflow_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
--      $result = new \Airavata\API\Airavata_deleteWorkflow_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
--    return;
--  }
--
-   public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow)
 -  public function registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow\AiravataWorkflow $workflow)
--  {
--    $this->send_registerWorkflow($authzToken, $gatewayId, $workflow);
--    return $this->recv_registerWorkflow();
--  }
--
-   public function send_registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\WorkflowModel $workflow)
 -  public function send_registerWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, \Airavata\Model\Workflow\AiravataWorkflow $workflow)
--  {
--    $args = new \Airavata\API\Airavata_registerWorkflow_args();
--    $args->authzToken = $authzToken;
--    $args->gatewayId = $gatewayId;
--    $args->workflow = $workflow;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
--      thrift_protocol_write_binary($this->output_, 'registerWorkflow', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
--      $this->output_->writeMessageBegin('registerWorkflow', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
--  public function recv_registerWorkflow()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
--    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_registerWorkflow_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
--      $result = new \Airavata\API\Airavata_registerWorkflow_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->success !== null) {
--      return $result->success;
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
--    throw new \Exception("registerWorkflow failed: unknown result");
--  }
--
-   public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow)
 -  public function updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId, \Airavata\Model\Workflow\AiravataWorkflow $workflow)
--  {
-     $this->send_updateWorkflow($authzToken, $workflowTemplateId, $workflow);
 -    $this->send_updateWorkflow($authzToken, $workflowId, $workflow);
--    $this->recv_updateWorkflow();
--  }
--
-   public function send_updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowTemplateId, \Airavata\Model\WorkflowModel $workflow)
 -  public function send_updateWorkflow(\Airavata\Model\Security\AuthzToken $authzToken, $workflowId, \Airavata\Model\Workflow\AiravataWorkflow $workflow)
--  {
--    $args = new \Airavata\API\Airavata_updateWorkflow_args();
--    $args->authzToken = $authzToken;
-     $args->workflowTemplateId = $workflowTemplateId;
 -    $args->workflowId = $workflowId;
--    $args->workflow = $workflow;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
--      thrift_protocol_write_binary($this->output_, 'updateWorkflow', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
--      $this->output_->writeMessageBegin('updateWorkflow', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
--  public function recv_updateWorkflow()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
--    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateWorkflow_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
--      $result = new \Airavata\API\Airavata_updateWorkflow_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
--    return;
--  }
--
-   public function getWorkflowTemplateId(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName)
 -  public function getWorkflowId(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName)
--  {
-     $this->send_getWorkflowTemplateId($authzToken, $workflowName);
-     return $this->recv_getWorkflowTemplateId();
 -    $this->send_getWorkflowId($authzToken, $workflowName);
 -    return $this->recv_getWorkflowId();
--  }
--
-   public function send_getWorkflowTemplateId(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName)
 -  public function send_getWorkflowId(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName)
--  {
-     $args = new \Airavata\API\Airavata_getWorkflowTemplateId_args();
 -    $args = new \Airavata\API\Airavata_getWorkflowId_args();
--    $args->authzToken = $authzToken;
--    $args->workflowName = $workflowName;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
-       thrift_protocol_write_binary($this->output_, 'getWorkflowTemplateId', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
 -      thrift_protocol_write_binary($this->output_, 'getWorkflowId', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
-       $this->output_->writeMessageBegin('getWorkflowTemplateId', TMessageType::CALL, $this->seqid_);
 -      $this->output_->writeMessageBegin('getWorkflowId', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
-   public function recv_getWorkflowTemplateId()
 -  public function recv_getWorkflowId()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
-     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getWorkflowTemplateId_result', $this->input_->isStrictRead());
 -    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getWorkflowId_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
-       $result = new \Airavata\API\Airavata_getWorkflowTemplateId_result();
 -      $result = new \Airavata\API\Airavata_getWorkflowId_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->success !== null) {
--      return $result->success;
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
-     throw new \Exception("getWorkflowTemplateId failed: unknown result");
 -    throw new \Exception("getWorkflowId failed: unknown result");
--  }
--
--  public function isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName)
--  {
--    $this->send_isWorkflowExistWithName($authzToken, $workflowName);
--    return $this->recv_isWorkflowExistWithName();
--  }
--
--  public function send_isWorkflowExistWithName(\Airavata\Model\Security\AuthzToken $authzToken, $workflowName)
--  {
--    $args = new \Airavata\API\Airavata_isWorkflowExistWithName_args();
--    $args->authzToken = $authzToken;
--    $args->workflowName = $workflowName;
--    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
--    if ($bin_accel)
--    {
--      thrift_protocol_write_binary($this->output_, 'isWorkflowExistWithName', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
--    }
--    else
--    {
--      $this->output_->writeMessageBegin('isWorkflowExistWithName', TMessageType::CALL, $this->seqid_);
--      $args->write($this->output_);
--      $this->output_->writeMessageEnd();
--      $this->output_->getTransport()->flush();
--    }
--  }
--
--  public function recv_isWorkflowExistWithName()
--  {
--    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
--    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_isWorkflowExistWithName_result', $this->input_->isStrictRead());
--    else
--    {
--      $rseqid = 0;
--      $fname = null;
--      $mtype = 0;
--
--      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
--      if ($mtype == TMessageType::EXCEPTION) {
--        $x = new TApplicationException();
--        $x->read($this->input_);
--        $this->input_->readMessageEnd();
--        throw $x;
--      }
--      $result = new \Airavata\API\Airavata_isWorkflowExistWithName_result();
--      $result->read($this->input_);
--      $this->input_->readMessageEnd();
--    }
--    if ($result->success !== null) {
--      return $result->success;
--    }
--    if ($result->ire !== null) {
--      throw $result->ire;
--    }
--    if ($result->ace !== null) {
--      throw $result->ace;
--    }
--    if ($result->ase !== null) {
--      throw $result->ase;
--    }
--    if ($result->ae !== null) {
--      throw $result->ae;
--    }
--    throw new \Exception("isWorkflowExistWithName failed: unknown result");
--  }
--
    public function registerDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Replica\DataProductModel $dataProductModel)
    {
      $this->send_registerDataProduct($authzToken, $dataProductModel);
@@@ -15024,7 -15399,8045 +14917,8501 @@@
      if ($result->ae !== null) {
        throw $result->ae;
      }
-     throw new \Exception("getAllAccessibleUsers failed: unknown result");
+     throw new \Exception("getAllAccessibleUsers failed: unknown result");
+   }
+ 
+   public function getAllAccessibleGroups(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
+   {
+     $this->send_getAllAccessibleGroups($authzToken, $resourceId, $permissionType);
+     return $this->recv_getAllAccessibleGroups();
+   }
+ 
+   public function send_getAllAccessibleGroups(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
+   {
+     $args = new \Airavata\API\Airavata_getAllAccessibleGroups_args();
+     $args->authzToken = $authzToken;
+     $args->resourceId = $resourceId;
+     $args->permissionType = $permissionType;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getAllAccessibleGroups', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getAllAccessibleGroups', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getAllAccessibleGroups()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllAccessibleGroups_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getAllAccessibleGroups_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getAllAccessibleGroups failed: unknown result");
+   }
+ 
++  public function getAllDirectlyAccessibleUsers(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
++  {
++    $this->send_getAllDirectlyAccessibleUsers($authzToken, $resourceId, $permissionType);
++    return $this->recv_getAllDirectlyAccessibleUsers();
++  }
++
++  public function send_getAllDirectlyAccessibleUsers(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
++  {
++    $args = new \Airavata\API\Airavata_getAllDirectlyAccessibleUsers_args();
++    $args->authzToken = $authzToken;
++    $args->resourceId = $resourceId;
++    $args->permissionType = $permissionType;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'getAllDirectlyAccessibleUsers', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('getAllDirectlyAccessibleUsers', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
++
++  public function recv_getAllDirectlyAccessibleUsers()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllDirectlyAccessibleUsers_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_getAllDirectlyAccessibleUsers_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("getAllDirectlyAccessibleUsers failed: unknown result");
++  }
++
++  public function getAllDirectlyAccessibleGroups(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
++  {
++    $this->send_getAllDirectlyAccessibleGroups($authzToken, $resourceId, $permissionType);
++    return $this->recv_getAllDirectlyAccessibleGroups();
++  }
++
++  public function send_getAllDirectlyAccessibleGroups(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
++  {
++    $args = new \Airavata\API\Airavata_getAllDirectlyAccessibleGroups_args();
++    $args->authzToken = $authzToken;
++    $args->resourceId = $resourceId;
++    $args->permissionType = $permissionType;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'getAllDirectlyAccessibleGroups', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('getAllDirectlyAccessibleGroups', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
++
++  public function recv_getAllDirectlyAccessibleGroups()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getAllDirectlyAccessibleGroups_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_getAllDirectlyAccessibleGroups_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("getAllDirectlyAccessibleGroups failed: unknown result");
++  }
++
+   public function userHasAccess(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
+   {
+     $this->send_userHasAccess($authzToken, $resourceId, $permissionType);
+     return $this->recv_userHasAccess();
+   }
+ 
+   public function send_userHasAccess(\Airavata\Model\Security\AuthzToken $authzToken, $resourceId, $permissionType)
+   {
+     $args = new \Airavata\API\Airavata_userHasAccess_args();
+     $args->authzToken = $authzToken;
+     $args->resourceId = $resourceId;
+     $args->permissionType = $permissionType;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'userHasAccess', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('userHasAccess', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_userHasAccess()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_userHasAccess_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_userHasAccess_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("userHasAccess failed: unknown result");
+   }
+ 
+   public function createGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\GroupResourceProfile\GroupResourceProfile $groupResourceProfile)
+   {
+     $this->send_createGroupResourceProfile($authzToken, $groupResourceProfile);
+     return $this->recv_createGroupResourceProfile();
+   }
+ 
+   public function send_createGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\GroupResourceProfile\GroupResourceProfile $groupResourceProfile)
+   {
+     $args = new \Airavata\API\Airavata_createGroupResourceProfile_args();
+     $args->authzToken = $authzToken;
+     $args->groupResourceProfile = $groupResourceProfile;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'createGroupResourceProfile', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('createGroupResourceProfile', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_createGroupResourceProfile()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_createGroupResourceProfile_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_createGroupResourceProfile_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("createGroupResourceProfile failed: unknown result");
+   }
+ 
+   public function updateGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\GroupResourceProfile\GroupResourceProfile $groupResourceProfile)
+   {
+     $this->send_updateGroupResourceProfile($authzToken, $groupResourceProfile);
+     $this->recv_updateGroupResourceProfile();
+   }
+ 
+   public function send_updateGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\GroupResourceProfile\GroupResourceProfile $groupResourceProfile)
+   {
+     $args = new \Airavata\API\Airavata_updateGroupResourceProfile_args();
+     $args->authzToken = $authzToken;
+     $args->groupResourceProfile = $groupResourceProfile;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'updateGroupResourceProfile', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('updateGroupResourceProfile', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_updateGroupResourceProfile()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_updateGroupResourceProfile_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_updateGroupResourceProfile_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     return;
+   }
+ 
+   public function getGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $this->send_getGroupResourceProfile($authzToken, $groupResourceProfileId);
+     return $this->recv_getGroupResourceProfile();
+   }
+ 
+   public function send_getGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $args = new \Airavata\API\Airavata_getGroupResourceProfile_args();
+     $args->authzToken = $authzToken;
+     $args->groupResourceProfileId = $groupResourceProfileId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGroupResourceProfile', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGroupResourceProfile', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGroupResourceProfile()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGroupResourceProfile_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGroupResourceProfile_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGroupResourceProfile failed: unknown result");
+   }
+ 
+   public function removeGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $this->send_removeGroupResourceProfile($authzToken, $groupResourceProfileId);
+     return $this->recv_removeGroupResourceProfile();
+   }
+ 
+   public function send_removeGroupResourceProfile(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $args = new \Airavata\API\Airavata_removeGroupResourceProfile_args();
+     $args->authzToken = $authzToken;
+     $args->groupResourceProfileId = $groupResourceProfileId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'removeGroupResourceProfile', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('removeGroupResourceProfile', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_removeGroupResourceProfile()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_removeGroupResourceProfile_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_removeGroupResourceProfile_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("removeGroupResourceProfile failed: unknown result");
+   }
+ 
+   public function getGroupResourceList(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
+   {
+     $this->send_getGroupResourceList($authzToken, $gatewayId);
+     return $this->recv_getGroupResourceList();
+   }
+ 
+   public function send_getGroupResourceList(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
+   {
+     $args = new \Airavata\API\Airavata_getGroupResourceList_args();
+     $args->authzToken = $authzToken;
+     $args->gatewayId = $gatewayId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGroupResourceList', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGroupResourceList', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGroupResourceList()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGroupResourceList_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGroupResourceList_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGroupResourceList failed: unknown result");
+   }
+ 
+   public function removeGroupComputePrefs(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $groupResourceProfileId)
+   {
+     $this->send_removeGroupComputePrefs($authzToken, $computeResourceId, $groupResourceProfileId);
+     return $this->recv_removeGroupComputePrefs();
+   }
+ 
+   public function send_removeGroupComputePrefs(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $groupResourceProfileId)
+   {
+     $args = new \Airavata\API\Airavata_removeGroupComputePrefs_args();
+     $args->authzToken = $authzToken;
+     $args->computeResourceId = $computeResourceId;
+     $args->groupResourceProfileId = $groupResourceProfileId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'removeGroupComputePrefs', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('removeGroupComputePrefs', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_removeGroupComputePrefs()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_removeGroupComputePrefs_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_removeGroupComputePrefs_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("removeGroupComputePrefs failed: unknown result");
+   }
+ 
+   public function removeGroupComputeResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $this->send_removeGroupComputeResourcePolicy($authzToken, $resourcePolicyId);
+     return $this->recv_removeGroupComputeResourcePolicy();
+   }
+ 
+   public function send_removeGroupComputeResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $args = new \Airavata\API\Airavata_removeGroupComputeResourcePolicy_args();
+     $args->authzToken = $authzToken;
+     $args->resourcePolicyId = $resourcePolicyId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'removeGroupComputeResourcePolicy', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('removeGroupComputeResourcePolicy', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_removeGroupComputeResourcePolicy()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_removeGroupComputeResourcePolicy_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_removeGroupComputeResourcePolicy_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("removeGroupComputeResourcePolicy failed: unknown result");
+   }
+ 
+   public function removeGroupBatchQueueResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $this->send_removeGroupBatchQueueResourcePolicy($authzToken, $resourcePolicyId);
+     return $this->recv_removeGroupBatchQueueResourcePolicy();
+   }
+ 
+   public function send_removeGroupBatchQueueResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $args = new \Airavata\API\Airavata_removeGroupBatchQueueResourcePolicy_args();
+     $args->authzToken = $authzToken;
+     $args->resourcePolicyId = $resourcePolicyId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'removeGroupBatchQueueResourcePolicy', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('removeGroupBatchQueueResourcePolicy', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_removeGroupBatchQueueResourcePolicy()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_removeGroupBatchQueueResourcePolicy_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_removeGroupBatchQueueResourcePolicy_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("removeGroupBatchQueueResourcePolicy failed: unknown result");
+   }
+ 
+   public function getGroupComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $groupResourceProfileId)
+   {
+     $this->send_getGroupComputeResourcePreference($authzToken, $computeResourceId, $groupResourceProfileId);
+     return $this->recv_getGroupComputeResourcePreference();
+   }
+ 
+   public function send_getGroupComputeResourcePreference(\Airavata\Model\Security\AuthzToken $authzToken, $computeResourceId, $groupResourceProfileId)
+   {
+     $args = new \Airavata\API\Airavata_getGroupComputeResourcePreference_args();
+     $args->authzToken = $authzToken;
+     $args->computeResourceId = $computeResourceId;
+     $args->groupResourceProfileId = $groupResourceProfileId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGroupComputeResourcePreference', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGroupComputeResourcePreference', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGroupComputeResourcePreference()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGroupComputeResourcePreference_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGroupComputeResourcePreference_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGroupComputeResourcePreference failed: unknown result");
+   }
+ 
+   public function getGroupComputeResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $this->send_getGroupComputeResourcePolicy($authzToken, $resourcePolicyId);
+     return $this->recv_getGroupComputeResourcePolicy();
+   }
+ 
+   public function send_getGroupComputeResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $args = new \Airavata\API\Airavata_getGroupComputeResourcePolicy_args();
+     $args->authzToken = $authzToken;
+     $args->resourcePolicyId = $resourcePolicyId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGroupComputeResourcePolicy', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGroupComputeResourcePolicy', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGroupComputeResourcePolicy()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGroupComputeResourcePolicy_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGroupComputeResourcePolicy_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGroupComputeResourcePolicy failed: unknown result");
+   }
+ 
+   public function getBatchQueueResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $this->send_getBatchQueueResourcePolicy($authzToken, $resourcePolicyId);
+     return $this->recv_getBatchQueueResourcePolicy();
+   }
+ 
+   public function send_getBatchQueueResourcePolicy(\Airavata\Model\Security\AuthzToken $authzToken, $resourcePolicyId)
+   {
+     $args = new \Airavata\API\Airavata_getBatchQueueResourcePolicy_args();
+     $args->authzToken = $authzToken;
+     $args->resourcePolicyId = $resourcePolicyId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getBatchQueueResourcePolicy', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getBatchQueueResourcePolicy', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getBatchQueueResourcePolicy()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getBatchQueueResourcePolicy_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getBatchQueueResourcePolicy_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getBatchQueueResourcePolicy failed: unknown result");
+   }
+ 
+   public function getGroupComputeResourcePrefList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $this->send_getGroupComputeResourcePrefList($authzToken, $groupResourceProfileId);
+     return $this->recv_getGroupComputeResourcePrefList();
+   }
+ 
+   public function send_getGroupComputeResourcePrefList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $args = new \Airavata\API\Airavata_getGroupComputeResourcePrefList_args();
+     $args->authzToken = $authzToken;
+     $args->groupResourceProfileId = $groupResourceProfileId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGroupComputeResourcePrefList', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGroupComputeResourcePrefList', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGroupComputeResourcePrefList()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGroupComputeResourcePrefList_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGroupComputeResourcePrefList_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGroupComputeResourcePrefList failed: unknown result");
+   }
+ 
+   public function getGroupBatchQueueResourcePolicyList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $this->send_getGroupBatchQueueResourcePolicyList($authzToken, $groupResourceProfileId);
+     return $this->recv_getGroupBatchQueueResourcePolicyList();
+   }
+ 
+   public function send_getGroupBatchQueueResourcePolicyList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $args = new \Airavata\API\Airavata_getGroupBatchQueueResourcePolicyList_args();
+     $args->authzToken = $authzToken;
+     $args->groupResourceProfileId = $groupResourceProfileId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGroupBatchQueueResourcePolicyList', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGroupBatchQueueResourcePolicyList', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGroupBatchQueueResourcePolicyList()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGroupBatchQueueResourcePolicyList_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGroupBatchQueueResourcePolicyList_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGroupBatchQueueResourcePolicyList failed: unknown result");
+   }
+ 
+   public function getGroupComputeResourcePolicyList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $this->send_getGroupComputeResourcePolicyList($authzToken, $groupResourceProfileId);
+     return $this->recv_getGroupComputeResourcePolicyList();
+   }
+ 
+   public function send_getGroupComputeResourcePolicyList(\Airavata\Model\Security\AuthzToken $authzToken, $groupResourceProfileId)
+   {
+     $args = new \Airavata\API\Airavata_getGroupComputeResourcePolicyList_args();
+     $args->authzToken = $authzToken;
+     $args->groupResourceProfileId = $groupResourceProfileId;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGroupComputeResourcePolicyList', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGroupComputeResourcePolicyList', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGroupComputeResourcePolicyList()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGroupComputeResourcePolicyList_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGroupComputeResourcePolicyList_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGroupComputeResourcePolicyList failed: unknown result");
+   }
+ 
+   public function getGatewayGroups(\Airavata\Model\Security\AuthzToken $authzToken)
+   {
+     $this->send_getGatewayGroups($authzToken);
+     return $this->recv_getGatewayGroups();
+   }
+ 
+   public function send_getGatewayGroups(\Airavata\Model\Security\AuthzToken $authzToken)
+   {
+     $args = new \Airavata\API\Airavata_getGatewayGroups_args();
+     $args->authzToken = $authzToken;
+     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+     if ($bin_accel)
+     {
+       thrift_protocol_write_binary($this->output_, 'getGatewayGroups', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+     }
+     else
+     {
+       $this->output_->writeMessageBegin('getGatewayGroups', TMessageType::CALL, $this->seqid_);
+       $args->write($this->output_);
+       $this->output_->writeMessageEnd();
+       $this->output_->getTransport()->flush();
+     }
+   }
+ 
+   public function recv_getGatewayGroups()
+   {
+     $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+     if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getGatewayGroups_result', $this->input_->isStrictRead());
+     else
+     {
+       $rseqid = 0;
+       $fname = null;
+       $mtype = 0;
+ 
+       $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+       if ($mtype == TMessageType::EXCEPTION) {
+         $x = new TApplicationException();
+         $x->read($this->input_);
+         $this->input_->readMessageEnd();
+         throw $x;
+       }
+       $result = new \Airavata\API\Airavata_getGatewayGroups_result();
+       $result->read($this->input_);
+       $this->input_->readMessageEnd();
+     }
+     if ($result->success !== null) {
+       return $result->success;
+     }
+     if ($result->ire !== null) {
+       throw $result->ire;
+     }
+     if ($result->ace !== null) {
+       throw $result->ace;
+     }
+     if ($result->ase !== null) {
+       throw $result->ase;
+     }
+     if ($result->ae !== null) {
+       throw $result->ae;
+     }
+     throw new \Exception("getGatewayGroups failed: unknown result");
+   }
+ 
 -}
 -
 -
 -// HELPER FUNCTIONS AND STRUCTURES
++  public function getParser(\Airavata\Model\Security\AuthzToken $authzToken, $parserId, $gatewayId)
++  {
++    $this->send_getParser($authzToken, $parserId, $gatewayId);
++    return $this->recv_getParser();
++  }
+ 
 -class Airavata_getAPIVersion_args {
 -  static $_TSPEC;
++  public function send_getParser(\Airavata\Model\Security\AuthzToken $authzToken, $parserId, $gatewayId)
++  {
++    $args = new \Airavata\API\Airavata_getParser_args();
++    $args->authzToken = $authzToken;
++    $args->parserId = $parserId;
++    $args->gatewayId = $gatewayId;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'getParser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('getParser', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
+ 
 -  /**
 -   * @var \Airavata\Model\Security\AuthzToken
 -   */
 -  public $authzToken = null;
++  public function recv_getParser()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getParser_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
+ 
 -  public function __construct($vals=null) {
 -    if (!isset(self::$_TSPEC)) {
 -      self::$_TSPEC = array(
 -        1 => array(
 -          'var' => 'authzToken',
 -          'type' => TType::STRUCT,
 -          'class' => '\Airavata\Model\Security\AuthzToken',
 -          ),
 -        );
 -    }
 -    if (is_array($vals)) {
 -      if (isset($vals['authzToken'])) {
 -        $this->authzToken = $vals['authzToken'];
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
+       }
++      $result = new \Airavata\API\Airavata_getParser_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
+     }
++    throw new \Exception("getParser failed: unknown result");
+   }
+ 
 -  public function getName() {
 -    return 'Airavata_getAPIVersion_args';
++  public function saveParser(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\Parser\Parser $parser)
++  {
++    $this->send_saveParser($authzToken, $parser);
++    return $this->recv_saveParser();
+   }
+ 
 -  public function read($input)
++  public function send_saveParser(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\Parser\Parser $parser)
+   {
 -    $xfer = 0;
 -    $fname = null;
 -    $ftype = 0;
 -    $fid = 0;
 -    $xfer += $input->readStructBegin($fname);
 -    while (true)
++    $args = new \Airavata\API\Airavata_saveParser_args();
++    $args->authzToken = $authzToken;
++    $args->parser = $parser;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
+     {
 -      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
 -      if ($ftype == TType::STOP) {
 -        break;
 -      }
 -      switch ($fid)
 -      {
 -        case 1:
 -          if ($ftype == TType::STRUCT) {
 -            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
 -            $xfer += $this->authzToken->read($input);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        default:
 -          $xfer += $input->skip($ftype);
 -          break;
 -      }
 -      $xfer += $input->readFieldEnd();
++      thrift_protocol_write_binary($this->output_, 'saveParser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('saveParser', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
+     }
 -    $xfer += $input->readStructEnd();
 -    return $xfer;
+   }
+ 
 -  public function write($output) {
 -    $xfer = 0;
 -    $xfer += $output->writeStructBegin('Airavata_getAPIVersion_args');
 -    if ($this->authzToken !== null) {
 -      if (!is_object($this->authzToken)) {
 -        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
++  public function recv_saveParser()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_saveParser_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
+       }
 -      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
 -      $xfer += $this->authzToken->write($output);
 -      $xfer += $output->writeFieldEnd();
++      $result = new \Airavata\API\Airavata_saveParser_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
+     }
 -    $xfer += $output->writeFieldStop();
 -    $xfer += $output->writeStructEnd();
 -    return $xfer;
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("saveParser failed: unknown result");
+   }
+ 
 -}
++  public function listAllParsers(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
++  {
++    $this->send_listAllParsers($authzToken, $gatewayId);
++    return $this->recv_listAllParsers();
++  }
+ 
 -class Airavata_getAPIVersion_result {
 -  static $_TSPEC;
++  public function send_listAllParsers(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
++  {
++    $args = new \Airavata\API\Airavata_listAllParsers_args();
++    $args->authzToken = $authzToken;
++    $args->gatewayId = $gatewayId;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'listAllParsers', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('listAllParsers', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
+ 
 -  /**
 -   * @var string
 -   */
 -  public $success = null;
 -  /**
 -   * @var \Airavata\API\Error\InvalidRequestException
 -   */
 -  public $ire = null;
 -  /**
 -   * @var \Airavata\API\Error\AiravataClientException
 -   */
 -  public $ace = null;
 -  /**
 -   * @var \Airavata\API\Error\AiravataSystemException
 -   */
 -  public $ase = null;
 -  /**
 -   * @var \Airavata\API\Error\AuthorizationException
 -   */
 -  public $ae = null;
++  public function recv_listAllParsers()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_listAllParsers_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
+ 
 -  public function __construct($vals=null) {
 -    if (!isset(self::$_TSPEC)) {
 -      self::$_TSPEC = array(
 -        0 => array(
 -          'var' => 'success',
 -          'type' => TType::STRING,
 -          ),
 -        1 => array(
 -          'var' => 'ire',
 -          'type' => TType::STRUCT,
 -          'class' => '\Airavata\API\Error\InvalidRequestException',
 -          ),
 -        2 => array(
 -          'var' => 'ace',
 -          'type' => TType::STRUCT,
 -          'class' => '\Airavata\API\Error\AiravataClientException',
 -          ),
 -        3 => array(
 -          'var' => 'ase',
 -          'type' => TType::STRUCT,
 -          'class' => '\Airavata\API\Error\AiravataSystemException',
 -          ),
 -        4 => array(
 -          'var' => 'ae',
 -          'type' => TType::STRUCT,
 -          'class' => '\Airavata\API\Error\AuthorizationException',
 -          ),
 -        );
 -    }
 -    if (is_array($vals)) {
 -      if (isset($vals['success'])) {
 -        $this->success = $vals['success'];
 -      }
 -      if (isset($vals['ire'])) {
 -        $this->ire = $vals['ire'];
 -      }
 -      if (isset($vals['ace'])) {
 -        $this->ace = $vals['ace'];
 -      }
 -      if (isset($vals['ase'])) {
 -        $this->ase = $vals['ase'];
 -      }
 -      if (isset($vals['ae'])) {
 -        $this->ae = $vals['ae'];
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
+       }
++      $result = new \Airavata\API\Airavata_listAllParsers_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
+     }
++    throw new \Exception("listAllParsers failed: unknown result");
+   }
+ 
 -  public function getName() {
 -    return 'Airavata_getAPIVersion_result';
++  public function removeParser(\Airavata\Model\Security\AuthzToken $authzToken, $parserId, $gatewayId)
++  {
++    $this->send_removeParser($authzToken, $parserId, $gatewayId);
++    return $this->recv_removeParser();
+   }
+ 
 -  public function read($input)
++  public function send_removeParser(\Airavata\Model\Security\AuthzToken $authzToken, $parserId, $gatewayId)
+   {
 -    $xfer = 0;
 -    $fname = null;
 -    $ftype = 0;
 -    $fid = 0;
 -    $xfer += $input->readStructBegin($fname);
 -    while (true)
++    $args = new \Airavata\API\Airavata_removeParser_args();
++    $args->authzToken = $authzToken;
++    $args->parserId = $parserId;
++    $args->gatewayId = $gatewayId;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
+     {
 -      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
 -      if ($ftype == TType::STOP) {
 -        break;
 -      }
 -      switch ($fid)
 -      {
 -        case 0:
 -          if ($ftype == TType::STRING) {
 -            $xfer += $input->readString($this->success);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        case 1:
 -          if ($ftype == TType::STRUCT) {
 -            $this->ire = new \Airavata\API\Error\InvalidRequestException();
 -            $xfer += $this->ire->read($input);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        case 2:
 -          if ($ftype == TType::STRUCT) {
 -            $this->ace = new \Airavata\API\Error\AiravataClientException();
 -            $xfer += $this->ace->read($input);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        case 3:
 -          if ($ftype == TType::STRUCT) {
 -            $this->ase = new \Airavata\API\Error\AiravataSystemException();
 -            $xfer += $this->ase->read($input);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        case 4:
 -          if ($ftype == TType::STRUCT) {
 -            $this->ae = new \Airavata\API\Error\AuthorizationException();
 -            $xfer += $this->ae->read($input);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        default:
 -          $xfer += $input->skip($ftype);
 -          break;
 -      }
 -      $xfer += $input->readFieldEnd();
++      thrift_protocol_write_binary($this->output_, 'removeParser', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('removeParser', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
+     }
 -    $xfer += $input->readStructEnd();
 -    return $xfer;
+   }
+ 
 -  public function write($output) {
 -    $xfer = 0;
 -    $xfer += $output->writeStructBegin('Airavata_getAPIVersion_result');
 -    if ($this->success !== null) {
 -      $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
 -      $xfer += $output->writeString($this->success);
 -      $xfer += $output->writeFieldEnd();
++  public function recv_removeParser()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_removeParser_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_removeParser_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
+     }
 -    if ($this->ire !== null) {
 -      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
 -      $xfer += $this->ire->write($output);
 -      $xfer += $output->writeFieldEnd();
++    if ($result->success !== null) {
++      return $result->success;
+     }
 -    if ($this->ace !== null) {
 -      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
 -      $xfer += $this->ace->write($output);
 -      $xfer += $output->writeFieldEnd();
++    if ($result->ire !== null) {
++      throw $result->ire;
+     }
 -    if ($this->ase !== null) {
 -      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
 -      $xfer += $this->ase->write($output);
 -      $xfer += $output->writeFieldEnd();
++    if ($result->ace !== null) {
++      throw $result->ace;
+     }
 -    if ($this->ae !== null) {
 -      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
 -      $xfer += $this->ae->write($output);
 -      $xfer += $output->writeFieldEnd();
++    if ($result->ase !== null) {
++      throw $result->ase;
+     }
 -    $xfer += $output->writeFieldStop();
 -    $xfer += $output->writeStructEnd();
 -    return $xfer;
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("removeParser failed: unknown result");
+   }
+ 
 -}
++  public function getParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, $templateId, $gatewayId)
++  {
++    $this->send_getParsingTemplate($authzToken, $templateId, $gatewayId);
++    return $this->recv_getParsingTemplate();
++  }
+ 
 -class Airavata_isUserExists_args {
 -  static $_TSPEC;
++  public function send_getParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, $templateId, $gatewayId)
++  {
++    $args = new \Airavata\API\Airavata_getParsingTemplate_args();
++    $args->authzToken = $authzToken;
++    $args->templateId = $templateId;
++    $args->gatewayId = $gatewayId;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'getParsingTemplate', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('getParsingTemplate', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
++
++  public function recv_getParsingTemplate()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getParsingTemplate_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_getParsingTemplate_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("getParsingTemplate failed: unknown result");
++  }
++
++  public function getParsingTemplatesForExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $experimentId, $gatewayId)
++  {
++    $this->send_getParsingTemplatesForExperiment($authzToken, $experimentId, $gatewayId);
++    return $this->recv_getParsingTemplatesForExperiment();
++  }
++
++  public function send_getParsingTemplatesForExperiment(\Airavata\Model\Security\AuthzToken $authzToken, $experimentId, $gatewayId)
++  {
++    $args = new \Airavata\API\Airavata_getParsingTemplatesForExperiment_args();
++    $args->authzToken = $authzToken;
++    $args->experimentId = $experimentId;
++    $args->gatewayId = $gatewayId;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'getParsingTemplatesForExperiment', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('getParsingTemplatesForExperiment', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
++
++  public function recv_getParsingTemplatesForExperiment()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getParsingTemplatesForExperiment_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_getParsingTemplatesForExperiment_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("getParsingTemplatesForExperiment failed: unknown result");
++  }
++
++  public function saveParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\Parser\ParsingTemplate $parsingTemplate)
++  {
++    $this->send_saveParsingTemplate($authzToken, $parsingTemplate);
++    return $this->recv_saveParsingTemplate();
++  }
++
++  public function send_saveParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\AppCatalog\Parser\ParsingTemplate $parsingTemplate)
++  {
++    $args = new \Airavata\API\Airavata_saveParsingTemplate_args();
++    $args->authzToken = $authzToken;
++    $args->parsingTemplate = $parsingTemplate;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'saveParsingTemplate', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('saveParsingTemplate', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
++
++  public function recv_saveParsingTemplate()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_saveParsingTemplate_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_saveParsingTemplate_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("saveParsingTemplate failed: unknown result");
++  }
++
++  public function removeParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, $templateId, $gatewayId)
++  {
++    $this->send_removeParsingTemplate($authzToken, $templateId, $gatewayId);
++    return $this->recv_removeParsingTemplate();
++  }
++
++  public function send_removeParsingTemplate(\Airavata\Model\Security\AuthzToken $authzToken, $templateId, $gatewayId)
++  {
++    $args = new \Airavata\API\Airavata_removeParsingTemplate_args();
++    $args->authzToken = $authzToken;
++    $args->templateId = $templateId;
++    $args->gatewayId = $gatewayId;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'removeParsingTemplate', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('removeParsingTemplate', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
++
++  public function recv_removeParsingTemplate()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_removeParsingTemplate_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_removeParsingTemplate_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("removeParsingTemplate failed: unknown result");
++  }
++
++  public function listAllParsingTemplates(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
++  {
++    $this->send_listAllParsingTemplates($authzToken, $gatewayId);
++    return $this->recv_listAllParsingTemplates();
++  }
++
++  public function send_listAllParsingTemplates(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId)
++  {
++    $args = new \Airavata\API\Airavata_listAllParsingTemplates_args();
++    $args->authzToken = $authzToken;
++    $args->gatewayId = $gatewayId;
++    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
++    if ($bin_accel)
++    {
++      thrift_protocol_write_binary($this->output_, 'listAllParsingTemplates', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
++    }
++    else
++    {
++      $this->output_->writeMessageBegin('listAllParsingTemplates', TMessageType::CALL, $this->seqid_);
++      $args->write($this->output_);
++      $this->output_->writeMessageEnd();
++      $this->output_->getTransport()->flush();
++    }
++  }
++
++  public function recv_listAllParsingTemplates()
++  {
++    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
++    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_listAllParsingTemplates_result', $this->input_->isStrictRead());
++    else
++    {
++      $rseqid = 0;
++      $fname = null;
++      $mtype = 0;
++
++      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
++      if ($mtype == TMessageType::EXCEPTION) {
++        $x = new TApplicationException();
++        $x->read($this->input_);
++        $this->input_->readMessageEnd();
++        throw $x;
++      }
++      $result = new \Airavata\API\Airavata_listAllParsingTemplates_result();
++      $result->read($this->input_);
++      $this->input_->readMessageEnd();
++    }
++    if ($result->success !== null) {
++      return $result->success;
++    }
++    if ($result->ire !== null) {
++      throw $result->ire;
++    }
++    if ($result->ace !== null) {
++      throw $result->ace;
++    }
++    if ($result->ase !== null) {
++      throw $result->ase;
++    }
++    if ($result->ae !== null) {
++      throw $result->ae;
++    }
++    throw new \Exception("listAllParsingTemplates failed: unknown result");
++  }
++
++}
++
++
++// HELPER FUNCTIONS AND STRUCTURES
++
++class Airavata_isUserExists_args {
++  static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+   /**
+    * @var string
+    */
+   public $userName = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         3 => array(
+           'var' => 'userName',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+       if (isset($vals['userName'])) {
+         $this->userName = $vals['userName'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_isUserExists_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->userName);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_isUserExists_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->userName !== null) {
+       $xfer += $output->writeFieldBegin('userName', TType::STRING, 3);
+       $xfer += $output->writeString($this->userName);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_isUserExists_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_isUserExists_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_isUserExists_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_addGateway_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var \Airavata\Model\Workspace\Gateway
+    */
+   public $gateway = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gateway',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Gateway',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gateway'])) {
+         $this->gateway = $vals['gateway'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_addGateway_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->gateway = new \Airavata\Model\Workspace\Gateway();
+             $xfer += $this->gateway->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_addGateway_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gateway !== null) {
+       if (!is_object($this->gateway)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('gateway', TType::STRUCT, 2);
+       $xfer += $this->gateway->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_addGateway_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var string
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRING,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_addGateway_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_addGateway_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+       $xfer += $output->writeString($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllUsersInGateway_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllUsersInGateway_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllUsersInGateway_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllUsersInGateway_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var string[]
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::LST,
+           'etype' => TType::STRING,
+           'elem' => array(
+             'type' => TType::STRING,
+             ),
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllUsersInGateway_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::LST) {
+             $this->success = array();
+             $_size0 = 0;
+             $_etype3 = 0;
+             $xfer += $input->readListBegin($_etype3, $_size0);
+             for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+             {
+               $elem5 = null;
+               $xfer += $input->readString($elem5);
+               $this->success []= $elem5;
+             }
+             $xfer += $input->readListEnd();
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllUsersInGateway_result');
+     if ($this->success !== null) {
+       if (!is_array($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+       {
+         $output->writeListBegin(TType::STRING, count($this->success));
+         {
+           foreach ($this->success as $iter6)
+           {
+             $xfer += $output->writeString($iter6);
+           }
+         }
+         $output->writeListEnd();
+       }
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_updateGateway_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+   /**
+    * @var \Airavata\Model\Workspace\Gateway
+    */
+   public $updatedGateway = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         3 => array(
+           'var' => 'updatedGateway',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Gateway',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+       if (isset($vals['updatedGateway'])) {
+         $this->updatedGateway = $vals['updatedGateway'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_updateGateway_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->updatedGateway = new \Airavata\Model\Workspace\Gateway();
+             $xfer += $this->updatedGateway->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_updateGateway_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->updatedGateway !== null) {
+       if (!is_object($this->updatedGateway)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('updatedGateway', TType::STRUCT, 3);
+       $xfer += $this->updatedGateway->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_updateGateway_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_updateGateway_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_updateGateway_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getGateway_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getGateway_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getGateway_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getGateway_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Workspace\Gateway
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Gateway',
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getGateway_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRUCT) {
+             $this->success = new \Airavata\Model\Workspace\Gateway();
+             $xfer += $this->success->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getGateway_result');
+     if ($this->success !== null) {
+       if (!is_object($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+       $xfer += $this->success->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteGateway_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteGateway_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteGateway_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteGateway_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteGateway_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteGateway_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllGateways_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllGateways_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllGateways_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllGateways_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Workspace\Gateway[]
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::LST,
+           'etype' => TType::STRUCT,
+           'elem' => array(
+             'type' => TType::STRUCT,
+             'class' => '\Airavata\Model\Workspace\Gateway',
+             ),
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllGateways_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::LST) {
+             $this->success = array();
+             $_size7 = 0;
+             $_etype10 = 0;
+             $xfer += $input->readListBegin($_etype10, $_size7);
+             for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+             {
+               $elem12 = null;
+               $elem12 = new \Airavata\Model\Workspace\Gateway();
+               $xfer += $elem12->read($input);
+               $this->success []= $elem12;
+             }
+             $xfer += $input->readListEnd();
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllGateways_result');
+     if ($this->success !== null) {
+       if (!is_array($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+       {
+         $output->writeListBegin(TType::STRUCT, count($this->success));
+         {
+           foreach ($this->success as $iter13)
+           {
+             $xfer += $iter13->write($output);
+           }
+         }
+         $output->writeListEnd();
+       }
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_isGatewayExist_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_isGatewayExist_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_isGatewayExist_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_isGatewayExist_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_isGatewayExist_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_isGatewayExist_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_createNotification_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var \Airavata\Model\Workspace\Notification
+    */
+   public $notification = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'notification',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Notification',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['notification'])) {
+         $this->notification = $vals['notification'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_createNotification_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->notification = new \Airavata\Model\Workspace\Notification();
+             $xfer += $this->notification->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_createNotification_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->notification !== null) {
+       if (!is_object($this->notification)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('notification', TType::STRUCT, 2);
+       $xfer += $this->notification->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_createNotification_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var string
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRING,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_createNotification_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_createNotification_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+       $xfer += $output->writeString($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_updateNotification_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var \Airavata\Model\Workspace\Notification
+    */
+   public $notification = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'notification',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Notification',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['notification'])) {
+         $this->notification = $vals['notification'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_updateNotification_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->notification = new \Airavata\Model\Workspace\Notification();
+             $xfer += $this->notification->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_updateNotification_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->notification !== null) {
+       if (!is_object($this->notification)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('notification', TType::STRUCT, 2);
+       $xfer += $this->notification->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_updateNotification_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_updateNotification_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_updateNotification_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteNotification_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+   /**
+    * @var string
+    */
+   public $notificationId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         3 => array(
+           'var' => 'notificationId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+       if (isset($vals['notificationId'])) {
+         $this->notificationId = $vals['notificationId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteNotification_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->notificationId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteNotification_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->notificationId !== null) {
+       $xfer += $output->writeFieldBegin('notificationId', TType::STRING, 3);
+       $xfer += $output->writeString($this->notificationId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteNotification_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteNotification_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteNotification_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getNotification_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+   /**
+    * @var string
+    */
+   public $notificationId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         3 => array(
+           'var' => 'notificationId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+       if (isset($vals['notificationId'])) {
+         $this->notificationId = $vals['notificationId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getNotification_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->notificationId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getNotification_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->notificationId !== null) {
+       $xfer += $output->writeFieldBegin('notificationId', TType::STRING, 3);
+       $xfer += $output->writeString($this->notificationId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getNotification_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Workspace\Notification
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Notification',
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getNotification_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRUCT) {
+             $this->success = new \Airavata\Model\Workspace\Notification();
+             $xfer += $this->success->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getNotification_result');
+     if ($this->success !== null) {
+       if (!is_object($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+       $xfer += $this->success->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllNotifications_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllNotifications_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllNotifications_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllNotifications_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Workspace\Notification[]
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::LST,
+           'etype' => TType::STRUCT,
+           'elem' => array(
+             'type' => TType::STRUCT,
+             'class' => '\Airavata\Model\Workspace\Notification',
+             ),
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllNotifications_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::LST) {
+             $this->success = array();
+             $_size14 = 0;
+             $_etype17 = 0;
+             $xfer += $input->readListBegin($_etype17, $_size14);
+             for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+             {
+               $elem19 = null;
+               $elem19 = new \Airavata\Model\Workspace\Notification();
+               $xfer += $elem19->read($input);
+               $this->success []= $elem19;
+             }
+             $xfer += $input->readListEnd();
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllNotifications_result');
+     if ($this->success !== null) {
+       if (!is_array($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+       {
+         $output->writeListBegin(TType::STRUCT, count($this->success));
+         {
+           foreach ($this->success as $iter20)
+           {
+             $xfer += $iter20->write($output);
+           }
+         }
+         $output->writeListEnd();
+       }
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_generateAndRegisterSSHKeys_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $description = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         4 => array(
+           'var' => 'description',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['description'])) {
+         $this->description = $vals['description'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_generateAndRegisterSSHKeys_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->description);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_generateAndRegisterSSHKeys_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->description !== null) {
+       $xfer += $output->writeFieldBegin('description', TType::STRING, 4);
+       $xfer += $output->writeString($this->description);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_generateAndRegisterSSHKeys_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var string
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRING,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_generateAndRegisterSSHKeys_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_generateAndRegisterSSHKeys_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+       $xfer += $output->writeString($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_registerPwdCredential_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $loginUserName = null;
+   /**
+    * @var string
+    */
+   public $password = null;
+   /**
+    * @var string
+    */
+   public $description = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         4 => array(
+           'var' => 'loginUserName',
+           'type' => TType::STRING,
+           ),
+         5 => array(
+           'var' => 'password',
+           'type' => TType::STRING,
+           ),
+         6 => array(
+           'var' => 'description',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['loginUserName'])) {
+         $this->loginUserName = $vals['loginUserName'];
+       }
+       if (isset($vals['password'])) {
+         $this->password = $vals['password'];
+       }
+       if (isset($vals['description'])) {
+         $this->description = $vals['description'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_registerPwdCredential_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->loginUserName);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 5:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->password);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 6:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->description);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_registerPwdCredential_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->loginUserName !== null) {
+       $xfer += $output->writeFieldBegin('loginUserName', TType::STRING, 4);
+       $xfer += $output->writeString($this->loginUserName);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->password !== null) {
+       $xfer += $output->writeFieldBegin('password', TType::STRING, 5);
+       $xfer += $output->writeString($this->password);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->description !== null) {
+       $xfer += $output->writeFieldBegin('description', TType::STRING, 6);
+       $xfer += $output->writeString($this->description);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_registerPwdCredential_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var string
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRING,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_registerPwdCredential_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_registerPwdCredential_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+       $xfer += $output->writeString($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getCredentialSummary_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $tokenId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'tokenId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['tokenId'])) {
+         $this->tokenId = $vals['tokenId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getCredentialSummary_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->tokenId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getCredentialSummary_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->tokenId !== null) {
+       $xfer += $output->writeFieldBegin('tokenId', TType::STRING, 2);
+       $xfer += $output->writeString($this->tokenId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getCredentialSummary_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Credential\Store\CredentialSummary
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Credential\Store\CredentialSummary',
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getCredentialSummary_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRUCT) {
+             $this->success = new \Airavata\Model\Credential\Store\CredentialSummary();
+             $xfer += $this->success->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getCredentialSummary_result');
+     if ($this->success !== null) {
+       if (!is_object($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+       $xfer += $this->success->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllCredentialSummaries_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var int
+    */
+   public $type = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'type',
+           'type' => TType::I32,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['type'])) {
+         $this->type = $vals['type'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllCredentialSummaries_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::I32) {
+             $xfer += $input->readI32($this->type);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllCredentialSummaries_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->type !== null) {
+       $xfer += $output->writeFieldBegin('type', TType::I32, 2);
+       $xfer += $output->writeI32($this->type);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getAllCredentialSummaries_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Credential\Store\CredentialSummary[]
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::LST,
+           'etype' => TType::STRUCT,
+           'elem' => array(
+             'type' => TType::STRUCT,
+             'class' => '\Airavata\Model\Credential\Store\CredentialSummary',
+             ),
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getAllCredentialSummaries_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::LST) {
+             $this->success = array();
+             $_size21 = 0;
+             $_etype24 = 0;
+             $xfer += $input->readListBegin($_etype24, $_size21);
+             for ($_i25 = 0; $_i25 < $_size21; ++$_i25)
+             {
+               $elem26 = null;
+               $elem26 = new \Airavata\Model\Credential\Store\CredentialSummary();
+               $xfer += $elem26->read($input);
+               $this->success []= $elem26;
+             }
+             $xfer += $input->readListEnd();
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getAllCredentialSummaries_result');
+     if ($this->success !== null) {
+       if (!is_array($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::LST, 0);
+       {
+         $output->writeListBegin(TType::STRUCT, count($this->success));
+         {
+           foreach ($this->success as $iter27)
+           {
+             $xfer += $iter27->write($output);
+           }
+         }
+         $output->writeListEnd();
+       }
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteSSHPubKey_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $airavataCredStoreToken = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'airavataCredStoreToken',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['airavataCredStoreToken'])) {
+         $this->airavataCredStoreToken = $vals['airavataCredStoreToken'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteSSHPubKey_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->airavataCredStoreToken);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteSSHPubKey_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->airavataCredStoreToken !== null) {
+       $xfer += $output->writeFieldBegin('airavataCredStoreToken', TType::STRING, 2);
+       $xfer += $output->writeString($this->airavataCredStoreToken);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteSSHPubKey_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteSSHPubKey_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteSSHPubKey_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deletePWDCredential_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $airavataCredStoreToken = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'airavataCredStoreToken',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['airavataCredStoreToken'])) {
+         $this->airavataCredStoreToken = $vals['airavataCredStoreToken'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deletePWDCredential_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->airavataCredStoreToken);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deletePWDCredential_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->airavataCredStoreToken !== null) {
+       $xfer += $output->writeFieldBegin('airavataCredStoreToken', TType::STRING, 2);
+       $xfer += $output->writeString($this->airavataCredStoreToken);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deletePWDCredential_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deletePWDCredential_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deletePWDCredential_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_createProject_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $gatewayId = null;
+   /**
+    * @var \Airavata\Model\Workspace\Project
+    */
+   public $project = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'gatewayId',
+           'type' => TType::STRING,
+           ),
+         3 => array(
+           'var' => 'project',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Project',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['gatewayId'])) {
+         $this->gatewayId = $vals['gatewayId'];
+       }
+       if (isset($vals['project'])) {
+         $this->project = $vals['project'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_createProject_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->gatewayId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->project = new \Airavata\Model\Workspace\Project();
+             $xfer += $this->project->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_createProject_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->gatewayId !== null) {
+       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+       $xfer += $output->writeString($this->gatewayId);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->project !== null) {
+       if (!is_object($this->project)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('project', TType::STRUCT, 3);
+       $xfer += $this->project->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_createProject_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var string
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRING,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_createProject_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_createProject_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::STRING, 0);
+       $xfer += $output->writeString($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 4);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_updateProject_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $projectId = null;
+   /**
+    * @var \Airavata\Model\Workspace\Project
+    */
+   public $updatedProject = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'projectId',
+           'type' => TType::STRING,
+           ),
+         3 => array(
+           'var' => 'updatedProject',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Project',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['projectId'])) {
+         $this->projectId = $vals['projectId'];
+       }
+       if (isset($vals['updatedProject'])) {
+         $this->updatedProject = $vals['updatedProject'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_updateProject_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->projectId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->updatedProject = new \Airavata\Model\Workspace\Project();
+             $xfer += $this->updatedProject->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_updateProject_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->projectId !== null) {
+       $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
+       $xfer += $output->writeString($this->projectId);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->updatedProject !== null) {
+       if (!is_object($this->updatedProject)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('updatedProject', TType::STRUCT, 3);
+       $xfer += $this->updatedProject->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_updateProject_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\ProjectNotFoundException
+    */
+   public $pnfe = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'pnfe',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\ProjectNotFoundException',
+           ),
+         5 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['pnfe'])) {
+         $this->pnfe = $vals['pnfe'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_updateProject_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->pnfe = new \Airavata\API\Error\ProjectNotFoundException();
+             $xfer += $this->pnfe->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 5:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_updateProject_result');
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->pnfe !== null) {
+       $xfer += $output->writeFieldBegin('pnfe', TType::STRUCT, 4);
+       $xfer += $this->pnfe->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getProject_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $projectId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'projectId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['projectId'])) {
+         $this->projectId = $vals['projectId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getProject_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->projectId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getProject_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->projectId !== null) {
+       $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
+       $xfer += $output->writeString($this->projectId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_getProject_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Workspace\Project
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\ProjectNotFoundException
+    */
+   public $pnfe = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Workspace\Project',
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'pnfe',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\ProjectNotFoundException',
+           ),
+         5 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['pnfe'])) {
+         $this->pnfe = $vals['pnfe'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_getProject_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::STRUCT) {
+             $this->success = new \Airavata\Model\Workspace\Project();
+             $xfer += $this->success->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->pnfe = new \Airavata\API\Error\ProjectNotFoundException();
+             $xfer += $this->pnfe->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 5:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_getProject_result');
+     if ($this->success !== null) {
+       if (!is_object($this->success)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+       $xfer += $this->success->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->pnfe !== null) {
+       $xfer += $output->writeFieldBegin('pnfe', TType::STRUCT, 4);
+       $xfer += $this->pnfe->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteProject_args {
+   static $_TSPEC;
+ 
+   /**
+    * @var \Airavata\Model\Security\AuthzToken
+    */
+   public $authzToken = null;
+   /**
+    * @var string
+    */
+   public $projectId = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         1 => array(
+           'var' => 'authzToken',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\Model\Security\AuthzToken',
+           ),
+         2 => array(
+           'var' => 'projectId',
+           'type' => TType::STRING,
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['authzToken'])) {
+         $this->authzToken = $vals['authzToken'];
+       }
+       if (isset($vals['projectId'])) {
+         $this->projectId = $vals['projectId'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteProject_args';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+             $xfer += $this->authzToken->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRING) {
+             $xfer += $input->readString($this->projectId);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteProject_args');
+     if ($this->authzToken !== null) {
+       if (!is_object($this->authzToken)) {
+         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+       }
+       $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+       $xfer += $this->authzToken->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->projectId !== null) {
+       $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
+       $xfer += $output->writeString($this->projectId);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
+   }
+ 
+ }
+ 
+ class Airavata_deleteProject_result {
+   static $_TSPEC;
+ 
+   /**
+    * @var bool
+    */
+   public $success = null;
+   /**
+    * @var \Airavata\API\Error\InvalidRequestException
+    */
+   public $ire = null;
+   /**
+    * @var \Airavata\API\Error\AiravataClientException
+    */
+   public $ace = null;
+   /**
+    * @var \Airavata\API\Error\AiravataSystemException
+    */
+   public $ase = null;
+   /**
+    * @var \Airavata\API\Error\ProjectNotFoundException
+    */
+   public $pnfe = null;
+   /**
+    * @var \Airavata\API\Error\AuthorizationException
+    */
+   public $ae = null;
+ 
+   public function __construct($vals=null) {
+     if (!isset(self::$_TSPEC)) {
+       self::$_TSPEC = array(
+         0 => array(
+           'var' => 'success',
+           'type' => TType::BOOL,
+           ),
+         1 => array(
+           'var' => 'ire',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\InvalidRequestException',
+           ),
+         2 => array(
+           'var' => 'ace',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataClientException',
+           ),
+         3 => array(
+           'var' => 'ase',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AiravataSystemException',
+           ),
+         4 => array(
+           'var' => 'pnfe',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\ProjectNotFoundException',
+           ),
+         5 => array(
+           'var' => 'ae',
+           'type' => TType::STRUCT,
+           'class' => '\Airavata\API\Error\AuthorizationException',
+           ),
+         );
+     }
+     if (is_array($vals)) {
+       if (isset($vals['success'])) {
+         $this->success = $vals['success'];
+       }
+       if (isset($vals['ire'])) {
+         $this->ire = $vals['ire'];
+       }
+       if (isset($vals['ace'])) {
+         $this->ace = $vals['ace'];
+       }
+       if (isset($vals['ase'])) {
+         $this->ase = $vals['ase'];
+       }
+       if (isset($vals['pnfe'])) {
+         $this->pnfe = $vals['pnfe'];
+       }
+       if (isset($vals['ae'])) {
+         $this->ae = $vals['ae'];
+       }
+     }
+   }
+ 
+   public function getName() {
+     return 'Airavata_deleteProject_result';
+   }
+ 
+   public function read($input)
+   {
+     $xfer = 0;
+     $fname = null;
+     $ftype = 0;
+     $fid = 0;
+     $xfer += $input->readStructBegin($fname);
+     while (true)
+     {
+       $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+       if ($ftype == TType::STOP) {
+         break;
+       }
+       switch ($fid)
+       {
+         case 0:
+           if ($ftype == TType::BOOL) {
+             $xfer += $input->readBool($this->success);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 1:
+           if ($ftype == TType::STRUCT) {
+             $this->ire = new \Airavata\API\Error\InvalidRequestException();
+             $xfer += $this->ire->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 2:
+           if ($ftype == TType::STRUCT) {
+             $this->ace = new \Airavata\API\Error\AiravataClientException();
+             $xfer += $this->ace->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 3:
+           if ($ftype == TType::STRUCT) {
+             $this->ase = new \Airavata\API\Error\AiravataSystemException();
+             $xfer += $this->ase->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 4:
+           if ($ftype == TType::STRUCT) {
+             $this->pnfe = new \Airavata\API\Error\ProjectNotFoundException();
+             $xfer += $this->pnfe->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         case 5:
+           if ($ftype == TType::STRUCT) {
+             $this->ae = new \Airavata\API\Error\AuthorizationException();
+             $xfer += $this->ae->read($input);
+           } else {
+             $xfer += $input->skip($ftype);
+           }
+           break;
+         default:
+           $xfer += $input->skip($ftype);
+           break;
+       }
+       $xfer += $input->readFieldEnd();
+     }
+     $xfer += $input->readStructEnd();
+     return $xfer;
+   }
+ 
+   public function write($output) {
+     $xfer = 0;
+     $xfer += $output->writeStructBegin('Airavata_deleteProject_result');
+     if ($this->success !== null) {
+       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
+       $xfer += $output->writeBool($this->success);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ire !== null) {
+       $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+       $xfer += $this->ire->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ace !== null) {
+       $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
+       $xfer += $this->ace->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ase !== null) {
+       $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
+       $xfer += $this->ase->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->pnfe !== null) {
+       $xfer += $output->writeFieldBegin('pnfe', TType::STRUCT, 4);
+       $xfer += $this->pnfe->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     if ($this->ae !== null) {
+       $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
+       $xfer += $this->ae->write($output);
+       $xfer += $output->writeFieldEnd();
+     }
+     $xfer += $output->writeFieldStop();
+     $xfer += $output->writeStructEnd();
+     return $xfer;
    }
  
  }
@@@ -16252,1425 -25166,21 +25140,1629 @@@ class Airavata_getExperimentsInProject_
            break;
          case 2:
            if ($ftype == TType::STRING) {
-             $xfer += $input->readString($this->gatewayId);
 -            $xfer += $input->readString($this->projectId);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        case 3:
 -          if ($ftype == TType::I32) {
 -            $xfer += $input->readI32($this->limit);
 -          } else {
 -            $xfer += $input->skip($ftype);
 -          }
 -          break;
 -        case 4:
 -          if ($ftype == TType::I32) {
 -            $xfer += $input->readI32($this->offset);
++            $xfer += $input->readString($this->projectId);
 +          } else {
 +            $xfer += $input->skip($ftype);
 +          }
 +          break;
 +        case 3:
-           if ($ftype == TType::STRUCT) {
-             $this->updatedGateway = new \Airavata\Model\Workspace\Gateway();
-             $xfer += $this->updatedGateway->read($input);
++          if ($ftype == TType::I32) {
++            $xfer += $input->readI32($this->limit);
++          } else {
++            $xfer += $input->skip($ftype);
++          }
++          break;
++        case 4:
++          if ($ftype == TType::I32) {
++            $xfer += $input->readI32($this->offset);
 +          } else {
 +            $xfer += $input->skip($ftype);
 +          }
 +          break;
 +        default:
 +          $xfer += $input->skip($ftype);
 +          break;
 +      }
 +      $xfer += $input->readFieldEnd();
 +    }
 +    $xfer += $input->readStructEnd();
 +    return $xfer;
 +  }
 +
 +  public function write($output) {
 +    $xfer = 0;
-     $xfer += $output->writeStructBegin('Airavata_updateGateway_args');
++    $xfer += $output->writeStructBegin('Airavata_getExperimentsInProject_args');
 +    if ($this->authzToken !== null) {
 +      if (!is_object($this->authzToken)) {
 +        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
 +      }
 +      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
 +      $xfer += $this->authzToken->write($output);
 +      $xfer += $output->writeFieldEnd();
 +    }
-     if ($this->gatewayId !== null) {
-       $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
-       $xfer += $output->writeString($this->gatewayId);
++    if ($this->projectId !== null) {
++      $xfer += $output->writeFieldBegin('projectId', TType::STRING, 2);
++      $xfer += $output->writeString($this->projectId);
 +      $xfer += $output->writeFieldEnd();
 +    }
-     if ($this->updatedGateway !== null) {
-       if (!is_object($this->updatedGateway)) {
-         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-       }
-       $xfer += $output->writeFieldBegin('updatedGateway', TType::STRUCT, 3);
-       $xfer += $this->updatedGateway->write($output);
++    if ($this->limit !== null) {
++      $xfer += $output->writeFieldBegin('limit', TType::I32, 3);
++      $xfer += $output->writeI32($this->limit);
++      $xfer += $output->writeFieldEnd();
++    }
++    if ($this->offset !== null) {
++      $xfer += $output->writeFieldBegin('offset', TType::I32, 4);
++      $xfer += $output->writeI32($this->offset);
 +      $xfer += $output->writeFieldEnd();
 +    }
 +    $xfer += $output->writeFieldStop();
 +    $xfer += $output->writeStructEnd();
 +    return $xfer;
 +  }
 +
 +}
 +
- class Airavata_updateGateway_result {
++class Airavata_getExperimentsInProject_result {
 +  static $_TSPEC;
 +
 +  /**
-    * @var bool
++   * @var \Airavata\Model\Experiment\ExperimentModel[]
 +   */
 +  public $success = null;
 +  /**
 +   * @var \Airavata\API\Error\InvalidRequestException
 +   */
 +  public $ire = null;
 +  /**
 +   * @var \Airavata\API\Error\AiravataClientException
 +   */
 +  public $ace = null;
 +  /**
 +   * @var \Airavata\API\Error\AiravataSystemException
 +   */
 +  public $ase = null;
 +  /**
++   * @var \Airavata\API\Error\ProjectNotFoundException
++   */
++  public $pnfe = null;
++  /**
 +   * @var \Airavata\API\Error\AuthorizationException
 +   */
 +  public $ae = null;
 +
 +  public function __construct($vals=null) {
 +    if (!isset(self::$_TSPEC)) {
 +      self::$_TSPEC = array(
 +        0 => array(
 +          'var' => 'success',
-           'type' => TType::BOOL,
++          'type' => TType::LST,
++          'etype' => TType::STRUCT,
++          'elem' => array(
++            'type' => TType::STRUCT,
++            'class' => '\Airavata\Model\Experiment\ExperimentModel',
++            ),
 +          ),
 +        1 => array(
 +          'var' => 'ire',
 +          'type' => TType::STRUCT,
 +          'class' => '\Airavata\API\Error\InvalidRequestException',
 +          ),
 +        2 => array(
 +          'var' => 'ace',
 +          'type' => TType::STRUCT,
 +          'class' => '\Airavata\API\Error\AiravataClientException',
 +          ),
 +        3 => array(
 +          'var' => 'ase',
 +          'type' => TType::STRUCT,
 +          'class' => '\Airavata\API\Error\AiravataSystemException',
 +          ),
 +        4 => array(
++          'var' => 'pnfe',
++          'type' => TType::STRUCT,
++          'class' => '\Airavata\API\Error\ProjectNotFoundException',
++          ),
++        5 => array(
 +          'var' => 'ae',
 +          'type' => TType::STRUCT,
 +          'class' => '\Airavata\API\Error\AuthorizationException',
 +          ),
 +        );
 +    }
 +    if (is_array($vals)) {
 +      if (isset($vals['success'])) {
 +        $this->success = $vals['success'];
 +      }
 +      if (isset($vals['ire'])) {
 +        $this->ire = $vals['ire'];
 +      }
 +      if (isset($vals['ace'])) {
 +        $this->ace = $vals['ace'];
 +      }
 +      if (isset($vals['ase'])) {
 +        $this->ase = $vals['ase'];
 +      }
++      if (isset($vals['pnfe'])) {
++        $this->pnfe = $vals['pnfe'];
++      }
 +      if (isset($vals['ae'])) {
 +        $this->ae = $vals['ae'];
 +      }
 +    }
 +  }
 +
 +  public function getName() {
-     return 'Airavata_updateGateway_result';
++    return 'Airavata_getExperimentsInProject_result';
 +  }
 +
 +  public function read($input)
 +  {
 +    $xfer = 0;
 +    $fname = null;
 +    $ftype = 0;
 +    $fid = 0;
 +    $xfer += $input->readStructBegin($fname);
 +    while (true)
 +    {
 +      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
 +      if ($ftype == TType::STOP) {
 +        break;
 +      }
 +      switch ($fid)
 +      {
 +        case 0:
-           if ($ftype == TType::BOOL) {
-             $xfer += $input->readBool($this->success);
++          if ($ftype == TType::LST) {
++            $this->success = array();
++            $_size67 = 0;
++            $_etype70 = 0;
++            $xfer += $input->readListBegin($_etype70, $_size67);
++            for ($_i71 = 0; $_i71 < $_size67; ++$_i71)
++            {
++              $elem72 = null;
++              $elem72 = new \Airavata\Model\Experiment\ExperimentModel();
++              $xfer += $elem72->read($input);
++              $this->success []= $elem72;
++            }
++            $xfer += $input->readListEnd();
 +          } else {
 +            $xfer += $input->skip($ftype);
 +          }
 +          break;
 +        case 1:
 +          if ($ftype == TType::STRUCT) {
 +            $this->ire = new \Airavata\API\Error\InvalidRequestException();
 +            $xfer += $this->ire->read($input);
 +          } else {
 +            $xfer += $input->skip($ftype);
 +          }
 +          break;
 +        case 2:
 +          if ($ftype == TType::STRUCT) {
 +            $this->ace = new \Airavata\API\Error\AiravataClientException();
 +            $xfer += $this->ace->read($input);
 +          } else {
 +            $xfer += $input->skip($ftype);
 +          }
 +          break;
 +        case 3:
 +          if ($ftype == TType::STRUCT) {
 +            $this->ase = new \Airavata\API\Error\AiravataSystemException();
 +            $xfer += $this->ase->read($input);
 +          } else {
 +            $xfer += $input->skip($ftype);
 +          }
 +          break;
 +        case 4:
 +          if ($ftype == TType::STRUCT) {
++            $this->pnfe = new \Airavata\API\Error\ProjectNotFoundException();
++            $xfer += $this->pnfe->read($input);
++          } else {
++            $xfer += $input->skip($ftype);
++          }
++          break;
++        case 5:
++          if ($ftype == TType::STRUCT) {
 +            $this->ae = new \Airavata\API\Error\AuthorizationException();
 +            $xfer += $this->ae->read($input);
 +          } else {
 +            $xfer += $input->skip($ftype);
 +          }
 +          break;
 +        default:
 +          $xfer += $input->skip($ftype);
 +          break;
 +      }
 +      $xfer += $input->readFieldEnd();
 +    }
 +    $xfer += $input->readStructEnd();
 +    return $xfer;
 +  }
 +
 +  public function write($output) {
 +    $xfer = 0;
-     $xfer += $output->writeStructBegin('Airavata_updateGateway_result');
++    $xfer += $output->writeStructBegin('Airavata_getExperimentsInProject_result');
 +    if ($this->success !== null) {
-       $xfer += $output->writeFieldBegin('success', TType::BOOL, 0);
-       $xfer += $output->writeBool($this->success);
++      if (!is_array($this->success)) {
++        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
++      }
++      $xfer += $output->writeFieldBegin('success', TType::LST, 0);
++      {
++        $output->writeListBegin(TType::STRUCT, count($this->success));
++        {
++          foreach ($this->success as $iter73)
++          {
++            $xfer += $iter73->write($output);
++          }
++        }
++        $output->writeListEnd();
++      }
 +      $xfer += $output->writeFieldEnd();
 +    }
 +    if ($this->ire !== null) {
 +      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
 +      $xfer += $this->ire->write($output);
 +      $xfer += $output->writeFieldEnd();
 +    }
 +    if ($this->ace !== null) {
 +      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 2);
 +      $xfer += $this->ace->write($output);
 +      $xfer += $output->writeFieldEnd();
 +    }
 +    if ($this->ase !== null) {
 +      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 3);
 +      $xfer += $this->ase->write($output);
... 37173 lines suppressed ...