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 2014/07/03 22:13:56 UTC

[08/10] Committed generated classes for thrift models - AIRAVATA-1203

http://git-wip-us.apache.org/repos/asf/airavata/blob/59a7443a/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
new file mode 100644
index 0000000..ceaa246
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -0,0 +1,1733 @@
+<?php
+namespace Airavata\Model\AppCatalog\ComputeResource;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.1)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class ResourceJobManager {
+  const FORK = 0;
+  const PBS = 1;
+  const UGE = 2;
+  const SLURM = 3;
+  static public $__names = array(
+    0 => 'FORK',
+    1 => 'PBS',
+    2 => 'UGE',
+    3 => 'SLURM',
+  );
+}
+
+final class FileSystems {
+  const HOME = 0;
+  const WORK = 1;
+  const LOCALTMP = 2;
+  const SCRATCH = 3;
+  const ARCHIVE = 4;
+  static public $__names = array(
+    0 => 'HOME',
+    1 => 'WORK',
+    2 => 'LOCALTMP',
+    3 => 'SCRATCH',
+    4 => 'ARCHIVE',
+  );
+}
+
+final class SecurityProtocol {
+  const USERNAME_PASSWORD = 0;
+  const SSH_KEYS = 1;
+  const GSI = 2;
+  const KERBEROS = 3;
+  const OAUTH = 4;
+  static public $__names = array(
+    0 => 'USERNAME_PASSWORD',
+    1 => 'SSH_KEYS',
+    2 => 'GSI',
+    3 => 'KERBEROS',
+    4 => 'OAUTH',
+  );
+}
+
+final class JobSubmissionProtocol {
+  const LOCAL = 0;
+  const SSH = 1;
+  const GSISSH = 2;
+  const GRAM = 3;
+  const UNICORE = 4;
+  static public $__names = array(
+    0 => 'LOCAL',
+    1 => 'SSH',
+    2 => 'GSISSH',
+    3 => 'GRAM',
+    4 => 'UNICORE',
+  );
+}
+
+final class DataMovementProtocol {
+  const LOCAL = 0;
+  const SCP = 1;
+  const SFTP = 2;
+  const GridFTP = 3;
+  const UNICORE_STORAGE_SERVICE = 4;
+  static public $__names = array(
+    0 => 'LOCAL',
+    1 => 'SCP',
+    2 => 'SFTP',
+    3 => 'GridFTP',
+    4 => 'UNICORE_STORAGE_SERVICE',
+  );
+}
+
+class BatchQueue {
+  static $_TSPEC;
+
+  public $queueName = null;
+  public $queueDescription = null;
+  public $maxRunTime = null;
+  public $maxNodes = null;
+  public $maxProcessors = null;
+  public $maxJobsInQueue = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'queueName',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'queueDescription',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'maxRunTime',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'maxNodes',
+          'type' => TType::I32,
+          ),
+        5 => array(
+          'var' => 'maxProcessors',
+          'type' => TType::I32,
+          ),
+        6 => array(
+          'var' => 'maxJobsInQueue',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['queueName'])) {
+        $this->queueName = $vals['queueName'];
+      }
+      if (isset($vals['queueDescription'])) {
+        $this->queueDescription = $vals['queueDescription'];
+      }
+      if (isset($vals['maxRunTime'])) {
+        $this->maxRunTime = $vals['maxRunTime'];
+      }
+      if (isset($vals['maxNodes'])) {
+        $this->maxNodes = $vals['maxNodes'];
+      }
+      if (isset($vals['maxProcessors'])) {
+        $this->maxProcessors = $vals['maxProcessors'];
+      }
+      if (isset($vals['maxJobsInQueue'])) {
+        $this->maxJobsInQueue = $vals['maxJobsInQueue'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'BatchQueue';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->queueName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->queueDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->maxRunTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->maxNodes);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->maxProcessors);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->maxJobsInQueue);
+          } 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('BatchQueue');
+    if ($this->queueName !== null) {
+      $xfer += $output->writeFieldBegin('queueName', TType::STRING, 1);
+      $xfer += $output->writeString($this->queueName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->queueDescription !== null) {
+      $xfer += $output->writeFieldBegin('queueDescription', TType::STRING, 2);
+      $xfer += $output->writeString($this->queueDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->maxRunTime !== null) {
+      $xfer += $output->writeFieldBegin('maxRunTime', TType::I32, 3);
+      $xfer += $output->writeI32($this->maxRunTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->maxNodes !== null) {
+      $xfer += $output->writeFieldBegin('maxNodes', TType::I32, 4);
+      $xfer += $output->writeI32($this->maxNodes);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->maxProcessors !== null) {
+      $xfer += $output->writeFieldBegin('maxProcessors', TType::I32, 5);
+      $xfer += $output->writeI32($this->maxProcessors);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->maxJobsInQueue !== null) {
+      $xfer += $output->writeFieldBegin('maxJobsInQueue', TType::I32, 6);
+      $xfer += $output->writeI32($this->maxJobsInQueue);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class SCPDataMovement {
+  static $_TSPEC;
+
+  public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  public $securityProtocol = null;
+  public $alternativeSCPHostName = null;
+  public $sshPort = 22;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'alternativeSCPHostName',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'sshPort',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['alternativeSCPHostName'])) {
+        $this->alternativeSCPHostName = $vals['alternativeSCPHostName'];
+      }
+      if (isset($vals['sshPort'])) {
+        $this->sshPort = $vals['sshPort'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'SCPDataMovement';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->dataMovementInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->alternativeSCPHostName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->sshPort);
+          } 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('SCPDataMovement');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->alternativeSCPHostName !== null) {
+      $xfer += $output->writeFieldBegin('alternativeSCPHostName', TType::STRING, 3);
+      $xfer += $output->writeString($this->alternativeSCPHostName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sshPort !== null) {
+      $xfer += $output->writeFieldBegin('sshPort', TType::I32, 4);
+      $xfer += $output->writeI32($this->sshPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class GridFTPDataMovement {
+  static $_TSPEC;
+
+  public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  public $securityProtocol = null;
+  public $gridFTPEndPoints = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'gridFTPEndPoints',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['gridFTPEndPoints'])) {
+        $this->gridFTPEndPoints = $vals['gridFTPEndPoints'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'GridFTPDataMovement';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->dataMovementInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->gridFTPEndPoints = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->gridFTPEndPoints []= $elem5;
+            }
+            $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('GridFTPDataMovement');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gridFTPEndPoints !== null) {
+      if (!is_array($this->gridFTPEndPoints)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('gridFTPEndPoints', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRING, count($this->gridFTPEndPoints));
+        {
+          foreach ($this->gridFTPEndPoints as $iter6)
+          {
+            $xfer += $output->writeString($iter6);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class LOCALSubmission {
+  static $_TSPEC;
+
+  public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  public $resourceJobManager = null;
+  public $monitoringMechanism = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'jobSubmissionInterfaceId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'resourceJobManager',
+          'type' => TType::I32,
+          ),
+        6 => array(
+          'var' => 'monitoringMechanism',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobSubmissionInterfaceId'])) {
+        $this->jobSubmissionInterfaceId = $vals['jobSubmissionInterfaceId'];
+      }
+      if (isset($vals['resourceJobManager'])) {
+        $this->resourceJobManager = $vals['resourceJobManager'];
+      }
+      if (isset($vals['monitoringMechanism'])) {
+        $this->monitoringMechanism = $vals['monitoringMechanism'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'LOCALSubmission';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->jobSubmissionInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->resourceJobManager);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->monitoringMechanism);
+          } 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('LOCALSubmission');
+    if ($this->jobSubmissionInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('jobSubmissionInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->jobSubmissionInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceJobManager !== null) {
+      $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 3);
+      $xfer += $output->writeI32($this->resourceJobManager);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->monitoringMechanism !== null) {
+      $xfer += $output->writeFieldBegin('monitoringMechanism', TType::STRING, 6);
+      $xfer += $output->writeString($this->monitoringMechanism);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class LOCALDataMovement {
+  static $_TSPEC;
+
+  public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'LOCALDataMovement';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->dataMovementInterfaceId);
+          } 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('LOCALDataMovement');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class SSHJobSubmission {
+  static $_TSPEC;
+
+  public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  public $securityProtocol = null;
+  public $resourceJobManager = null;
+  public $alternativeSSHHostName = null;
+  public $sshPort = 22;
+  public $monitoringMechanism = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'jobSubmissionInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'resourceJobManager',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'alternativeSSHHostName',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'sshPort',
+          'type' => TType::I32,
+          ),
+        6 => array(
+          'var' => 'monitoringMechanism',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobSubmissionInterfaceId'])) {
+        $this->jobSubmissionInterfaceId = $vals['jobSubmissionInterfaceId'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['resourceJobManager'])) {
+        $this->resourceJobManager = $vals['resourceJobManager'];
+      }
+      if (isset($vals['alternativeSSHHostName'])) {
+        $this->alternativeSSHHostName = $vals['alternativeSSHHostName'];
+      }
+      if (isset($vals['sshPort'])) {
+        $this->sshPort = $vals['sshPort'];
+      }
+      if (isset($vals['monitoringMechanism'])) {
+        $this->monitoringMechanism = $vals['monitoringMechanism'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'SSHJobSubmission';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->jobSubmissionInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->resourceJobManager);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->alternativeSSHHostName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->sshPort);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->monitoringMechanism);
+          } 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('SSHJobSubmission');
+    if ($this->jobSubmissionInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('jobSubmissionInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->jobSubmissionInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceJobManager !== null) {
+      $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 3);
+      $xfer += $output->writeI32($this->resourceJobManager);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->alternativeSSHHostName !== null) {
+      $xfer += $output->writeFieldBegin('alternativeSSHHostName', TType::STRING, 4);
+      $xfer += $output->writeString($this->alternativeSSHHostName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sshPort !== null) {
+      $xfer += $output->writeFieldBegin('sshPort', TType::I32, 5);
+      $xfer += $output->writeI32($this->sshPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->monitoringMechanism !== null) {
+      $xfer += $output->writeFieldBegin('monitoringMechanism', TType::STRING, 6);
+      $xfer += $output->writeString($this->monitoringMechanism);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class GlobusJobSubmission {
+  static $_TSPEC;
+
+  public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS";
+  public $securityProtocol = null;
+  public $resourceJobManager = null;
+  public $globusGateKeeperEndPoint = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'jobSubmissionInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'securityProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'resourceJobManager',
+          'type' => TType::I32,
+          ),
+        4 => array(
+          'var' => 'globusGateKeeperEndPoint',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobSubmissionInterfaceId'])) {
+        $this->jobSubmissionInterfaceId = $vals['jobSubmissionInterfaceId'];
+      }
+      if (isset($vals['securityProtocol'])) {
+        $this->securityProtocol = $vals['securityProtocol'];
+      }
+      if (isset($vals['resourceJobManager'])) {
+        $this->resourceJobManager = $vals['resourceJobManager'];
+      }
+      if (isset($vals['globusGateKeeperEndPoint'])) {
+        $this->globusGateKeeperEndPoint = $vals['globusGateKeeperEndPoint'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'GlobusJobSubmission';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->jobSubmissionInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->securityProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->resourceJobManager);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::LST) {
+            $this->globusGateKeeperEndPoint = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $xfer += $input->readString($elem12);
+              $this->globusGateKeeperEndPoint []= $elem12;
+            }
+            $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('GlobusJobSubmission');
+    if ($this->jobSubmissionInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('jobSubmissionInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->jobSubmissionInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->securityProtocol !== null) {
+      $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->securityProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceJobManager !== null) {
+      $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 3);
+      $xfer += $output->writeI32($this->resourceJobManager);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->globusGateKeeperEndPoint !== null) {
+      if (!is_array($this->globusGateKeeperEndPoint)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('globusGateKeeperEndPoint', TType::LST, 4);
+      {
+        $output->writeListBegin(TType::STRING, count($this->globusGateKeeperEndPoint));
+        {
+          foreach ($this->globusGateKeeperEndPoint as $iter13)
+          {
+            $xfer += $output->writeString($iter13);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class JobSubmissionInterface {
+  static $_TSPEC;
+
+  public $jobSubmissionInterfaceId = null;
+  public $jobSubmissionProtocol = null;
+  public $priorityOrder = 0;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'jobSubmissionInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'jobSubmissionProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'priorityOrder',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['jobSubmissionInterfaceId'])) {
+        $this->jobSubmissionInterfaceId = $vals['jobSubmissionInterfaceId'];
+      }
+      if (isset($vals['jobSubmissionProtocol'])) {
+        $this->jobSubmissionProtocol = $vals['jobSubmissionProtocol'];
+      }
+      if (isset($vals['priorityOrder'])) {
+        $this->priorityOrder = $vals['priorityOrder'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'JobSubmissionInterface';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->jobSubmissionInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->jobSubmissionProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->priorityOrder);
+          } 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('JobSubmissionInterface');
+    if ($this->jobSubmissionInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('jobSubmissionInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->jobSubmissionInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobSubmissionProtocol !== null) {
+      $xfer += $output->writeFieldBegin('jobSubmissionProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->jobSubmissionProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->priorityOrder !== null) {
+      $xfer += $output->writeFieldBegin('priorityOrder', TType::I32, 3);
+      $xfer += $output->writeI32($this->priorityOrder);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class DataMovementInterface {
+  static $_TSPEC;
+
+  public $dataMovementInterfaceId = null;
+  public $dataMovementProtocol = null;
+  public $priorityOrder = 0;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'dataMovementInterfaceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'dataMovementProtocol',
+          'type' => TType::I32,
+          ),
+        3 => array(
+          'var' => 'priorityOrder',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['dataMovementInterfaceId'])) {
+        $this->dataMovementInterfaceId = $vals['dataMovementInterfaceId'];
+      }
+      if (isset($vals['dataMovementProtocol'])) {
+        $this->dataMovementProtocol = $vals['dataMovementProtocol'];
+      }
+      if (isset($vals['priorityOrder'])) {
+        $this->priorityOrder = $vals['priorityOrder'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'DataMovementInterface';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->dataMovementInterfaceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->dataMovementProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->priorityOrder);
+          } 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('DataMovementInterface');
+    if ($this->dataMovementInterfaceId !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementInterfaceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->dataMovementInterfaceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataMovementProtocol !== null) {
+      $xfer += $output->writeFieldBegin('dataMovementProtocol', TType::I32, 2);
+      $xfer += $output->writeI32($this->dataMovementProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->priorityOrder !== null) {
+      $xfer += $output->writeFieldBegin('priorityOrder', TType::I32, 3);
+      $xfer += $output->writeI32($this->priorityOrder);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class ComputeResourceDescription {
+  static $_TSPEC;
+
+  public $isEmpty = false;
+  public $computeResourceId = "DO_NOT_SET_AT_CLIENTS";
+  public $hostName = null;
+  public $hostAliases = null;
+  public $ipAddresses = null;
+  public $computeResourceDescription = null;
+  public $resourceJobManager = null;
+  public $batchQueues = null;
+  public $fileSystems = null;
+  public $jobSubmissionInterfaces = null;
+  public $dataMovemenetInterfaces = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'isEmpty',
+          'type' => TType::BOOL,
+          ),
+        2 => array(
+          'var' => 'computeResourceId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'hostName',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'hostAliases',
+          'type' => TType::SET,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        5 => array(
+          'var' => 'ipAddresses',
+          'type' => TType::SET,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        6 => array(
+          'var' => 'computeResourceDescription',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'resourceJobManager',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'batchQueues',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\AppCatalog\ComputeResource\BatchQueue',
+            ),
+          ),
+        9 => array(
+          'var' => 'fileSystems',
+          'type' => TType::MAP,
+          'ktype' => TType::I32,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::I32,
+          ),
+          'val' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        10 => array(
+          'var' => 'jobSubmissionInterfaces',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\AppCatalog\ComputeResource\JobSubmissionInterface',
+            ),
+          ),
+        11 => array(
+          'var' => 'dataMovemenetInterfaces',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\AppCatalog\ComputeResource\DataMovementInterface',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['isEmpty'])) {
+        $this->isEmpty = $vals['isEmpty'];
+      }
+      if (isset($vals['computeResourceId'])) {
+        $this->computeResourceId = $vals['computeResourceId'];
+      }
+      if (isset($vals['hostName'])) {
+        $this->hostName = $vals['hostName'];
+      }
+      if (isset($vals['hostAliases'])) {
+        $this->hostAliases = $vals['hostAliases'];
+      }
+      if (isset($vals['ipAddresses'])) {
+        $this->ipAddresses = $vals['ipAddresses'];
+      }
+      if (isset($vals['computeResourceDescription'])) {
+        $this->computeResourceDescription = $vals['computeResourceDescription'];
+      }
+      if (isset($vals['resourceJobManager'])) {
+        $this->resourceJobManager = $vals['resourceJobManager'];
+      }
+      if (isset($vals['batchQueues'])) {
+        $this->batchQueues = $vals['batchQueues'];
+      }
+      if (isset($vals['fileSystems'])) {
+        $this->fileSystems = $vals['fileSystems'];
+      }
+      if (isset($vals['jobSubmissionInterfaces'])) {
+        $this->jobSubmissionInterfaces = $vals['jobSubmissionInterfaces'];
+      }
+      if (isset($vals['dataMovemenetInterfaces'])) {
+        $this->dataMovemenetInterfaces = $vals['dataMovemenetInterfaces'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ComputeResourceDescription';
+  }
+
+  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::BOOL) {
+            $xfer += $input->readBool($this->isEmpty);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->hostName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::SET) {
+            $this->hostAliases = array();
+            $_size14 = 0;
+            $_etype17 = 0;
+            $xfer += $input->readSetBegin($_etype17, $_size14);
+            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+            {
+              $elem19 = null;
+              $xfer += $input->readString($elem19);
+              if (is_scalar($elem19)) {
+                $this->hostAliases[$elem19] = true;
+              } else {
+                $this->hostAliases []= $elem19;
+              }
+            }
+            $xfer += $input->readSetEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::SET) {
+            $this->ipAddresses = array();
+            $_size20 = 0;
+            $_etype23 = 0;
+            $xfer += $input->readSetBegin($_etype23, $_size20);
+            for ($_i24 = 0; $_i24 < $_size20; ++$_i24)
+            {
+              $elem25 = null;
+              $xfer += $input->readString($elem25);
+              if (is_scalar($elem25)) {
+                $this->ipAddresses[$elem25] = true;
+              } else {
+                $this->ipAddresses []= $elem25;
+              }
+            }
+            $xfer += $input->readSetEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->resourceJobManager);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::LST) {
+            $this->batchQueues = array();
+            $_size26 = 0;
+            $_etype29 = 0;
+            $xfer += $input->readListBegin($_etype29, $_size26);
+            for ($_i30 = 0; $_i30 < $_size26; ++$_i30)
+            {
+              $elem31 = null;
+              $elem31 = new \Airavata\Model\AppCatalog\ComputeResource\BatchQueue();
+              $xfer += $elem31->read($input);
+              $this->batchQueues []= $elem31;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::MAP) {
+            $this->fileSystems = array();
+            $_size32 = 0;
+            $_ktype33 = 0;
+            $_vtype34 = 0;
+            $xfer += $input->readMapBegin($_ktype33, $_vtype34, $_size32);
+            for ($_i36 = 0; $_i36 < $_size32; ++$_i36)
+            {
+              $key37 = 0;
+              $val38 = '';
+              $xfer += $input->readI32($key37);
+              $xfer += $input->readString($val38);
+              $this->fileSystems[$key37] = $val38;
+            }
+            $xfer += $input->readMapEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::LST) {
+            $this->jobSubmissionInterfaces = array();
+            $_size39 = 0;
+            $_etype42 = 0;
+            $xfer += $input->readListBegin($_etype42, $_size39);
+            for ($_i43 = 0; $_i43 < $_size39; ++$_i43)
+            {
+              $elem44 = null;
+              $elem44 = new \Airavata\Model\AppCatalog\ComputeResource\JobSubmissionInterface();
+              $xfer += $elem44->read($input);
+              $this->jobSubmissionInterfaces []= $elem44;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::LST) {
+            $this->dataMovemenetInterfaces = array();
+            $_size45 = 0;
+            $_etype48 = 0;
+            $xfer += $input->readListBegin($_etype48, $_size45);
+            for ($_i49 = 0; $_i49 < $_size45; ++$_i49)
+            {
+              $elem50 = null;
+              $elem50 = new \Airavata\Model\AppCatalog\ComputeResource\DataMovementInterface();
+              $xfer += $elem50->read($input);
+              $this->dataMovemenetInterfaces []= $elem50;
+            }
+            $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('ComputeResourceDescription');
+    if ($this->isEmpty !== null) {
+      $xfer += $output->writeFieldBegin('isEmpty', TType::BOOL, 1);
+      $xfer += $output->writeBool($this->isEmpty);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceId !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceId', TType::STRING, 2);
+      $xfer += $output->writeString($this->computeResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->hostName !== null) {
+      $xfer += $output->writeFieldBegin('hostName', TType::STRING, 3);
+      $xfer += $output->writeString($this->hostName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->hostAliases !== null) {
+      if (!is_array($this->hostAliases)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('hostAliases', TType::SET, 4);
+      {
+        $output->writeSetBegin(TType::STRING, count($this->hostAliases));
+        {
+          foreach ($this->hostAliases as $iter51 => $iter52)
+          {
+            if (is_scalar($iter52)) {
+            $xfer += $output->writeString($iter51);
+            } else {
+            $xfer += $output->writeString($iter52);
+            }
+          }
+        }
+        $output->writeSetEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ipAddresses !== null) {
+      if (!is_array($this->ipAddresses)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('ipAddresses', TType::SET, 5);
+      {
+        $output->writeSetBegin(TType::STRING, count($this->ipAddresses));
+        {
+          foreach ($this->ipAddresses as $iter53 => $iter54)
+          {
+            if (is_scalar($iter54)) {
+            $xfer += $output->writeString($iter53);
+            } else {
+            $xfer += $output->writeString($iter54);
+            }
+          }
+        }
+        $output->writeSetEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceDescription !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceDescription', TType::STRING, 6);
+      $xfer += $output->writeString($this->computeResourceDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->resourceJobManager !== null) {
+      $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 7);
+      $xfer += $output->writeI32($this->resourceJobManager);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->batchQueues !== null) {
+      if (!is_array($this->batchQueues)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('batchQueues', TType::LST, 8);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->batchQueues));
+        {
+          foreach ($this->batchQueues as $iter55)
+          {
+            $xfer += $iter55->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileSystems !== null) {
+      if (!is_array($this->fileSystems)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('fileSystems', TType::MAP, 9);
+      {
+        $output->writeMapBegin(TType::I32, TType::STRING, count($this->fileSystems));
+        {
+          foreach ($this->fileSystems as $kiter56 => $viter57)
+          {
+            $xfer += $output->writeI32($kiter56);
+            $xfer += $output->writeString($viter57);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->jobSubmissionInterfaces !== null) {
+      if (!is_array($this->jobSubmissionInterfaces)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('jobSubmissionInterfaces', TType::LST, 10);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->jobSubmissionInterfaces));
+        {
+          foreach ($this->jobSubmissionInterfaces as $iter58)
+          {
+            $xfer += $iter58->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataMovemenetInterfaces !== null) {
+      if (!is_array($this->dataMovemenetInterfaces)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('dataMovemenetInterfaces', TType::LST, 11);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->dataMovemenetInterfaces));
+        {
+          foreach ($this->dataMovemenetInterfaces as $iter59)
+          {
+            $xfer += $iter59->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+$GLOBALS['computeResourceModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS";
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/59a7443a/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 1ec9fbc..6201a18 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
@@ -17,13 +17,205 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+class ComputeResourcePreference {
+  static $_TSPEC;
+
+  public $computeResourceId = null;
+  public $overridebyAiravata = true;
+  public $preferredJobSubmissionProtocol = null;
+  public $preferredDataMovementProtocol = null;
+  public $preferredBatchQueue = null;
+  public $scratchLocation = null;
+  public $allocationProjectNumber = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'computeResourceId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'overridebyAiravata',
+          'type' => TType::BOOL,
+          ),
+        3 => array(
+          'var' => 'preferredJobSubmissionProtocol',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'preferredDataMovementProtocol',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'preferredBatchQueue',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'scratchLocation',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'allocationProjectNumber',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['computeResourceId'])) {
+        $this->computeResourceId = $vals['computeResourceId'];
+      }
+      if (isset($vals['overridebyAiravata'])) {
+        $this->overridebyAiravata = $vals['overridebyAiravata'];
+      }
+      if (isset($vals['preferredJobSubmissionProtocol'])) {
+        $this->preferredJobSubmissionProtocol = $vals['preferredJobSubmissionProtocol'];
+      }
+      if (isset($vals['preferredDataMovementProtocol'])) {
+        $this->preferredDataMovementProtocol = $vals['preferredDataMovementProtocol'];
+      }
+      if (isset($vals['preferredBatchQueue'])) {
+        $this->preferredBatchQueue = $vals['preferredBatchQueue'];
+      }
+      if (isset($vals['scratchLocation'])) {
+        $this->scratchLocation = $vals['scratchLocation'];
+      }
+      if (isset($vals['allocationProjectNumber'])) {
+        $this->allocationProjectNumber = $vals['allocationProjectNumber'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ComputeResourcePreference';
+  }
+
+  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::STRING) {
+            $xfer += $input->readString($this->computeResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->overridebyAiravata);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->preferredJobSubmissionProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->preferredDataMovementProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->preferredBatchQueue);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->scratchLocation);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->allocationProjectNumber);
+          } 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('ComputeResourcePreference');
+    if ($this->computeResourceId !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceId', TType::STRING, 1);
+      $xfer += $output->writeString($this->computeResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->overridebyAiravata !== null) {
+      $xfer += $output->writeFieldBegin('overridebyAiravata', TType::BOOL, 2);
+      $xfer += $output->writeBool($this->overridebyAiravata);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->preferredJobSubmissionProtocol !== null) {
+      $xfer += $output->writeFieldBegin('preferredJobSubmissionProtocol', TType::STRING, 3);
+      $xfer += $output->writeString($this->preferredJobSubmissionProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->preferredDataMovementProtocol !== null) {
+      $xfer += $output->writeFieldBegin('preferredDataMovementProtocol', TType::STRING, 4);
+      $xfer += $output->writeString($this->preferredDataMovementProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->preferredBatchQueue !== null) {
+      $xfer += $output->writeFieldBegin('preferredBatchQueue', TType::STRING, 5);
+      $xfer += $output->writeString($this->preferredBatchQueue);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->scratchLocation !== null) {
+      $xfer += $output->writeFieldBegin('scratchLocation', TType::STRING, 6);
+      $xfer += $output->writeString($this->scratchLocation);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->allocationProjectNumber !== null) {
+      $xfer += $output->writeFieldBegin('allocationProjectNumber', TType::STRING, 7);
+      $xfer += $output->writeString($this->allocationProjectNumber);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class GatewayProfile {
   static $_TSPEC;
 
   public $gatewayID = "DO_NOT_SET_AT_CLIENTS";
   public $gatewayName = null;
   public $gatewayDescription = null;
-  public $preferedResource = null;
+  public $computeResourcePreferences = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -41,8 +233,13 @@ class GatewayProfile {
           'type' => TType::STRING,
           ),
         4 => array(
-          'var' => 'preferedResource',
-          'type' => TType::STRING,
+          'var' => 'computeResourcePreferences',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference',
+            ),
           ),
         );
     }
@@ -56,8 +253,8 @@ class GatewayProfile {
       if (isset($vals['gatewayDescription'])) {
         $this->gatewayDescription = $vals['gatewayDescription'];
       }
-      if (isset($vals['preferedResource'])) {
-        $this->preferedResource = $vals['preferedResource'];
+      if (isset($vals['computeResourcePreferences'])) {
+        $this->computeResourcePreferences = $vals['computeResourcePreferences'];
       }
     }
   }
@@ -103,8 +300,19 @@ class GatewayProfile {
           }
           break;
         case 4:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->preferedResource);
+          if ($ftype == TType::LST) {
+            $this->computeResourcePreferences = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $elem5 = new \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference();
+              $xfer += $elem5->read($input);
+              $this->computeResourcePreferences []= $elem5;
+            }
+            $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
@@ -137,9 +345,21 @@ class GatewayProfile {
       $xfer += $output->writeString($this->gatewayDescription);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->preferedResource !== null) {
-      $xfer += $output->writeFieldBegin('preferedResource', TType::STRING, 4);
-      $xfer += $output->writeString($this->preferedResource);
+    if ($this->computeResourcePreferences !== null) {
+      if (!is_array($this->computeResourcePreferences)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('computeResourcePreferences', TType::LST, 4);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->computeResourcePreferences));
+        {
+          foreach ($this->computeResourcePreferences as $iter6)
+          {
+            $xfer += $iter6->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
       $xfer += $output->writeFieldEnd();
     }
     $xfer += $output->writeFieldStop();

http://git-wip-us.apache.org/repos/asf/airavata/blob/59a7443a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/registerAppModule.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/registerAppModule.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/registerAppModule.php
index db053ac..b3ed27a 100755
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/registerAppModule.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/php-cli-samples/registerAppModule.php
@@ -57,7 +57,6 @@ try
         $appModuleVersion = $argv[2];
         $appModuleDescription = $argv[3];
 
-
         $appModule = new ApplicationModule();
         $appModule->appModuleName = $appModuleName;
         $appModule->appModuleVersion = $appModuleVersion;

http://git-wip-us.apache.org/repos/asf/airavata/blob/59a7443a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index b20793c..f4e5b8b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -83,7 +83,7 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField COMPUTE_HOST_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("computeHostId", org.apache.thrift.protocol.TType.STRING, (short)4);
   private static final org.apache.thrift.protocol.TField EXECUTABLE_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("executablePath", org.apache.thrift.protocol.TType.STRING, (short)5);
   private static final org.apache.thrift.protocol.TField APP_DEPLOYMENT_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("appDeploymentDescription", org.apache.thrift.protocol.TType.STRING, (short)6);
-  private static final org.apache.thrift.protocol.TField MODULE_LOAD_CMD_FIELD_DESC = new org.apache.thrift.protocol.TField("moduleLoadCmd", org.apache.thrift.protocol.TType.STRING, (short)7);
+  private static final org.apache.thrift.protocol.TField MODULE_LOAD_CMDS_FIELD_DESC = new org.apache.thrift.protocol.TField("moduleLoadCmds", org.apache.thrift.protocol.TType.LIST, (short)7);
   private static final org.apache.thrift.protocol.TField LIB_PREPEND_PATHS_FIELD_DESC = new org.apache.thrift.protocol.TField("libPrependPaths", org.apache.thrift.protocol.TType.LIST, (short)8);
   private static final org.apache.thrift.protocol.TField LIB_APPEND_PATHS_FIELD_DESC = new org.apache.thrift.protocol.TField("libAppendPaths", org.apache.thrift.protocol.TType.LIST, (short)9);
   private static final org.apache.thrift.protocol.TField SET_ENVIRONMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("setEnvironment", org.apache.thrift.protocol.TType.LIST, (short)10);
@@ -100,7 +100,7 @@ import org.slf4j.LoggerFactory;
   private String computeHostId; // required
   private String executablePath; // required
   private String appDeploymentDescription; // optional
-  private String moduleLoadCmd; // optional
+  private List<String> moduleLoadCmds; // optional
   private List<SetEnvPaths> libPrependPaths; // optional
   private List<SetEnvPaths> libAppendPaths; // optional
   private List<SetEnvPaths> setEnvironment; // optional
@@ -113,7 +113,7 @@ import org.slf4j.LoggerFactory;
     COMPUTE_HOST_ID((short)4, "computeHostId"),
     EXECUTABLE_PATH((short)5, "executablePath"),
     APP_DEPLOYMENT_DESCRIPTION((short)6, "appDeploymentDescription"),
-    MODULE_LOAD_CMD((short)7, "moduleLoadCmd"),
+    MODULE_LOAD_CMDS((short)7, "moduleLoadCmds"),
     LIB_PREPEND_PATHS((short)8, "libPrependPaths"),
     LIB_APPEND_PATHS((short)9, "libAppendPaths"),
     SET_ENVIRONMENT((short)10, "setEnvironment");
@@ -143,8 +143,8 @@ import org.slf4j.LoggerFactory;
           return EXECUTABLE_PATH;
         case 6: // APP_DEPLOYMENT_DESCRIPTION
           return APP_DEPLOYMENT_DESCRIPTION;
-        case 7: // MODULE_LOAD_CMD
-          return MODULE_LOAD_CMD;
+        case 7: // MODULE_LOAD_CMDS
+          return MODULE_LOAD_CMDS;
         case 8: // LIB_PREPEND_PATHS
           return LIB_PREPEND_PATHS;
         case 9: // LIB_APPEND_PATHS
@@ -193,7 +193,7 @@ import org.slf4j.LoggerFactory;
   // isset id assignments
   private static final int __ISEMPTY_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.APP_DEPLOYMENT_DESCRIPTION,_Fields.MODULE_LOAD_CMD,_Fields.LIB_PREPEND_PATHS,_Fields.LIB_APPEND_PATHS,_Fields.SET_ENVIRONMENT};
+  private _Fields optionals[] = {_Fields.APP_DEPLOYMENT_DESCRIPTION,_Fields.MODULE_LOAD_CMDS,_Fields.LIB_PREPEND_PATHS,_Fields.LIB_APPEND_PATHS,_Fields.SET_ENVIRONMENT};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -209,8 +209,9 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.APP_DEPLOYMENT_DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("appDeploymentDescription", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.MODULE_LOAD_CMD, new org.apache.thrift.meta_data.FieldMetaData("moduleLoadCmd", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.MODULE_LOAD_CMDS, new org.apache.thrift.meta_data.FieldMetaData("moduleLoadCmds", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
     tmpMap.put(_Fields.LIB_PREPEND_PATHS, new org.apache.thrift.meta_data.FieldMetaData("libPrependPaths", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, SetEnvPaths.class))));
@@ -268,8 +269,9 @@ import org.slf4j.LoggerFactory;
     if (other.isSetAppDeploymentDescription()) {
       this.appDeploymentDescription = other.appDeploymentDescription;
     }
-    if (other.isSetModuleLoadCmd()) {
-      this.moduleLoadCmd = other.moduleLoadCmd;
+    if (other.isSetModuleLoadCmds()) {
+      List<String> __this__moduleLoadCmds = new ArrayList<String>(other.moduleLoadCmds);
+      this.moduleLoadCmds = __this__moduleLoadCmds;
     }
     if (other.isSetLibPrependPaths()) {
       List<SetEnvPaths> __this__libPrependPaths = new ArrayList<SetEnvPaths>(other.libPrependPaths.size());
@@ -308,7 +310,7 @@ import org.slf4j.LoggerFactory;
     this.computeHostId = null;
     this.executablePath = null;
     this.appDeploymentDescription = null;
-    this.moduleLoadCmd = null;
+    this.moduleLoadCmds = null;
     this.libPrependPaths = null;
     this.libAppendPaths = null;
     this.setEnvironment = null;
@@ -451,26 +453,41 @@ import org.slf4j.LoggerFactory;
     }
   }
 
-  public String getModuleLoadCmd() {
-    return this.moduleLoadCmd;
+  public int getModuleLoadCmdsSize() {
+    return (this.moduleLoadCmds == null) ? 0 : this.moduleLoadCmds.size();
+  }
+
+  public java.util.Iterator<String> getModuleLoadCmdsIterator() {
+    return (this.moduleLoadCmds == null) ? null : this.moduleLoadCmds.iterator();
+  }
+
+  public void addToModuleLoadCmds(String elem) {
+    if (this.moduleLoadCmds == null) {
+      this.moduleLoadCmds = new ArrayList<String>();
+    }
+    this.moduleLoadCmds.add(elem);
+  }
+
+  public List<String> getModuleLoadCmds() {
+    return this.moduleLoadCmds;
   }
 
-  public void setModuleLoadCmd(String moduleLoadCmd) {
-    this.moduleLoadCmd = moduleLoadCmd;
+  public void setModuleLoadCmds(List<String> moduleLoadCmds) {
+    this.moduleLoadCmds = moduleLoadCmds;
   }
 
-  public void unsetModuleLoadCmd() {
-    this.moduleLoadCmd = null;
+  public void unsetModuleLoadCmds() {
+    this.moduleLoadCmds = null;
   }
 
-  /** Returns true if field moduleLoadCmd is set (has been assigned a value) and false otherwise */
-  public boolean isSetModuleLoadCmd() {
-    return this.moduleLoadCmd != null;
+  /** Returns true if field moduleLoadCmds is set (has been assigned a value) and false otherwise */
+  public boolean isSetModuleLoadCmds() {
+    return this.moduleLoadCmds != null;
   }
 
-  public void setModuleLoadCmdIsSet(boolean value) {
+  public void setModuleLoadCmdsIsSet(boolean value) {
     if (!value) {
-      this.moduleLoadCmd = null;
+      this.moduleLoadCmds = null;
     }
   }
 
@@ -638,11 +655,11 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
-    case MODULE_LOAD_CMD:
+    case MODULE_LOAD_CMDS:
       if (value == null) {
-        unsetModuleLoadCmd();
+        unsetModuleLoadCmds();
       } else {
-        setModuleLoadCmd((String)value);
+        setModuleLoadCmds((List<String>)value);
       }
       break;
 
@@ -693,8 +710,8 @@ import org.slf4j.LoggerFactory;
     case APP_DEPLOYMENT_DESCRIPTION:
       return getAppDeploymentDescription();
 
-    case MODULE_LOAD_CMD:
-      return getModuleLoadCmd();
+    case MODULE_LOAD_CMDS:
+      return getModuleLoadCmds();
 
     case LIB_PREPEND_PATHS:
       return getLibPrependPaths();
@@ -728,8 +745,8 @@ import org.slf4j.LoggerFactory;
       return isSetExecutablePath();
     case APP_DEPLOYMENT_DESCRIPTION:
       return isSetAppDeploymentDescription();
-    case MODULE_LOAD_CMD:
-      return isSetModuleLoadCmd();
+    case MODULE_LOAD_CMDS:
+      return isSetModuleLoadCmds();
     case LIB_PREPEND_PATHS:
       return isSetLibPrependPaths();
     case LIB_APPEND_PATHS:
@@ -807,12 +824,12 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
-    boolean this_present_moduleLoadCmd = true && this.isSetModuleLoadCmd();
-    boolean that_present_moduleLoadCmd = true && that.isSetModuleLoadCmd();
-    if (this_present_moduleLoadCmd || that_present_moduleLoadCmd) {
-      if (!(this_present_moduleLoadCmd && that_present_moduleLoadCmd))
+    boolean this_present_moduleLoadCmds = true && this.isSetModuleLoadCmds();
+    boolean that_present_moduleLoadCmds = true && that.isSetModuleLoadCmds();
+    if (this_present_moduleLoadCmds || that_present_moduleLoadCmds) {
+      if (!(this_present_moduleLoadCmds && that_present_moduleLoadCmds))
         return false;
-      if (!this.moduleLoadCmd.equals(that.moduleLoadCmd))
+      if (!this.moduleLoadCmds.equals(that.moduleLoadCmds))
         return false;
     }
 
@@ -919,12 +936,12 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetModuleLoadCmd()).compareTo(other.isSetModuleLoadCmd());
+    lastComparison = Boolean.valueOf(isSetModuleLoadCmds()).compareTo(other.isSetModuleLoadCmds());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetModuleLoadCmd()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.moduleLoadCmd, other.moduleLoadCmd);
+    if (isSetModuleLoadCmds()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.moduleLoadCmds, other.moduleLoadCmds);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1024,13 +1041,13 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
     }
-    if (isSetModuleLoadCmd()) {
+    if (isSetModuleLoadCmds()) {
       if (!first) sb.append(", ");
-      sb.append("moduleLoadCmd:");
-      if (this.moduleLoadCmd == null) {
+      sb.append("moduleLoadCmds:");
+      if (this.moduleLoadCmds == null) {
         sb.append("null");
       } else {
-        sb.append(this.moduleLoadCmd);
+        sb.append(this.moduleLoadCmds);
       }
       first = false;
     }
@@ -1177,63 +1194,73 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // MODULE_LOAD_CMD
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.moduleLoadCmd = iprot.readString();
-              struct.setModuleLoadCmdIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 8: // LIB_PREPEND_PATHS
+          case 7: // MODULE_LOAD_CMDS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
-                struct.libPrependPaths = new ArrayList<SetEnvPaths>(_list0.size);
+                struct.moduleLoadCmds = new ArrayList<String>(_list0.size);
                 for (int _i1 = 0; _i1 < _list0.size; ++_i1)
                 {
-                  SetEnvPaths _elem2;
-                  _elem2 = new SetEnvPaths();
-                  _elem2.read(iprot);
-                  struct.libPrependPaths.add(_elem2);
+                  String _elem2;
+                  _elem2 = iprot.readString();
+                  struct.moduleLoadCmds.add(_elem2);
                 }
                 iprot.readListEnd();
               }
-              struct.setLibPrependPathsIsSet(true);
+              struct.setModuleLoadCmdsIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 9: // LIB_APPEND_PATHS
+          case 8: // LIB_PREPEND_PATHS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
-                struct.libAppendPaths = new ArrayList<SetEnvPaths>(_list3.size);
+                struct.libPrependPaths = new ArrayList<SetEnvPaths>(_list3.size);
                 for (int _i4 = 0; _i4 < _list3.size; ++_i4)
                 {
                   SetEnvPaths _elem5;
                   _elem5 = new SetEnvPaths();
                   _elem5.read(iprot);
-                  struct.libAppendPaths.add(_elem5);
+                  struct.libPrependPaths.add(_elem5);
                 }
                 iprot.readListEnd();
               }
-              struct.setLibAppendPathsIsSet(true);
+              struct.setLibPrependPathsIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 10: // SET_ENVIRONMENT
+          case 9: // LIB_APPEND_PATHS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
-                struct.setEnvironment = new ArrayList<SetEnvPaths>(_list6.size);
+                struct.libAppendPaths = new ArrayList<SetEnvPaths>(_list6.size);
                 for (int _i7 = 0; _i7 < _list6.size; ++_i7)
                 {
                   SetEnvPaths _elem8;
                   _elem8 = new SetEnvPaths();
                   _elem8.read(iprot);
-                  struct.setEnvironment.add(_elem8);
+                  struct.libAppendPaths.add(_elem8);
+                }
+                iprot.readListEnd();
+              }
+              struct.setLibAppendPathsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // SET_ENVIRONMENT
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list9 = iprot.readListBegin();
+                struct.setEnvironment = new ArrayList<SetEnvPaths>(_list9.size);
+                for (int _i10 = 0; _i10 < _list9.size; ++_i10)
+                {
+                  SetEnvPaths _elem11;
+                  _elem11 = new SetEnvPaths();
+                  _elem11.read(iprot);
+                  struct.setEnvironment.add(_elem11);
                 }
                 iprot.readListEnd();
               }
@@ -1285,10 +1312,17 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldEnd();
         }
       }
-      if (struct.moduleLoadCmd != null) {
-        if (struct.isSetModuleLoadCmd()) {
-          oprot.writeFieldBegin(MODULE_LOAD_CMD_FIELD_DESC);
-          oprot.writeString(struct.moduleLoadCmd);
+      if (struct.moduleLoadCmds != null) {
+        if (struct.isSetModuleLoadCmds()) {
+          oprot.writeFieldBegin(MODULE_LOAD_CMDS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.moduleLoadCmds.size()));
+            for (String _iter12 : struct.moduleLoadCmds)
+            {
+              oprot.writeString(_iter12);
+            }
+            oprot.writeListEnd();
+          }
           oprot.writeFieldEnd();
         }
       }
@@ -1297,9 +1331,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(LIB_PREPEND_PATHS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.libPrependPaths.size()));
-            for (SetEnvPaths _iter9 : struct.libPrependPaths)
+            for (SetEnvPaths _iter13 : struct.libPrependPaths)
             {
-              _iter9.write(oprot);
+              _iter13.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1311,9 +1345,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(LIB_APPEND_PATHS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.libAppendPaths.size()));
-            for (SetEnvPaths _iter10 : struct.libAppendPaths)
+            for (SetEnvPaths _iter14 : struct.libAppendPaths)
             {
-              _iter10.write(oprot);
+              _iter14.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1325,9 +1359,9 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldBegin(SET_ENVIRONMENT_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.setEnvironment.size()));
-            for (SetEnvPaths _iter11 : struct.setEnvironment)
+            for (SetEnvPaths _iter15 : struct.setEnvironment)
             {
-              _iter11.write(oprot);
+              _iter15.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1360,7 +1394,7 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetAppDeploymentDescription()) {
         optionals.set(0);
       }
-      if (struct.isSetModuleLoadCmd()) {
+      if (struct.isSetModuleLoadCmds()) {
         optionals.set(1);
       }
       if (struct.isSetLibPrependPaths()) {
@@ -1376,33 +1410,39 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetAppDeploymentDescription()) {
         oprot.writeString(struct.appDeploymentDescription);
       }
-      if (struct.isSetModuleLoadCmd()) {
-        oprot.writeString(struct.moduleLoadCmd);
+      if (struct.isSetModuleLoadCmds()) {
+        {
+          oprot.writeI32(struct.moduleLoadCmds.size());
+          for (String _iter16 : struct.moduleLoadCmds)
+          {
+            oprot.writeString(_iter16);
+          }
+        }
       }
       if (struct.isSetLibPrependPaths()) {
         {
           oprot.writeI32(struct.libPrependPaths.size());
-          for (SetEnvPaths _iter12 : struct.libPrependPaths)
+          for (SetEnvPaths _iter17 : struct.libPrependPaths)
           {
-            _iter12.write(oprot);
+            _iter17.write(oprot);
           }
         }
       }
       if (struct.isSetLibAppendPaths()) {
         {
           oprot.writeI32(struct.libAppendPaths.size());
-          for (SetEnvPaths _iter13 : struct.libAppendPaths)
+          for (SetEnvPaths _iter18 : struct.libAppendPaths)
           {
-            _iter13.write(oprot);
+            _iter18.write(oprot);
           }
         }
       }
       if (struct.isSetSetEnvironment()) {
         {
           oprot.writeI32(struct.setEnvironment.size());
-          for (SetEnvPaths _iter14 : struct.setEnvironment)
+          for (SetEnvPaths _iter19 : struct.setEnvironment)
           {
-            _iter14.write(oprot);
+            _iter19.write(oprot);
           }
         }
       }
@@ -1427,47 +1467,56 @@ import org.slf4j.LoggerFactory;
         struct.setAppDeploymentDescriptionIsSet(true);
       }
       if (incoming.get(1)) {
-        struct.moduleLoadCmd = iprot.readString();
-        struct.setModuleLoadCmdIsSet(true);
+        {
+          org.apache.thrift.protocol.TList _list20 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.moduleLoadCmds = new ArrayList<String>(_list20.size);
+          for (int _i21 = 0; _i21 < _list20.size; ++_i21)
+          {
+            String _elem22;
+            _elem22 = iprot.readString();
+            struct.moduleLoadCmds.add(_elem22);
+          }
+        }
+        struct.setModuleLoadCmdsIsSet(true);
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list15 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.libPrependPaths = new ArrayList<SetEnvPaths>(_list15.size);
-          for (int _i16 = 0; _i16 < _list15.size; ++_i16)
+          org.apache.thrift.protocol.TList _list23 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.libPrependPaths = new ArrayList<SetEnvPaths>(_list23.size);
+          for (int _i24 = 0; _i24 < _list23.size; ++_i24)
           {
-            SetEnvPaths _elem17;
-            _elem17 = new SetEnvPaths();
-            _elem17.read(iprot);
-            struct.libPrependPaths.add(_elem17);
+            SetEnvPaths _elem25;
+            _elem25 = new SetEnvPaths();
+            _elem25.read(iprot);
+            struct.libPrependPaths.add(_elem25);
           }
         }
         struct.setLibPrependPathsIsSet(true);
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list18 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.libAppendPaths = new ArrayList<SetEnvPaths>(_list18.size);
-          for (int _i19 = 0; _i19 < _list18.size; ++_i19)
+          org.apache.thrift.protocol.TList _list26 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.libAppendPaths = new ArrayList<SetEnvPaths>(_list26.size);
+          for (int _i27 = 0; _i27 < _list26.size; ++_i27)
           {
-            SetEnvPaths _elem20;
-            _elem20 = new SetEnvPaths();
-            _elem20.read(iprot);
-            struct.libAppendPaths.add(_elem20);
+            SetEnvPaths _elem28;
+            _elem28 = new SetEnvPaths();
+            _elem28.read(iprot);
+            struct.libAppendPaths.add(_elem28);
           }
         }
         struct.setLibAppendPathsIsSet(true);
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.setEnvironment = new ArrayList<SetEnvPaths>(_list21.size);
-          for (int _i22 = 0; _i22 < _list21.size; ++_i22)
+          org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.setEnvironment = new ArrayList<SetEnvPaths>(_list29.size);
+          for (int _i30 = 0; _i30 < _list29.size; ++_i30)
           {
-            SetEnvPaths _elem23;
-            _elem23 = new SetEnvPaths();
-            _elem23.read(iprot);
-            struct.setEnvironment.add(_elem23);
+            SetEnvPaths _elem31;
+            _elem31 = new SetEnvPaths();
+            _elem31.read(iprot);
+            struct.setEnvironment.add(_elem31);
           }
         }
         struct.setSetEnvironmentIsSet(true);