blob: ed1a4f83b2559c46a2564f08dcc4835eb09b8074 [file] [log] [blame]
<?php
namespace Airavata\Model\AppCatalog\StorageResource;
/**
* 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;
/**
* Storage Resource Description
*
* storageResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource.
*
* hostName:
* Fully Qualified Host Name.
*
* storageResourceDescription:
* A user friendly description of the resource.
*
*
* DataMovementProtocol:
* Option to specify a prefered data movement mechanism of the available options.
*
*
*/
class StorageResourceDescription {
static $_TSPEC;
/**
* @var string
*/
public $storageResourceId = "DO_NOT_SET_AT_CLIENTS";
/**
* @var string
*/
public $hostName = null;
/**
* @var string
*/
public $storageResourceDescription = null;
/**
* @var bool
*/
public $enabled = null;
/**
* @var \Airavata\Model\Data\Movement\DataMovementInterface[]
*/
public $dataMovementInterfaces = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
self::$_TSPEC = array(
1 => array(
'var' => 'storageResourceId',
'type' => TType::STRING,
),
2 => array(
'var' => 'hostName',
'type' => TType::STRING,
),
3 => array(
'var' => 'storageResourceDescription',
'type' => TType::STRING,
),
4 => array(
'var' => 'enabled',
'type' => TType::BOOL,
),
5 => array(
'var' => 'dataMovementInterfaces',
'type' => TType::LST,
'etype' => TType::STRUCT,
'elem' => array(
'type' => TType::STRUCT,
'class' => '\Airavata\Model\Data\Movement\DataMovementInterface',
),
),
);
}
if (is_array($vals)) {
if (isset($vals['storageResourceId'])) {
$this->storageResourceId = $vals['storageResourceId'];
}
if (isset($vals['hostName'])) {
$this->hostName = $vals['hostName'];
}
if (isset($vals['storageResourceDescription'])) {
$this->storageResourceDescription = $vals['storageResourceDescription'];
}
if (isset($vals['enabled'])) {
$this->enabled = $vals['enabled'];
}
if (isset($vals['dataMovementInterfaces'])) {
$this->dataMovementInterfaces = $vals['dataMovementInterfaces'];
}
}
}
public function getName() {
return 'StorageResourceDescription';
}
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->storageResourceId);
} else {
$xfer += $input->skip($ftype);
}
break;
case 2:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->hostName);
} else {
$xfer += $input->skip($ftype);
}
break;
case 3:
if ($ftype == TType::STRING) {
$xfer += $input->readString($this->storageResourceDescription);
} else {
$xfer += $input->skip($ftype);
}
break;
case 4:
if ($ftype == TType::BOOL) {
$xfer += $input->readBool($this->enabled);
} else {
$xfer += $input->skip($ftype);
}
break;
case 5:
if ($ftype == TType::LST) {
$this->dataMovementInterfaces = array();
$_size0 = 0;
$_etype3 = 0;
$xfer += $input->readListBegin($_etype3, $_size0);
for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
{
$elem5 = null;
$elem5 = new \Airavata\Model\Data\Movement\DataMovementInterface();
$xfer += $elem5->read($input);
$this->dataMovementInterfaces []= $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('StorageResourceDescription');
if ($this->storageResourceId !== null) {
$xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 1);
$xfer += $output->writeString($this->storageResourceId);
$xfer += $output->writeFieldEnd();
}
if ($this->hostName !== null) {
$xfer += $output->writeFieldBegin('hostName', TType::STRING, 2);
$xfer += $output->writeString($this->hostName);
$xfer += $output->writeFieldEnd();
}
if ($this->storageResourceDescription !== null) {
$xfer += $output->writeFieldBegin('storageResourceDescription', TType::STRING, 3);
$xfer += $output->writeString($this->storageResourceDescription);
$xfer += $output->writeFieldEnd();
}
if ($this->enabled !== null) {
$xfer += $output->writeFieldBegin('enabled', TType::BOOL, 4);
$xfer += $output->writeBool($this->enabled);
$xfer += $output->writeFieldEnd();
}
if ($this->dataMovementInterfaces !== null) {
if (!is_array($this->dataMovementInterfaces)) {
throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
}
$xfer += $output->writeFieldBegin('dataMovementInterfaces', TType::LST, 5);
{
$output->writeListBegin(TType::STRUCT, count($this->dataMovementInterfaces));
{
foreach ($this->dataMovementInterfaces as $iter6)
{
$xfer += $iter6->write($output);
}
}
$output->writeListEnd();
}
$xfer += $output->writeFieldEnd();
}
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
}
}