blob: 32ab54a003a5b22d878730814032d764559e58bc [file] [log] [blame]
<?php
namespace Airavata\Model\AppCatalog\AppDeployment;
/**
* Autogenerated by Thrift Compiler (0.10.0)
*
* 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;
/**
* 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
*
* envPathOrder:
* The order of the setting of the env variables when there are multiple env variables
*/
class SetEnvPaths {
static $_TSPEC;
/**
* @var string
*/
public $name = null;
/**
* @var string
*/
public $value = null;
/**
* @var int
*/
public $envPathOrder = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
self::$_TSPEC = array(
1 => array(
'var' => 'name',
'type' => TType::STRING,
),
2 => array(
'var' => 'value',
'type' => TType::STRING,
),
3 => array(
'var' => 'envPathOrder',
'type' => TType::I32,
),
);
}
if (is_array($vals)) {
if (isset($vals['name'])) {
$this->name = $vals['name'];
}
if (isset($vals['value'])) {
$this->value = $vals['value'];
}
if (isset($vals['envPathOrder'])) {
$this->envPathOrder = $vals['envPathOrder'];
}
}
}
public function getName() {
return 'SetEnvPaths';
}
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->name);
} else {
$xfer += $input->skip($ftype);
}
break;
case 2:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->value);
} else {
$xfer += $input->skip($ftype);
}
break;
case 3:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->envPathOrder);
} 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('SetEnvPaths');
if ($this->name !== null) {
$xfer += $output->writeFieldBegin('name', TType::STRING, 1);
$xfer += $output->writeString($this->name);
$xfer += $output->writeFieldEnd();
}
if ($this->value !== null) {
$xfer += $output->writeFieldBegin('value', TType::STRING, 2);
$xfer += $output->writeString($this->value);
$xfer += $output->writeFieldEnd();
}
if ($this->envPathOrder !== null) {
$xfer += $output->writeFieldBegin('envPathOrder', TType::I32, 3);
$xfer += $output->writeI32($this->envPathOrder);
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}
}
/**
* Job commands to be used in Pre Job, Post Job and Module Load Commands
*
* command:
* The actual command in string format
*
* commandOrder:
* Order of the command in the multiple command situation
*/
class CommandObject {
static $_TSPEC;
/**
* @var string
*/
public $command = null;
/**
* @var int
*/
public $commandOrder = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
self::$_TSPEC = array(
1 => array(
'var' => 'command',
'type' => TType::STRING,
),
2 => array(
'var' => 'commandOrder',
'type' => TType::I32,
),
);
}
if (is_array($vals)) {
if (isset($vals['command'])) {
$this->command = $vals['command'];
}
if (isset($vals['commandOrder'])) {
$this->commandOrder = $vals['commandOrder'];
}
}
}
public function getName() {
return 'CommandObject';
}
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->command);
} else {
$xfer += $input->skip($ftype);
}
break;
case 2:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->commandOrder);
} 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('CommandObject');
if ($this->command !== null) {
$xfer += $output->writeFieldBegin('command', TType::STRING, 1);
$xfer += $output->writeString($this->command);
$xfer += $output->writeFieldEnd();
}
if ($this->commandOrder !== null) {
$xfer += $output->writeFieldBegin('commandOrder', TType::I32, 2);
$xfer += $output->writeI32($this->commandOrder);
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}
}
/**
* 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) {
if (!isset(self::$_TSPEC)) {
self::$_TSPEC = array(
1 => array(
'var' => 'appModuleId',
'type' => TType::STRING,
),
2 => array(
'var' => 'appModuleName',
'type' => TType::STRING,
),
3 => array(
'var' => 'appModuleVersion',
'type' => TType::STRING,
),
4 => array(
'var' => 'appModuleDescription',
'type' => TType::STRING,
),
);
}
if (is_array($vals)) {
if (isset($vals['appModuleId'])) {
$this->appModuleId = $vals['appModuleId'];
}
if (isset($vals['appModuleName'])) {
$this->appModuleName = $vals['appModuleName'];
}
if (isset($vals['appModuleVersion'])) {
$this->appModuleVersion = $vals['appModuleVersion'];
}
if (isset($vals['appModuleDescription'])) {
$this->appModuleDescription = $vals['appModuleDescription'];
}
}
}
public function getName() {
return 'ApplicationModule';
}
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->appModuleId);
} else {
$xfer += $input->skip($ftype);
}
break;
case 2:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->appModuleName);
} else {
$xfer += $input->skip($ftype);
}
break;
case 3:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->appModuleVersion);
} else {
$xfer += $input->skip($ftype);
}
break;
case 4:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->appModuleDescription);
} 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('ApplicationModule');
if ($this->appModuleId !== null) {
$xfer += $output->writeFieldBegin('appModuleId', TType::STRING, 1);
$xfer += $output->writeString($this->appModuleId);
$xfer += $output->writeFieldEnd();
}
if ($this->appModuleName !== null) {
$xfer += $output->writeFieldBegin('appModuleName', TType::STRING, 2);
$xfer += $output->writeString($this->appModuleName);
$xfer += $output->writeFieldEnd();
}
if ($this->appModuleVersion !== null) {
$xfer += $output->writeFieldBegin('appModuleVersion', TType::STRING, 3);
$xfer += $output->writeString($this->appModuleVersion);
$xfer += $output->writeFieldEnd();
}
if ($this->appModuleDescription !== null) {
$xfer += $output->writeFieldBegin('appModuleDescription', TType::STRING, 4);
$xfer += $output->writeString($this->appModuleDescription);
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}
}
/**
* 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 \Airavata\Model\AppCatalog\AppDeployment\CommandObject[]
*/
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 \Airavata\Model\AppCatalog\AppDeployment\CommandObject[]
*/
public $preJobCommands = null;
/**
* @var \Airavata\Model\AppCatalog\AppDeployment\CommandObject[]
*/
public $postJobCommands = null;
/**
* @var string
*/
public $defaultQueueName = null;
/**
* @var int
*/
public $defaultNodeCount = null;
/**
* @var int
*/
public $defaultCPUCount = null;
/**
* @var int
*/
public $defaultWalltime = null;
/**
* @var bool
*/
public $editableByUser = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
self::$_TSPEC = array(
1 => array(
'var' => 'appDeploymentId',
'type' => TType::STRING,
),
2 => array(
'var' => 'appModuleId',
'type' => TType::STRING,
),
3 => array(
'var' => 'computeHostId',
'type' => TType::STRING,
),
4 => array(
'var' => 'executablePath',
'type' => TType::STRING,
),
5 => array(
'var' => 'parallelism',
'type' => TType::I32,
),
6 => array(
'var' => 'appDeploymentDescription',
'type' => TType::STRING,
),
7 => array(
'var' => 'moduleLoadCmds',
'type' => TType::LST,
'etype' => TType::STRUCT,
'elem' => array(
'type' => TType::STRUCT,
'class' => '\Airavata\Model\AppCatalog\AppDeployment\CommandObject',
),
),
8 => array(
'var' => 'libPrependPaths',
'type' => TType::LST,
'etype' => TType::STRUCT,
'elem' => array(
'type' => TType::STRUCT,
'class' => '\Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths',
),
),
9 => array(
'var' => 'libAppendPaths',
'type' => TType::LST,
'etype' => TType::STRUCT,
'elem' => array(
'type' => TType::STRUCT,
'class' => '\Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths',
),
),
10 => array(
'var' => 'setEnvironment',
'type' => TType::LST,
'etype' => TType::STRUCT,
'elem' => array(
'type' => TType::STRUCT,
'class' => '\Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths',
),
),
11 => array(
'var' => 'preJobCommands',
'type' => TType::LST,
'etype' => TType::STRUCT,
'elem' => array(
'type' => TType::STRUCT,
'class' => '\Airavata\Model\AppCatalog\AppDeployment\CommandObject',
),
),
12 => array(
'var' => 'postJobCommands',
'type' => TType::LST,
'etype' => TType::STRUCT,
'elem' => array(
'type' => TType::STRUCT,
'class' => '\Airavata\Model\AppCatalog\AppDeployment\CommandObject',
),
),
13 => array(
'var' => 'defaultQueueName',
'type' => TType::STRING,
),
14 => array(
'var' => 'defaultNodeCount',
'type' => TType::I32,
),
15 => array(
'var' => 'defaultCPUCount',
'type' => TType::I32,
),
16 => array(
'var' => 'defaultWalltime',
'type' => TType::I32,
),
17 => array(
'var' => 'editableByUser',
'type' => TType::BOOL,
),
);
}
if (is_array($vals)) {
if (isset($vals['appDeploymentId'])) {
$this->appDeploymentId = $vals['appDeploymentId'];
}
if (isset($vals['appModuleId'])) {
$this->appModuleId = $vals['appModuleId'];
}
if (isset($vals['computeHostId'])) {
$this->computeHostId = $vals['computeHostId'];
}
if (isset($vals['executablePath'])) {
$this->executablePath = $vals['executablePath'];
}
if (isset($vals['parallelism'])) {
$this->parallelism = $vals['parallelism'];
}
if (isset($vals['appDeploymentDescription'])) {
$this->appDeploymentDescription = $vals['appDeploymentDescription'];
}
if (isset($vals['moduleLoadCmds'])) {
$this->moduleLoadCmds = $vals['moduleLoadCmds'];
}
if (isset($vals['libPrependPaths'])) {
$this->libPrependPaths = $vals['libPrependPaths'];
}
if (isset($vals['libAppendPaths'])) {
$this->libAppendPaths = $vals['libAppendPaths'];
}
if (isset($vals['setEnvironment'])) {
$this->setEnvironment = $vals['setEnvironment'];
}
if (isset($vals['preJobCommands'])) {
$this->preJobCommands = $vals['preJobCommands'];
}
if (isset($vals['postJobCommands'])) {
$this->postJobCommands = $vals['postJobCommands'];
}
if (isset($vals['defaultQueueName'])) {
$this->defaultQueueName = $vals['defaultQueueName'];
}
if (isset($vals['defaultNodeCount'])) {
$this->defaultNodeCount = $vals['defaultNodeCount'];
}
if (isset($vals['defaultCPUCount'])) {
$this->defaultCPUCount = $vals['defaultCPUCount'];
}
if (isset($vals['defaultWalltime'])) {
$this->defaultWalltime = $vals['defaultWalltime'];
}
if (isset($vals['editableByUser'])) {
$this->editableByUser = $vals['editableByUser'];
}
}
}
public function getName() {
return 'ApplicationDeploymentDescription';
}
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->appDeploymentId);
} else {
$xfer += $input->skip($ftype);
}
break;
case 2:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->appModuleId);
} else {
$xfer += $input->skip($ftype);
}
break;
case 3:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->computeHostId);
} else {
$xfer += $input->skip($ftype);
}
break;
case 4:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->executablePath);
} else {
$xfer += $input->skip($ftype);
}
break;
case 5:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->parallelism);
} else {
$xfer += $input->skip($ftype);
}
break;
case 6:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->appDeploymentDescription);
} else {
$xfer += $input->skip($ftype);
}
break;
case 7:
if ($ftype == TType::LST) {
$this->moduleLoadCmds = array();
$_size0 = 0;
$_etype3 = 0;
$xfer += $input->readListBegin($_etype3, $_size0);
for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
{
$elem5 = null;
$elem5 = new \Airavata\Model\AppCatalog\AppDeployment\CommandObject();
$xfer += $elem5->read($input);
$this->moduleLoadCmds []= $elem5;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
case 8:
if ($ftype == TType::LST) {
$this->libPrependPaths = array();
$_size6 = 0;
$_etype9 = 0;
$xfer += $input->readListBegin($_etype9, $_size6);
for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
{
$elem11 = null;
$elem11 = new \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths();
$xfer += $elem11->read($input);
$this->libPrependPaths []= $elem11;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
case 9:
if ($ftype == TType::LST) {
$this->libAppendPaths = array();
$_size12 = 0;
$_etype15 = 0;
$xfer += $input->readListBegin($_etype15, $_size12);
for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
{
$elem17 = null;
$elem17 = new \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths();
$xfer += $elem17->read($input);
$this->libAppendPaths []= $elem17;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
case 10:
if ($ftype == TType::LST) {
$this->setEnvironment = array();
$_size18 = 0;
$_etype21 = 0;
$xfer += $input->readListBegin($_etype21, $_size18);
for ($_i22 = 0; $_i22 < $_size18; ++$_i22)
{
$elem23 = null;
$elem23 = new \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths();
$xfer += $elem23->read($input);
$this->setEnvironment []= $elem23;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
case 11:
if ($ftype == TType::LST) {
$this->preJobCommands = array();
$_size24 = 0;
$_etype27 = 0;
$xfer += $input->readListBegin($_etype27, $_size24);
for ($_i28 = 0; $_i28 < $_size24; ++$_i28)
{
$elem29 = null;
$elem29 = new \Airavata\Model\AppCatalog\AppDeployment\CommandObject();
$xfer += $elem29->read($input);
$this->preJobCommands []= $elem29;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
case 12:
if ($ftype == TType::LST) {
$this->postJobCommands = array();
$_size30 = 0;
$_etype33 = 0;
$xfer += $input->readListBegin($_etype33, $_size30);
for ($_i34 = 0; $_i34 < $_size30; ++$_i34)
{
$elem35 = null;
$elem35 = new \Airavata\Model\AppCatalog\AppDeployment\CommandObject();
$xfer += $elem35->read($input);
$this->postJobCommands []= $elem35;
}
$xfer += $input->readListEnd();
} else {
$xfer += $input->skip($ftype);
}
break;
case 13:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->defaultQueueName);
} else {
$xfer += $input->skip($ftype);
}
break;
case 14:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->defaultNodeCount);
} else {
$xfer += $input->skip($ftype);
}
break;
case 15:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->defaultCPUCount);
} else {
$xfer += $input->skip($ftype);
}
break;
case 16:
if ($ftype == TType::I32) {
$xfer += $input->readI32($this->defaultWalltime);
} else {
$xfer += $input->skip($ftype);
}
break;
case 17:
if ($ftype == TType::BOOL) {
$xfer += $input->readBool($this->editableByUser);
} 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('ApplicationDeploymentDescription');
if ($this->appDeploymentId !== null) {
$xfer += $output->writeFieldBegin('appDeploymentId', TType::STRING, 1);
$xfer += $output->writeString($this->appDeploymentId);
$xfer += $output->writeFieldEnd();
}
if ($this->appModuleId !== null) {
$xfer += $output->writeFieldBegin('appModuleId', TType::STRING, 2);
$xfer += $output->writeString($this->appModuleId);
$xfer += $output->writeFieldEnd();
}
if ($this->computeHostId !== null) {
$xfer += $output->writeFieldBegin('computeHostId', TType::STRING, 3);
$xfer += $output->writeString($this->computeHostId);
$xfer += $output->writeFieldEnd();
}
if ($this->executablePath !== null) {
$xfer += $output->writeFieldBegin('executablePath', TType::STRING, 4);
$xfer += $output->writeString($this->executablePath);
$xfer += $output->writeFieldEnd();
}
if ($this->parallelism !== null) {
$xfer += $output->writeFieldBegin('parallelism', TType::I32, 5);
$xfer += $output->writeI32($this->parallelism);
$xfer += $output->writeFieldEnd();
}
if ($this->appDeploymentDescription !== null) {
$xfer += $output->writeFieldBegin('appDeploymentDescription', TType::STRING, 6);
$xfer += $output->writeString($this->appDeploymentDescription);
$xfer += $output->writeFieldEnd();
}
if ($this->moduleLoadCmds !== null) {
if (!is_array($this->moduleLoadCmds)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('moduleLoadCmds', TType::LST, 7);
{
$output->writeListBegin(TType::STRUCT, count($this->moduleLoadCmds));
{
foreach ($this->moduleLoadCmds as $iter36)
{
$xfer += $iter36->write($output);
}
}
$output->writeListEnd();
}
$xfer += $output->writeFieldEnd();
}
if ($this->libPrependPaths !== null) {
if (!is_array($this->libPrependPaths)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('libPrependPaths', TType::LST, 8);
{
$output->writeListBegin(TType::STRUCT, count($this->libPrependPaths));
{
foreach ($this->libPrependPaths as $iter37)
{
$xfer += $iter37->write($output);
}
}
$output->writeListEnd();
}
$xfer += $output->writeFieldEnd();
}
if ($this->libAppendPaths !== null) {
if (!is_array($this->libAppendPaths)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('libAppendPaths', TType::LST, 9);
{
$output->writeListBegin(TType::STRUCT, count($this->libAppendPaths));
{
foreach ($this->libAppendPaths as $iter38)
{
$xfer += $iter38->write($output);
}
}
$output->writeListEnd();
}
$xfer += $output->writeFieldEnd();
}
if ($this->setEnvironment !== null) {
if (!is_array($this->setEnvironment)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('setEnvironment', TType::LST, 10);
{
$output->writeListBegin(TType::STRUCT, count($this->setEnvironment));
{
foreach ($this->setEnvironment as $iter39)
{
$xfer += $iter39->write($output);
}
}
$output->writeListEnd();
}
$xfer += $output->writeFieldEnd();
}
if ($this->preJobCommands !== null) {
if (!is_array($this->preJobCommands)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('preJobCommands', TType::LST, 11);
{
$output->writeListBegin(TType::STRUCT, count($this->preJobCommands));
{
foreach ($this->preJobCommands as $iter40)
{
$xfer += $iter40->write($output);
}
}
$output->writeListEnd();
}
$xfer += $output->writeFieldEnd();
}
if ($this->postJobCommands !== null) {
if (!is_array($this->postJobCommands)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('postJobCommands', TType::LST, 12);
{
$output->writeListBegin(TType::STRUCT, count($this->postJobCommands));
{
foreach ($this->postJobCommands as $iter41)
{
$xfer += $iter41->write($output);
}
}
$output->writeListEnd();
}
$xfer += $output->writeFieldEnd();
}
if ($this->defaultQueueName !== null) {
$xfer += $output->writeFieldBegin('defaultQueueName', TType::STRING, 13);
$xfer += $output->writeString($this->defaultQueueName);
$xfer += $output->writeFieldEnd();
}
if ($this->defaultNodeCount !== null) {
$xfer += $output->writeFieldBegin('defaultNodeCount', TType::I32, 14);
$xfer += $output->writeI32($this->defaultNodeCount);
$xfer += $output->writeFieldEnd();
}
if ($this->defaultCPUCount !== null) {
$xfer += $output->writeFieldBegin('defaultCPUCount', TType::I32, 15);
$xfer += $output->writeI32($this->defaultCPUCount);
$xfer += $output->writeFieldEnd();
}
if ($this->defaultWalltime !== null) {
$xfer += $output->writeFieldBegin('defaultWalltime', TType::I32, 16);
$xfer += $output->writeI32($this->defaultWalltime);
$xfer += $output->writeFieldEnd();
}
if ($this->editableByUser !== null) {
$xfer += $output->writeFieldBegin('editableByUser', TType::BOOL, 17);
$xfer += $output->writeBool($this->editableByUser);
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}
}