You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/06/11 19:12:20 UTC

[10/16] airavata git commit: Updating Airavata to use Thrift version 0.9.2 - AIRAVATA-1707

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
index de30884..7d26178 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\API\Error;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,6 +17,25 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+/**
+ * A list of Airavata API Error Message Types
+ * 
+ *  UNKNOWN: No information available about the error
+ *   
+ *  PERMISSION_DENIED: Not permitted to perform action
+ * 
+ *  INTERNAL_ERROR: Unexpected problem with the service
+ * 
+ *  AUTHENTICATION_FAILURE: The client failed to authenticate.
+ * 
+ *  INVALID_AUTHORIZATION: Security Token and/or Username and/or password is incorrect
+ *   
+ *  AUTHORIZATION_EXPIRED: Authentication token expired
+ *  
+ *  UNKNOWN_GATEWAY_ID: The gateway is not registered with Airavata.
+ * 
+ *  UNSUPPORTED_OPERATION: Operation denied because it is currently unsupported.
+ */
 final class AiravataErrorType {
   const UNKNOWN = 0;
   const PERMISSION_DENIED = 1;
@@ -38,9 +57,19 @@ final class AiravataErrorType {
   );
 }
 
+/**
+ * This exception is thrown when a client asks to perform an operation on an experiment that does not exist.
+ * 
+ * identifier:  A description of the experiment that was not found on the server.
+ * 
+ * key:  The value passed from the client in the identifier, which was not found.
+ */
 class ExperimentNotFoundException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $message = null;
 
   public function __construct($vals=null) {
@@ -110,9 +139,17 @@ class ExperimentNotFoundException extends TException {
 
 }
 
+/**
+ * 1:  optional  string identifier,
+ * 2:  optional  string key
+ * 
+ */
 class ProjectNotFoundException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $message = null;
 
   public function __construct($vals=null) {
@@ -182,9 +219,18 @@ class ProjectNotFoundException extends TException {
 
 }
 
+/**
+ * This exception is thrown for invalid requests that occur from any reasons like required input parameters are missing,
+ *  or a parameter is malformed.
+ * 
+ *  message: contains the associated error message.
+ */
 class InvalidRequestException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $message = null;
 
   public function __construct($vals=null) {
@@ -254,6 +300,9 @@ class InvalidRequestException extends TException {
 
 }
 
+/**
+ * This exception is thrown when RPC timeout gets exceeded.
+ */
 class TimedOutException extends TException {
   static $_TSPEC;
 
@@ -304,9 +353,17 @@ class TimedOutException extends TException {
 
 }
 
+/**
+ * This exception is thrown for invalid authentication requests.
+ * 
+ *  message: contains the cause of the authorization failure.
+ */
 class AuthenticationException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $message = null;
 
   public function __construct($vals=null) {
@@ -376,9 +433,17 @@ class AuthenticationException extends TException {
 
 }
 
+/**
+ * This exception is thrown for invalid authorization requests such user does not have acces to an aplication or resource.
+ * 
+ *  message: contains the authorization failure message
+ */
 class AuthorizationException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $message = null;
 
   public function __construct($vals=null) {
@@ -448,10 +513,31 @@ class AuthorizationException extends TException {
 
 }
 
+/**
+ * This exception is thrown by Airavata Services when a call fails as a result of
+ * a problem that a client may be able to resolve.  For example, if the user
+ * attempts to execute an application on a resource gateway does not have access to.
+ * 
+ * This exception would not be used for internal system errors that do not
+ * reflect user actions, but rather reflect a problem within the service that
+ * the client cannot resolve.
+ * 
+ * airavataErrorType:  The message type indicating the error that occurred.
+ *   must be one of the values of AiravataErrorType.
+ * 
+ * parameter:  If the error applied to a particular input parameter, this will
+ *   indicate which parameter.
+ */
 class AiravataClientException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $airavataErrorType = null;
+  /**
+   * @var string
+   */
   public $parameter = null;
 
   public function __construct($vals=null) {
@@ -543,7 +629,13 @@ class AiravataClientException extends TException {
 class ValidatorResult {
   static $_TSPEC;
 
+  /**
+   * @var bool
+   */
   public $result = null;
+  /**
+   * @var string
+   */
   public $errorDetails = null;
 
   public function __construct($vals=null) {
@@ -635,7 +727,13 @@ class ValidatorResult {
 class ValidationResults {
   static $_TSPEC;
 
+  /**
+   * @var bool
+   */
   public $validationState = null;
+  /**
+   * @var \Airavata\API\Error\ValidatorResult[]
+   */
   public $validationResultList = null;
 
   public function __construct($vals=null) {
@@ -755,7 +853,13 @@ class ValidationResults {
 class LaunchValidationException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var \Airavata\API\Error\ValidationResults
+   */
   public $validationResult = null;
+  /**
+   * @var string
+   */
   public $errorMessage = null;
 
   public function __construct($vals=null) {
@@ -849,10 +953,26 @@ class LaunchValidationException extends TException {
 
 }
 
+/**
+ * This exception is thrown by Airavata Services when a call fails as a result of
+ * a problem in the service that could not be changed through client's action.
+ * 
+ * airavataErrorType:  The message type indicating the error that occurred.
+ *   must be one of the values of AiravataErrorType.
+ * 
+ * message:  This may contain additional information about the error
+ * 
+ */
 class AiravataSystemException extends TException {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $airavataErrorType = null;
+  /**
+   * @var string
+   */
   public $message = null;
 
   public function __construct($vals=null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php
index 481421f..7a574d4 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\API;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,6 +17,26 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
-$GLOBALS['airavataAPI_CONSTANTS']['AIRAVATA_API_VERSION'] = "0.15.0";
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $AIRAVATA_API_VERSION;
+
+  static protected function init_AIRAVATA_API_VERSION() {
+    return     /**
+     * Airavata Interface Versions depend upon this Thrift Interface File. When Making changes, please edit the
+     *  Version Constants according to Semantic Versioning Specification (SemVer) http://semver.org.
+     * 
+     * Note: The Airavata API version may be different from the Airavata software release versions.
+     * 
+     * The Airavata API version is composed as a dot delimited string with major, minor, and patch level components.
+     * 
+     *  - Major: Incremented for backward incompatible changes. An example would be changes to interfaces.
+     *  - Minor: Incremented for backward compatible changes. An example would be the addition of a new optional methods.
+     *  - Patch: Incremented for bug fixes. The patch level should be increased for every edit that doesn't result
+     *              in a change to major/minor version numbers.
+     * 
+     */
+"0.15.0";
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
index f4bde8f..0b10708 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model\AppCatalog\AppDeployment;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,6 +17,22 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+/**
+ * Enumeration of application parallelism supported by Airavata
+ * 
+ * SERIAL:
+ *  Single processor applications without any parallelization.
+ * 
+ * MPI:
+ *  Messaging Passing Interface.
+ * 
+ * OPENMP:
+ *  Shared Memory Implementtaion.
+ * 
+ * OPENMP_MPI:
+ *  Hybrid Applications.
+ * 
+ */
 final class ApplicationParallelismType {
   const SERIAL = 0;
   const MPI = 1;
@@ -30,10 +46,25 @@ final class ApplicationParallelismType {
   );
 }
 
+/**
+ * Key Value pairs to be used to set environments
+ * 
+ * name:
+ *   Name of the environment variable such as PATH, LD_LIBRARY_PATH, NETCDF_HOME.
+ * 
+ * value:
+ *   Value of the environment variable to set
+ */
 class SetEnvPaths {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $name = null;
+  /**
+   * @var string
+   */
   public $value = null;
 
   public function __construct($vals=null) {
@@ -122,12 +153,39 @@ class SetEnvPaths {
 
 }
 
+/**
+ * Application Module Information. A module has to be registered before registering a deployment.
+ * 
+ * appModuleId: Airavata Internal Unique Job ID. This is set by the registry.
+ * 
+ * appModuleName:
+ *   Name of the application module.
+ * 
+ * appModuleVersion:
+ *   Version of the application.
+ * 
+ * appModuleDescription:
+ *    Descriprion of the Module
+ * 
+ */
 class ApplicationModule {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $appModuleId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $appModuleName = null;
+  /**
+   * @var string
+   */
   public $appModuleVersion = null;
+  /**
+   * @var string
+   */
   public $appModuleDescription = null;
 
   public function __construct($vals=null) {
@@ -254,20 +312,82 @@ class ApplicationModule {
 
 }
 
+/**
+ * Application Deployment Description
+ * 
+ * appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry.
+ * 
+ * appModuleName:
+ *   Application Module Name. This has to be precise describing the binary.
+ * 
+ * computeHostId:
+ *   This ID maps application deployment to a particular resource previously described within Airavata.
+ *   Example: Stampede is first registered and refered when registering WRF.
+ * 
+ * moduleLoadCmd:
+ *  Command string to load modules. This will be placed in the job submisison
+ *  Ex: module load amber
+ * 
+ * libPrependPaths:
+ *  prepend to a path variable the value
+ * 
+ * libAppendPaths:
+ *  append to a path variable the value
+ * 
+ * setEnvironment:
+ *  assigns to the environment variable "NAME" the value
+ * 
+ */
 class ApplicationDeploymentDescription {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $appDeploymentId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $appModuleId = null;
+  /**
+   * @var string
+   */
   public $computeHostId = null;
+  /**
+   * @var string
+   */
   public $executablePath = null;
+  /**
+   * @var int
+   */
   public $parallelism =   0;
+  /**
+   * @var string
+   */
   public $appDeploymentDescription = null;
+  /**
+   * @var string[]
+   */
   public $moduleLoadCmds = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths[]
+   */
   public $libPrependPaths = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths[]
+   */
   public $libAppendPaths = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths[]
+   */
   public $setEnvironment = null;
+  /**
+   * @var string[]
+   */
   public $preJobCommands = null;
+  /**
+   * @var string[]
+   */
   public $postJobCommands = null;
 
   public function __construct($vals=null) {
@@ -708,6 +828,12 @@ class ApplicationDeploymentDescription {
 
 }
 
-$GLOBALS['applicationDeploymentModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
index e6748f4..02e5749 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model\AppCatalog\AppInterface;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,6 +17,10 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+/**
+ * Data Types supported in Airavata. The primitive data types
+ * 
+ */
 final class DataType {
   const STRING = 0;
   const INTEGER = 1;
@@ -34,19 +38,78 @@ final class DataType {
   );
 }
 
+/**
+ * Application Inputs. The paramters describe how inputs are passed to the application.
+ * 
+ * name:
+ *   Name of the parameter.
+ * 
+ * value:
+ *   Value of the parameter. A default value could be set during registration.
+ * 
+ * type:
+ *   Data type of the parameter
+ * 
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ * 
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ * 
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ * 
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ * 
+ */
 class InputDataObjectType {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $name = null;
+  /**
+   * @var string
+   */
   public $value = null;
+  /**
+   * @var int
+   */
   public $type = null;
+  /**
+   * @var string
+   */
   public $applicationArgument = null;
+  /**
+   * @var bool
+   */
   public $standardInput = false;
+  /**
+   * @var string
+   */
   public $userFriendlyDescription = null;
+  /**
+   * @var string
+   */
   public $metaData = null;
+  /**
+   * @var int
+   */
   public $inputOrder = null;
+  /**
+   * @var bool
+   */
   public $isRequired = null;
+  /**
+   * @var bool
+   */
   public $requiredToAddedToCommandLine = null;
+  /**
+   * @var bool
+   */
   public $dataStaged = false;
 
   public function __construct($vals=null) {
@@ -306,17 +369,70 @@ class InputDataObjectType {
 
 }
 
+/**
+ * Application Outputs. The paramters describe how outputs generated by the application.
+ * 
+ * name:
+ *   Name of the parameter.
+ * 
+ * value:
+ *   Value of the parameter.
+ * 
+ * type:
+ *   Data type of the parameter
+ * 
+ * applicationArguement:
+ *   The argument flag sent to the application. Such as -p pressure.
+ * 
+ * standardInput:
+ *   When this value is set, the parameter is sent as standard input rather than a parameter.
+ *   Typically this is passed using redirection operator ">".
+ * 
+ * userFriendlyDescription:
+ *   Description to be displayed at the user interface.
+ * 
+ * metaData:
+ *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
+ * 
+ */
 class OutputDataObjectType {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $name = null;
+  /**
+   * @var string
+   */
   public $value = null;
+  /**
+   * @var int
+   */
   public $type = null;
+  /**
+   * @var string
+   */
   public $applicationArgument = null;
+  /**
+   * @var bool
+   */
   public $isRequired = null;
+  /**
+   * @var bool
+   */
   public $requiredToAddedToCommandLine = null;
+  /**
+   * @var bool
+   */
   public $dataMovement = null;
+  /**
+   * @var string
+   */
   public $location = null;
+  /**
+   * @var string
+   */
   public $searchQuery = null;
 
   public function __construct($vals=null) {
@@ -538,14 +654,45 @@ class OutputDataObjectType {
 
 }
 
+/**
+ * Application Interface Description
+ * 
+ * applicationModules:
+ *   Associate all application modules with versions which interface is applicable to.
+ * 
+ * applicationInputs:
+ *   Inputs to be passed to the application
+ * 
+ * applicationOutputs:
+ *   Outputs generated from the application
+ * 
+ */
 class ApplicationInterfaceDescription {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $applicationInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $applicationName = null;
+  /**
+   * @var string
+   */
   public $applicationDescription = null;
+  /**
+   * @var string[]
+   */
   public $applicationModules = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[]
+   */
   public $applicationInputs = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   */
   public $applicationOutputs = null;
 
   public function __construct($vals=null) {
@@ -792,6 +939,12 @@ class ApplicationInterfaceDescription {
 
 }
 
-$GLOBALS['applicationInterfaceModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index be0f776..f1e2cd3 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model\AppCatalog\ComputeResource;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,6 +17,25 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+/**
+ * * Enumeration of local resource job manager types supported by Airavata
+ * *
+ * * FORK:
+ * *  Forking of commands without any job manager
+ * *
+ * * PBS:
+ * *  Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
+ * *
+ * * SLURM:
+ * *  The Simple Linux Utility for Resource Management is a open source workload manager.
+ *  *
+ *  * UGE:
+ *  *  Univa Grid Engine, a variation of PBS implementation.
+ *  *
+ *  * LSF:
+ *  *  IBM Platform Load Sharing Facility is dominantly installed on IBM clusters.
+ * *
+ */
 final class ResourceJobManagerType {
   const FORK = 0;
   const PBS = 1;
@@ -32,6 +51,31 @@ final class ResourceJobManagerType {
   );
 }
 
+/**
+ * Enumeration of resource job manager commands
+ * 
+ * SUBMISSION:
+ *  Ex: qsub, sbatch
+ * 
+ * JOBMONITORING:
+ *  Ex: qstat, squeue
+ * 
+ * DELETION:
+ *  Ex: qdel, scancel
+ * 
+ * CHECK_JOB:
+ *  Detailed Status about the Job. Ex: checkjob
+ * 
+ * SHOW_QUEUE:
+ *  List of Queued Job by the schedular. Ex: showq
+ * 
+ * SHOW_RESERVATION:
+ *  List all reservations. Ex:showres, show_res
+ * 
+ * SHOW_START:
+ *  Display the start time of the specified job. Ex: showstart
+ * 
+ */
 final class JobManagerCommand {
   const SUBMISSION = 0;
   const JOB_MONITORING = 1;
@@ -51,6 +95,22 @@ final class JobManagerCommand {
   );
 }
 
+/**
+ * Enumeration of File Systems on the resource
+ * 
+ * FORK:
+ *  Forking of commands without any job manager
+ * 
+ * PBS:
+ *  Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
+ * 
+ * UGE:
+ *  Univa Grid Engine, a variation of PBS implementation.
+ * 
+ * SLURM:
+ *  The Simple Linux Utility for Resource Management is a open source workload manager.
+ * 
+ */
 final class FileSystems {
   const HOME = 0;
   const WORK = 1;
@@ -66,6 +126,20 @@ final class FileSystems {
   );
 }
 
+/**
+ * Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just
+ *  describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential
+ *  store.
+ * 
+ * USERNAME_PASSWORD:
+ *  A User Name.
+ * 
+ * SSH_KEYS:
+ *  SSH Keys
+ * 
+ * FIXME: Change GSI to a more precise generic security protocol - X509
+ * 
+ */
 final class SecurityProtocol {
   const USERNAME_PASSWORD = 0;
   const SSH_KEYS = 1;
@@ -81,6 +155,19 @@ final class SecurityProtocol {
   );
 }
 
+/**
+ * Enumeration of Airavata supported Job Submission Mechanisms for High Performance Computing Clusters.
+ * 
+ * SSH:
+ *  Execute remote job submission commands using via secure shell protocol.
+ * 
+ * GRAM:
+ *  Execute remote jobs via Globus GRAM service.
+ * 
+ * UNICORE:
+ *  Execute remote jobs via Unicore services
+ * 
+ */
 final class JobSubmissionProtocol {
   const LOCAL = 0;
   const SSH = 1;
@@ -96,6 +183,17 @@ final class JobSubmissionProtocol {
   );
 }
 
+/**
+ * Monitoring modes
+ * 
+ * POLL_JOB_MANAGER:
+ * GFac need to pull job status changes.
+ * 
+ * XSEDE_AMQP_SUBSCRIBE:
+ * Server will publish job status changes to amqp servert.
+ * 
+ * 
+ */
 final class MonitorMode {
   const POLL_JOB_MANAGER = 0;
   const JOB_EMAIL_NOTIFICATION_MONITOR = 1;
@@ -107,6 +205,22 @@ final class MonitorMode {
   );
 }
 
+/**
+ * Enumeration of data movement supported by Airavata
+ * 
+ * SCP:
+ *  Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine.
+ * 
+ * SFTP:
+ *  The Simple Linux Utility for Resource Management is a open source workload manager.
+ * 
+ * GridFTP:
+ *  Globus File Transfer Protocol
+ * 
+ * UNICORE_STORAGE_SERVICE:
+ *  Storage Service Provided by Unicore
+ * 
+ */
 final class DataMovementProtocol {
   const LOCAL = 0;
   const SCP = 1;
@@ -122,6 +236,10 @@ final class DataMovementProtocol {
   );
 }
 
+/**
+ * Provider name
+ * 
+ */
 final class ProviderName {
   const EC2 = 0;
   const AWSEC2 = 1;
@@ -133,13 +251,45 @@ final class ProviderName {
   );
 }
 
+/**
+ * Resource Job Manager Information
+ * 
+ * resourceJobManagerType:
+ *  A typical HPC cluster has a single Job Manager to manage the resources.
+ * 
+ * pushMonitoringEndpoint:
+ *  If the job manager pushes out state changes to a database or bus, specify the service endpoint.
+ *   Ex: Moab Web Service, Moab MongoDB URL, AMQP (GLUE2) Broker
+ * 
+ * jobManagerBinPath:
+ *  Path to the Job Manager Installation Binary directory.
+ * 
+ * jobManagerCommands:
+ *  An enumeration of commonly used manager commands.
+ * 
+ */
 class ResourceJobManager {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $resourceJobManagerId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $resourceJobManagerType = null;
+  /**
+   * @var string
+   */
   public $pushMonitoringEndpoint = null;
+  /**
+   * @var string
+   */
   public $jobManagerBinPath = null;
+  /**
+   * @var array
+   */
   public $jobManagerCommands = null;
 
   public function __construct($vals=null) {
@@ -319,15 +469,42 @@ class ResourceJobManager {
 
 }
 
+/**
+ * Batch Queue Information on SuperComputers
+ * 
+ * maxRunTime:
+ *  Maximum allowed run time in hours.
+ */
 class BatchQueue {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $queueName = null;
+  /**
+   * @var string
+   */
   public $queueDescription = null;
+  /**
+   * @var int
+   */
   public $maxRunTime = null;
+  /**
+   * @var int
+   */
   public $maxNodes = null;
+  /**
+   * @var int
+   */
   public $maxProcessors = null;
+  /**
+   * @var int
+   */
   public $maxJobsInQueue = null;
+  /**
+   * @var int
+   */
   public $maxMemory = null;
 
   public function __construct($vals=null) {
@@ -511,12 +688,33 @@ class BatchQueue {
 
 }
 
+/**
+ * Data Movement through Secured Copy
+ * 
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+ */
 class SCPDataMovement {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $securityProtocol = null;
+  /**
+   * @var string
+   */
   public $alternativeSCPHostName = null;
+  /**
+   * @var int
+   */
   public $sshPort = 22;
 
   public function __construct($vals=null) {
@@ -643,11 +841,29 @@ class SCPDataMovement {
 
 }
 
+/**
+ * Data Movement through GridFTP
+ * 
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+ */
 class GridFTPDataMovement {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $securityProtocol = null;
+  /**
+   * @var string[]
+   */
   public $gridFTPEndPoints = null;
 
   public function __construct($vals=null) {
@@ -781,11 +997,26 @@ class GridFTPDataMovement {
 
 }
 
+/**
+ * Data Movement through UnicoreStorage
+ * 
+ * unicoreEndPointURL:
+ *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
+ */
 class UnicoreDataMovement {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $securityProtocol = null;
+  /**
+   * @var string
+   */
   public $unicoreEndPointURL = null;
 
   public function __construct($vals=null) {
@@ -893,10 +1124,25 @@ class UnicoreDataMovement {
 
 }
 
+/**
+ * Locally Fork Jobs as OS processes
+ * 
+ * alternativeSSHHostName:
+ *  If the login to ssh is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+ */
 class LOCALSubmission {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager
+   */
   public $resourceJobManager = null;
 
   public function __construct($vals=null) {
@@ -990,9 +1236,21 @@ class LOCALSubmission {
 
 }
 
+/**
+ * LOCAL
+ * 
+ * alternativeSCPHostName:
+ *  If the login to scp is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-defualt port needs to used, specify it.
+ */
 class LOCALDataMovement {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
 
   public function __construct($vals=null) {
@@ -1062,14 +1320,41 @@ class LOCALDataMovement {
 
 }
 
+/**
+ * Authenticate using Secured Shell
+ * 
+ * alternativeSSHHostName:
+ *  If the login to ssh is different than the hostname itself, specify it here
+ * 
+ * sshPort:
+ *  If a non-default port needs to used, specify it.
+ */
 class SSHJobSubmission {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $securityProtocol = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager
+   */
   public $resourceJobManager = null;
+  /**
+   * @var string
+   */
   public $alternativeSSHHostName = null;
+  /**
+   * @var int
+   */
   public $sshPort = 22;
+  /**
+   * @var int
+   */
   public $monitorMode = null;
 
   public function __construct($vals=null) {
@@ -1242,8 +1527,17 @@ class SSHJobSubmission {
 class GlobusJobSubmission {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $securityProtocol = null;
+  /**
+   * @var string[]
+   */
   public $globusGateKeeperEndPoint = null;
 
   public function __construct($vals=null) {
@@ -1377,11 +1671,28 @@ class GlobusJobSubmission {
 
 }
 
+/**
+ * Unicore Job Submission
+ * 
+ * unicoreEndPointURL:
+ *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
+ * authenticationMode
+ *  The authenticationMode defines the way certificate is fetched.
+ */
 class UnicoreJobSubmission {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $securityProtocol = null;
+  /**
+   * @var string
+   */
   public $unicoreEndPointURL = null;
 
   public function __construct($vals=null) {
@@ -1489,14 +1800,37 @@ class UnicoreJobSubmission {
 
 }
 
+/**
+ * Cloud Job Submission
+ * 
+ * 
+ */
 class CloudJobSubmission {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $securityProtocol = null;
+  /**
+   * @var string
+   */
   public $nodeId = null;
+  /**
+   * @var string
+   */
   public $executableType = null;
+  /**
+   * @var int
+   */
   public $providerName = null;
+  /**
+   * @var string
+   */
   public $userAccountName = null;
 
   public function __construct($vals=null) {
@@ -1661,11 +1995,30 @@ class CloudJobSubmission {
 
 }
 
+/**
+ * Job Submission Interfaces
+ * 
+ * jobSubmissionInterfaceId: The Job Submission Interface has to be previously registered and referenced here.
+ * 
+ * priorityOrder:
+ *  For resources with multiple interfaces, the priority order should be selected.
+ *   Lower the numerical number, higher the priority
+ * 
+ */
 class JobSubmissionInterface {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobSubmissionInterfaceId = null;
+  /**
+   * @var int
+   */
   public $jobSubmissionProtocol = null;
+  /**
+   * @var int
+   */
   public $priorityOrder = 0;
 
   public function __construct($vals=null) {
@@ -1773,11 +2126,30 @@ class JobSubmissionInterface {
 
 }
 
+/**
+ * Data Movement Interfaces
+ * 
+ * dataMovementInterfaceId: The Data Movement Interface has to be previously registered and referenced here.
+ * 
+ * priorityOrder:
+ *  For resources with multiple interfaces, the priority order should be selected.
+ *   Lower the numerical number, higher the priority
+ * 
+ */
 class DataMovementInterface {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $dataMovementInterfaceId = null;
+  /**
+   * @var int
+   */
   public $dataMovementProtocol = null;
+  /**
+   * @var int
+   */
   public $priorityOrder = 0;
 
   public function __construct($vals=null) {
@@ -1885,18 +2257,77 @@ class DataMovementInterface {
 
 }
 
+/**
+ * Computational Resource Description
+ * 
+ * computeResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
+ * 
+ * hostName:
+ *   Fully Qualified Host Name.
+ * 
+ * hostAliases:
+ *   Aliases if any.
+ * 
+ * ipAddress:
+ *   IP Addresses of the Resource.
+ * 
+ * resourceDescription:
+ *  A user friendly description of the resource.
+ * 
+ * JobSubmissionProtocols:
+ *  A computational resources may have one or more ways of submitting Jobs. This structure
+ *    will hold all available mechanisms to interact with the resource.
+ *  The key is the priority
+ * 
+ * DataMovementProtocol:
+ *  Option to specify a prefered data movement mechanism of the available options.
+ * 
+ * fileSystems:
+ *  Map of file systems type and the path.
+ * 
+ */
 class ComputeResourceDescription {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $computeResourceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $hostName = null;
+  /**
+   * @var string[]
+   */
   public $hostAliases = null;
+  /**
+   * @var string[]
+   */
   public $ipAddresses = null;
+  /**
+   * @var string
+   */
   public $resourceDescription = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\ComputeResource\BatchQueue[]
+   */
   public $batchQueues = null;
+  /**
+   * @var array
+   */
   public $fileSystems = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\ComputeResource\JobSubmissionInterface[]
+   */
   public $jobSubmissionInterfaces = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\ComputeResource\DataMovementInterface[]
+   */
   public $dataMovementInterfaces = null;
+  /**
+   * @var int
+   */
   public $maxMemoryPerNode = null;
 
   public function __construct($vals=null) {
@@ -2307,6 +2738,12 @@ class ComputeResourceDescription {
 
 }
 
-$GLOBALS['computeResourceModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
index e0e6227..a94dd88 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model\AppCatalog\GatewayProfile;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -17,16 +17,70 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+/**
+ * Gateway specific preferences for a Computer Resource
+ * 
+ * computeResourceId:
+ *   Corelate the preference to a compute resource.
+ * 
+ * overridebyAiravata:
+ *   If turned true, Airavata will override the preferences of better alternatives exist.
+ * 
+ * loginUserName:
+ *   If turned true, Airavata will override the preferences of better alternatives exist.
+ * 
+ * preferredJobSubmissionProtocol:
+ *   For resources with multiple job submission protocols, the gateway can pick a preferred option.
+ * 
+ * preferredDataMovementProtocol:
+ *   For resources with multiple data movement protocols, the gateway can pick a preferred option.
+ * 
+ * preferredBatchQueue:
+ *  Gateways can choose a defualt batch queue based on average job dimention, reservations or other metrics.
+ * 
+ * scratchLocation:
+ *  Path to the local scratch space on a HPC cluster. Typically used to create working directory for job execution.
+ * 
+ * allocationProjectNumber:
+ *  Typically used on HPC machines to charge computing usage to a account number. For instance, on XSEDE once an
+ *    allocation is approved, an allocation number is assigned. Before passing this number with job submittions, the
+ *    account to be used has to be added to the allocation.
+ * 
+ */
 class ComputeResourcePreference {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $computeResourceId = null;
+  /**
+   * @var bool
+   */
   public $overridebyAiravata = true;
+  /**
+   * @var string
+   */
   public $loginUserName = null;
+  /**
+   * @var int
+   */
   public $preferredJobSubmissionProtocol = null;
+  /**
+   * @var int
+   */
   public $preferredDataMovementProtocol = null;
+  /**
+   * @var string
+   */
   public $preferredBatchQueue = null;
+  /**
+   * @var string
+   */
   public $scratchLocation = null;
+  /**
+   * @var string
+   */
   public $allocationProjectNumber = null;
 
   public function __construct($vals=null) {
@@ -229,10 +283,27 @@ class ComputeResourcePreference {
 
 }
 
+/**
+ * Gateway Resource Profile
+ * 
+ * gatewayID:
+ *   Unique identifier for the gateway assigned by Airavata. Corelate this to Airavata Admin API Gateway Registration.
+ * 
+ * computeResourcePreferences:
+ *  List of resource preferences for each of the registered compute resources.
+ * 
+ * 
+ */
 class GatewayResourceProfile {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $gatewayID = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference[]
+   */
   public $computeResourcePreferences = null;
 
   public function __construct($vals=null) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
index 035e249..1602ceb 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model\Messaging\Event;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -52,8 +52,17 @@ final class MessageType {
 class ExperimentStatusChangeEvent {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $state = null;
+  /**
+   * @var string
+   */
   public $experimentId = null;
+  /**
+   * @var string
+   */
   public $gatewayId = null;
 
   public function __construct($vals=null) {
@@ -164,8 +173,17 @@ class ExperimentStatusChangeEvent {
 class WorkflowIdentifier {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $workflowNodeId = null;
+  /**
+   * @var string
+   */
   public $experimentId = null;
+  /**
+   * @var string
+   */
   public $gatewayId = null;
 
   public function __construct($vals=null) {
@@ -276,7 +294,13 @@ class WorkflowIdentifier {
 class WorkflowNodeStatusChangeEvent {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $state = null;
+  /**
+   * @var \Airavata\Model\Messaging\Event\WorkflowIdentifier
+   */
   public $workflowNodeIdentity = null;
 
   public function __construct($vals=null) {
@@ -373,9 +397,21 @@ class WorkflowNodeStatusChangeEvent {
 class TaskIdentifier {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $taskId = null;
+  /**
+   * @var string
+   */
   public $workflowNodeId = null;
+  /**
+   * @var string
+   */
   public $experimentId = null;
+  /**
+   * @var string
+   */
   public $gatewayId = null;
 
   public function __construct($vals=null) {
@@ -505,7 +541,13 @@ class TaskIdentifier {
 class TaskStatusChangeEvent {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $state = null;
+  /**
+   * @var \Airavata\Model\Messaging\Event\TaskIdentifier
+   */
   public $taskIdentity = null;
 
   public function __construct($vals=null) {
@@ -602,7 +644,13 @@ class TaskStatusChangeEvent {
 class TaskStatusChangeRequestEvent {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $state = null;
+  /**
+   * @var \Airavata\Model\Messaging\Event\TaskIdentifier
+   */
   public $taskIdentity = null;
 
   public function __construct($vals=null) {
@@ -699,7 +747,13 @@ class TaskStatusChangeRequestEvent {
 class TaskOutputChangeEvent {
   static $_TSPEC;
 
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   */
   public $output = null;
+  /**
+   * @var \Airavata\Model\Messaging\Event\TaskIdentifier
+   */
   public $taskIdentity = null;
 
   public function __construct($vals=null) {
@@ -824,10 +878,25 @@ class TaskOutputChangeEvent {
 class JobIdentifier {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobId = null;
+  /**
+   * @var string
+   */
   public $taskId = null;
+  /**
+   * @var string
+   */
   public $workflowNodeId = null;
+  /**
+   * @var string
+   */
   public $experimentId = null;
+  /**
+   * @var string
+   */
   public $gatewayId = null;
 
   public function __construct($vals=null) {
@@ -976,7 +1045,13 @@ class JobIdentifier {
 class ProcessSubmitEvent {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $taskId = null;
+  /**
+   * @var string
+   */
   public $credentialToken = null;
 
   public function __construct($vals=null) {
@@ -1068,9 +1143,21 @@ class ProcessSubmitEvent {
 class TaskSubmitEvent {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $experimentId = null;
+  /**
+   * @var string
+   */
   public $taskId = null;
+  /**
+   * @var string
+   */
   public $gatewayId = null;
+  /**
+   * @var string
+   */
   public $tokenId = null;
 
   public function __construct($vals=null) {
@@ -1200,9 +1287,21 @@ class TaskSubmitEvent {
 class TaskTerminateEvent {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $experimentId = null;
+  /**
+   * @var string
+   */
   public $taskId = null;
+  /**
+   * @var string
+   */
   public $gatewayId = null;
+  /**
+   * @var string
+   */
   public $tokenId = null;
 
   public function __construct($vals=null) {
@@ -1332,7 +1431,13 @@ class TaskTerminateEvent {
 class JobStatusChangeEvent {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $state = null;
+  /**
+   * @var \Airavata\Model\Messaging\Event\JobIdentifier
+   */
   public $jobIdentity = null;
 
   public function __construct($vals=null) {
@@ -1429,7 +1534,13 @@ class JobStatusChangeEvent {
 class JobStatusChangeRequestEvent {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $state = null;
+  /**
+   * @var \Airavata\Model\Messaging\Event\JobIdentifier
+   */
   public $jobIdentity = null;
 
   public function __construct($vals=null) {
@@ -1526,10 +1637,25 @@ class JobStatusChangeRequestEvent {
 class Message {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $event = null;
+  /**
+   * @var string
+   */
   public $messageId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $messageType = null;
+  /**
+   * @var int
+   */
   public $updatedTime = null;
+  /**
+   * @var int
+   */
   public $messageLevel = null;
 
   public function __construct($vals=null) {
@@ -1675,6 +1801,12 @@ class Message {
 
 }
 
-$GLOBALS['messagingEvents_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
index 4e89132..15ba747 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -20,11 +20,29 @@ use Thrift\Exception\TApplicationException;
 class Workflow {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $templateId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $name = null;
+  /**
+   * @var string
+   */
   public $graph = null;
+  /**
+   * @var string
+   */
   public $image = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[]
+   */
   public $workflowInputs = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   */
   public $workflowOutputs = null;
 
   public function __construct($vals=null) {
@@ -245,6 +263,12 @@ class Workflow {
 
 }
 
-$GLOBALS['workflowDataModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
index 4b53e09..18fcd73 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model\Workspace\Experiment;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -236,7 +236,13 @@ final class ExecutionUnit {
 class ExperimentStatus {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $experimentState = null;
+  /**
+   * @var int
+   */
   public $timeOfStateChange = null;
 
   public function __construct($vals=null) {
@@ -328,7 +334,13 @@ class ExperimentStatus {
 class WorkflowNodeStatus {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $workflowNodeState = null;
+  /**
+   * @var int
+   */
   public $timeOfStateChange = null;
 
   public function __construct($vals=null) {
@@ -420,7 +432,13 @@ class WorkflowNodeStatus {
 class TaskStatus {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $executionState = null;
+  /**
+   * @var int
+   */
   public $timeOfStateChange = null;
 
   public function __construct($vals=null) {
@@ -512,7 +530,13 @@ class TaskStatus {
 class JobStatus {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $jobState = null;
+  /**
+   * @var int
+   */
   public $timeOfStateChange = null;
 
   public function __construct($vals=null) {
@@ -604,7 +628,13 @@ class JobStatus {
 class TransferStatus {
   static $_TSPEC;
 
+  /**
+   * @var int
+   */
   public $transferState = null;
+  /**
+   * @var int
+   */
   public $timeOfStateChange = null;
 
   public function __construct($vals=null) {
@@ -696,7 +726,13 @@ class TransferStatus {
 class ApplicationStatus {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $applicationState = null;
+  /**
+   * @var int
+   */
   public $timeOfStateChange = null;
 
   public function __construct($vals=null) {
@@ -785,18 +821,52 @@ class ApplicationStatus {
 
 }
 
+/**
+ * A structure holding the Computational Resource Scheduling.
+ * 
+ */
 class ComputationalResourceScheduling {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $resourceHostId = null;
+  /**
+   * @var int
+   */
   public $totalCPUCount = null;
+  /**
+   * @var int
+   */
   public $nodeCount = null;
+  /**
+   * @var int
+   */
   public $numberOfThreads = null;
+  /**
+   * @var string
+   */
   public $queueName = null;
+  /**
+   * @var int
+   */
   public $wallTimeLimit = null;
+  /**
+   * @var int
+   */
   public $jobStartTime = null;
+  /**
+   * @var int
+   */
   public $totalPhysicalMemory = null;
+  /**
+   * @var string
+   */
   public $computationalProjectAccount = null;
+  /**
+   * @var string
+   */
   public $chassisName = null;
 
   public function __construct($vals=null) {
@@ -1037,12 +1107,28 @@ class ComputationalResourceScheduling {
 
 }
 
+/**
+ * A structure holding specified input data handling.
+ * 
+ */
 class AdvancedInputDataHandling {
   static $_TSPEC;
 
+  /**
+   * @var bool
+   */
   public $stageInputFilesToWorkingDir = false;
+  /**
+   * @var string
+   */
   public $parentWorkingDirectory = null;
+  /**
+   * @var string
+   */
   public $uniqueWorkingDirectory = null;
+  /**
+   * @var bool
+   */
   public $cleanUpWorkingDirAfterJob = false;
 
   public function __construct($vals=null) {
@@ -1169,11 +1255,24 @@ class AdvancedInputDataHandling {
 
 }
 
+/**
+ * A structure holding specified output data handling.
+ * 
+ */
 class AdvancedOutputDataHandling {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $outputDataDir = null;
+  /**
+   * @var string
+   */
   public $dataRegistryURL = null;
+  /**
+   * @var bool
+   */
   public $persistOutputData = true;
 
   public function __construct($vals=null) {
@@ -1281,11 +1380,24 @@ class AdvancedOutputDataHandling {
 
 }
 
+/**
+ * A structure holding Quality of Service Parameters.
+ * 
+ */
 class QualityOfServiceParams {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $startExecutionAt = null;
+  /**
+   * @var string
+   */
   public $executeBefore = null;
+  /**
+   * @var int
+   */
   public $numberofRetries = null;
 
   public function __construct($vals=null) {
@@ -1393,18 +1505,53 @@ class QualityOfServiceParams {
 
 }
 
+/**
+ * A structure holding the experiment configuration.
+ * 
+ * 
+ */
 class UserConfigurationData {
   static $_TSPEC;
 
+  /**
+   * @var bool
+   */
   public $airavataAutoSchedule = false;
+  /**
+   * @var bool
+   */
   public $overrideManualScheduledParams = false;
+  /**
+   * @var bool
+   */
   public $shareExperimentPublicly = false;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling
+   */
   public $computationalResourceScheduling = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling
+   */
   public $advanceInputDataHandling = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling
+   */
   public $advanceOutputDataHandling = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\QualityOfServiceParams
+   */
   public $qosParams = null;
+  /**
+   * @var bool
+   */
   public $throttleResources = false;
+  /**
+   * @var string
+   */
   public $userDN = null;
+  /**
+   * @var bool
+   */
   public $generateCert = false;
 
   public function __construct($vals=null) {
@@ -1668,14 +1815,41 @@ class UserConfigurationData {
 class ErrorDetails {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $errorID = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var string
+   */
   public $actualErrorMessage = null;
+  /**
+   * @var string
+   */
   public $userFriendlyMessage = null;
+  /**
+   * @var int
+   */
   public $errorCategory = null;
+  /**
+   * @var bool
+   */
   public $transientOrPersistent = false;
+  /**
+   * @var int
+   */
   public $correctiveAction = null;
+  /**
+   * @var int
+   */
   public $actionableGroup = null;
+  /**
+   * @var string[]
+   */
   public $rootCauseErrorIdList = null;
 
   public function __construct($vals=null) {
@@ -1926,14 +2100,41 @@ class ErrorDetails {
 class JobDetails {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $jobID = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $jobDescription = null;
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\JobStatus
+   */
   public $jobStatus = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ApplicationStatus
+   */
   public $applicationStatus = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[]
+   */
   public $errors = null;
+  /**
+   * @var string
+   */
   public $computeResourceConsumed = null;
+  /**
+   * @var string
+   */
   public $jobName = null;
+  /**
+   * @var string
+   */
   public $workingDir = null;
 
   public function __construct($vals=null) {
@@ -2196,9 +2397,21 @@ class JobDetails {
 class DataTransferDetails {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $transferID = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var string
+   */
   public $transferDescription = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\TransferStatus
+   */
   public $transferStatus = null;
 
   public function __construct($vals=null) {
@@ -2330,24 +2543,78 @@ class DataTransferDetails {
 
 }
 
+/**
+ * A structure holding the actual execution context decided based on user provided configuration data or system inferred
+ *   information from scheduling and QoS parameters. One experiment can have multiple tasks. Each tasks results in
+ *   data transfers and jobs
+ * 
+ */
 class TaskDetails {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $taskID = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var string
+   */
   public $applicationId = null;
+  /**
+   * @var string
+   */
   public $applicationVersion = null;
+  /**
+   * @var string
+   */
   public $applicationDeploymentId = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[]
+   */
   public $applicationInputs = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   */
   public $applicationOutputs = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling
+   */
   public $taskScheduling = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling
+   */
   public $advancedInputDataHandling = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling
+   */
   public $advancedOutputDataHandling = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\TaskStatus
+   */
   public $taskStatus = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\JobDetails[]
+   */
   public $jobDetailsList = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\DataTransferDetails[]
+   */
   public $dataTransferDetailsList = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[]
+   */
   public $errors = null;
+  /**
+   * @var bool
+   */
   public $enableEmailNotification = null;
+  /**
+   * @var string[]
+   */
   public $emailAddresses = null;
 
   public function __construct($vals=null) {
@@ -2888,18 +3155,52 @@ class TaskDetails {
 
 }
 
+/**
+ * A structure holding the node data.
+ * nodeInstanceId - unique node identifier for each run
+ */
 class WorkflowNodeDetails {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $nodeInstanceId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var string
+   */
   public $nodeName = "SINGLE_APP_NODE";
+  /**
+   * @var int
+   */
   public $executionUnit =   1;
+  /**
+   * @var string
+   */
   public $executionUnitData = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[]
+   */
   public $nodeInputs = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   */
   public $nodeOutputs = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\WorkflowNodeStatus
+   */
   public $workflowNodeStatus = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\TaskDetails[]
+   */
   public $taskDetailsList = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[]
+   */
   public $errors = null;
 
   public function __construct($vals=null) {
@@ -3257,10 +3558,23 @@ class WorkflowNodeDetails {
 
 }
 
+/**
+ * This data structure can be used to store the validation results
+ * captured during validation step and during the launchExperiment
+ * operation it can be easilly checked to see the errors occured
+ * during the experiment launch operation
+ * 
+ */
 class ValidatorResult {
   static $_TSPEC;
 
+  /**
+   * @var bool
+   */
   public $result = null;
+  /**
+   * @var string
+   */
   public $errorDetails = null;
 
   public function __construct($vals=null) {
@@ -3352,7 +3666,13 @@ class ValidatorResult {
 class ValidationResults {
   static $_TSPEC;
 
+  /**
+   * @var bool
+   */
   public $validationState = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ValidatorResult[]
+   */
   public $validationResultList = null;
 
   public function __construct($vals=null) {
@@ -3469,29 +3789,108 @@ class ValidationResults {
 
 }
 
+/**
+ * A structure holding the experiment metadata and its child models.
+ * 
+ * userName:
+ *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
+ *     the associated gateway identity can only be inferred from the security hand-shake so as to avoid
+ *     authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with
+ *     Airavata, an authorization exception is thrown.
+ * 
+ * experimentName:
+ *   The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced
+ *      by the generated experiment id.
+ * 
+ * experimentDescription:
+ *    The verbose description of the experiment. This is an optional parameter.
+ */
 class Experiment {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $experimentID = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
   public $projectID = "DEFAULT";
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var string
+   */
   public $userName = null;
+  /**
+   * @var string
+   */
   public $name = null;
+  /**
+   * @var string
+   */
   public $description = null;
+  /**
+   * @var string
+   */
   public $applicationId = null;
+  /**
+   * @var string
+   */
   public $applicationVersion = null;
+  /**
+   * @var string
+   */
   public $workflowTemplateId = null;
+  /**
+   * @var string
+   */
   public $workflowTemplateVersion = null;
+  /**
+   * @var string
+   */
   public $gatewayExecutionId = null;
+  /**
+   * @var bool
+   */
   public $enableEmailNotification = null;
+  /**
+   * @var string[]
+   */
   public $emailAddresses = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\UserConfigurationData
+   */
   public $userConfigurationData = null;
+  /**
+   * @var string
+   */
   public $workflowExecutionInstanceId = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[]
+   */
   public $experimentInputs = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[]
+   */
   public $experimentOutputs = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ExperimentStatus
+   */
   public $experimentStatus = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\WorkflowNodeStatus[]
+   */
   public $stateChangeList = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\WorkflowNodeDetails[]
+   */
   public $workflowNodeDetailsList = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[]
+   */
   public $errors = null;
 
   public function __construct($vals=null) {
@@ -4120,13 +4519,37 @@ class Experiment {
 class ExperimentSummary {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $experimentID = null;
+  /**
+   * @var string
+   */
   public $projectID = null;
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var string
+   */
   public $userName = null;
+  /**
+   * @var string
+   */
   public $name = null;
+  /**
+   * @var string
+   */
   public $description = null;
+  /**
+   * @var string
+   */
   public $applicationId = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ExperimentStatus
+   */
   public $experimentStatus = null;
 
   public function __construct($vals=null) {
@@ -4334,10 +4757,370 @@ class ExperimentSummary {
 
 }
 
-$GLOBALS['experimentModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+class ExperimentStatistics {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $allExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $completedExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $cancelledExperimentCount = null;
+  /**
+   * @var int
+   */
+  public $failedExperimentCount = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   */
+  public $allExperiments = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   */
+  public $completedExperiments = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   */
+  public $failedExperiments = null;
+  /**
+   * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[]
+   */
+  public $cancelledExperiments = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'allExperimentCount',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'completedExperimentCount',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'cancelledExperimentCount',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'failedExperimentCount',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'allExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary',
+            ),
+          ),
+        6 => array(
+          'var' => 'completedExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary',
+            ),
+          ),
+        7 => array(
+          'var' => 'failedExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary',
+            ),
+          ),
+        8 => array(
+          'var' => 'cancelledExperiments',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['allExperimentCount'])) {
+        $this->allExperimentCount = $vals['allExperimentCount'];
+      }
+      if (isset($vals['completedExperimentCount'])) {
+        $this->completedExperimentCount = $vals['completedExperimentCount'];
+      }
+      if (isset($vals['cancelledExperimentCount'])) {
+        $this->cancelledExperimentCount = $vals['cancelledExperimentCount'];
+      }
+      if (isset($vals['failedExperimentCount'])) {
+        $this->failedExperimentCount = $vals['failedExperimentCount'];
+      }
+      if (isset($vals['allExperiments'])) {
+        $this->allExperiments = $vals['allExperiments'];
+      }
+      if (isset($vals['completedExperiments'])) {
+        $this->completedExperiments = $vals['completedExperiments'];
+      }
+      if (isset($vals['failedExperiments'])) {
+        $this->failedExperiments = $vals['failedExperiments'];
+      }
+      if (isset($vals['cancelledExperiments'])) {
+        $this->cancelledExperiments = $vals['cancelledExperiments'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentStatistics';
+  }
+
+  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::I32) {
+            $xfer += $input->readI32($this->allExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->completedExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->cancelledExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->failedExperimentCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::LST) {
+            $this->allExperiments = array();
+            $_size133 = 0;
+            $_etype136 = 0;
+            $xfer += $input->readListBegin($_etype136, $_size133);
+            for ($_i137 = 0; $_i137 < $_size133; ++$_i137)
+            {
+              $elem138 = null;
+              $elem138 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary();
+              $xfer += $elem138->read($input);
+              $this->allExperiments []= $elem138;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::LST) {
+            $this->completedExperiments = array();
+            $_size139 = 0;
+            $_etype142 = 0;
+            $xfer += $input->readListBegin($_etype142, $_size139);
+            for ($_i143 = 0; $_i143 < $_size139; ++$_i143)
+            {
+              $elem144 = null;
+              $elem144 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary();
+              $xfer += $elem144->read($input);
+              $this->completedExperiments []= $elem144;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::LST) {
+            $this->failedExperiments = array();
+            $_size145 = 0;
+            $_etype148 = 0;
+            $xfer += $input->readListBegin($_etype148, $_size145);
+            for ($_i149 = 0; $_i149 < $_size145; ++$_i149)
+            {
+              $elem150 = null;
+              $elem150 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary();
+              $xfer += $elem150->read($input);
+              $this->failedExperiments []= $elem150;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::LST) {
+            $this->cancelledExperiments = array();
+            $_size151 = 0;
+            $_etype154 = 0;
+            $xfer += $input->readListBegin($_etype154, $_size151);
+            for ($_i155 = 0; $_i155 < $_size151; ++$_i155)
+            {
+              $elem156 = null;
+              $elem156 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary();
+              $xfer += $elem156->read($input);
+              $this->cancelledExperiments []= $elem156;
+            }
+            $xfer += $input->readListEnd();
+          } 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('ExperimentStatistics');
+    if ($this->allExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('allExperimentCount', TType::I32, 1);
+      $xfer += $output->writeI32($this->allExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->completedExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('completedExperimentCount', TType::I32, 2);
+      $xfer += $output->writeI32($this->completedExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->cancelledExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('cancelledExperimentCount', TType::I32, 3);
+      $xfer += $output->writeI32($this->cancelledExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->failedExperimentCount !== null) {
+      $xfer += $output->writeFieldBegin('failedExperimentCount', TType::I32, 4);
+      $xfer += $output->writeI32($this->failedExperimentCount);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->allExperiments !== null) {
+      if (!is_array($this->allExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('allExperiments', TType::LST, 5);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->allExperiments));
+        {
+          foreach ($this->allExperiments as $iter157)
+          {
+            $xfer += $iter157->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->completedExperiments !== null) {
+      if (!is_array($this->completedExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('completedExperiments', TType::LST, 6);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->completedExperiments));
+        {
+          foreach ($this->completedExperiments as $iter158)
+          {
+            $xfer += $iter158->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->failedExperiments !== null) {
+      if (!is_array($this->failedExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('failedExperiments', TType::LST, 7);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->failedExperiments));
+        {
+          foreach ($this->failedExperiments as $iter159)
+          {
+            $xfer += $iter159->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->cancelledExperiments !== null) {
+      if (!is_array($this->cancelledExperiments)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('cancelledExperiments', TType::LST, 8);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->cancelledExperiments));
+        {
+          foreach ($this->cancelledExperiments as $iter160)
+          {
+            $xfer += $iter160->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+final class Constant extends \Thrift\Type\TConstant {
+  static protected $DEFAULT_ID;
+  static protected $DEFAULT_PROJECT_NAME;
+  static protected $SINGLE_APP_NODE_NAME;
 
-$GLOBALS['experimentModel_CONSTANTS']['DEFAULT_PROJECT_NAME'] = "DEFAULT";
+  static protected function init_DEFAULT_ID() {
+    return "DO_NOT_SET_AT_CLIENTS";
+  }
 
-$GLOBALS['experimentModel_CONSTANTS']['SINGLE_APP_NODE_NAME'] = "SINGLE_APP_NODE";
+  static protected function init_DEFAULT_PROJECT_NAME() {
+    return "DEFAULT";
+  }
+
+  static protected function init_SINGLE_APP_NODE_NAME() {
+    return "SINGLE_APP_NODE";
+  }
+}
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
index 7ccd55c..d44ae02 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
@@ -2,7 +2,7 @@
 namespace Airavata\Model\Workspace;
 
 /**
- * Autogenerated by Thrift Compiler (0.9.1)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -20,7 +20,13 @@ use Thrift\Exception\TApplicationException;
 class Group {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $groupName = null;
+  /**
+   * @var string
+   */
   public $description = null;
 
   public function __construct($vals=null) {
@@ -112,12 +118,33 @@ class Group {
 class Project {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $projectID = "DEFAULT";
+  /**
+   * @var string
+   */
   public $owner = null;
+  /**
+   * @var string
+   */
   public $name = null;
+  /**
+   * @var string
+   */
   public $description = null;
+  /**
+   * @var int
+   */
   public $creationTime = null;
+  /**
+   * @var string[]
+   */
   public $sharedUsers = null;
+  /**
+   * @var string[]
+   */
   public $sharedGroups = null;
 
   public function __construct($vals=null) {
@@ -356,7 +383,13 @@ class Project {
 class User {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $userName = null;
+  /**
+   * @var \Airavata\Model\Workspace\Group[]
+   */
   public $groupList = null;
 
   public function __construct($vals=null) {
@@ -476,9 +509,21 @@ class User {
 class Gateway {
   static $_TSPEC;
 
+  /**
+   * @var string
+   */
   public $gatewayId = null;
+  /**
+   * @var string
+   */
   public $gatewayName = null;
+  /**
+   * @var string
+   */
   public $domain = null;
+  /**
+   * @var string
+   */
   public $emailAddress = null;
 
   public function __construct($vals=null) {