Return-Path: X-Original-To: apmail-airavata-commits-archive@www.apache.org Delivered-To: apmail-airavata-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BBA6111B90 for ; Tue, 1 Jul 2014 03:01:53 +0000 (UTC) Received: (qmail 24051 invoked by uid 500); 1 Jul 2014 03:01:53 -0000 Delivered-To: apmail-airavata-commits-archive@airavata.apache.org Received: (qmail 23936 invoked by uid 500); 1 Jul 2014 03:01:52 -0000 Mailing-List: contact commits-help@airavata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@airavata.apache.org Delivered-To: mailing list commits@airavata.apache.org Received: (qmail 23926 invoked by uid 99); 1 Jul 2014 03:01:52 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Jul 2014 03:01:52 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 3A3E59906AA; Tue, 1 Jul 2014 03:01:50 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: smarru@apache.org To: commits@airavata.apache.org Date: Tue, 01 Jul 2014 03:01:51 -0000 Message-Id: In-Reply-To: <852a8ca7e6774965bb78318eb7334c89@git.apache.org> References: <852a8ca7e6774965bb78318eb7334c89@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [03/14] moving php command line samples and pointing to airavata sdk - AIRAVATA-1274 http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php new file mode 100644 index 0000000..35e0f2c --- /dev/null +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/ComputeHost/Types.php @@ -0,0 +1,1262 @@ + 'FORK', + 1 => 'PBS', + 2 => 'UGE', + 3 => 'SLURM', + ); +} + +final class JobSubmissionProtocol { + const SSH = 0; + const GSISSH = 1; + const GRAM = 2; + const UNICORE = 3; + static public $__names = array( + 0 => 'SSH', + 1 => 'GSISSH', + 2 => 'GRAM', + 3 => 'UNICORE', + ); +} + +final class DataMovementProtocol { + const SCP = 0; + const SFTP = 1; + const GridFTP = 2; + const UNICORE_STORAGE_SERVICE = 3; + static public $__names = array( + 0 => 'SCP', + 1 => 'SFTP', + 2 => 'GridFTP', + 3 => 'UNICORE_STORAGE_SERVICE', + ); +} + +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', + ); +} + +class SCPDataMovement { + static $_TSPEC; + + public $dataMovementDataID = "DO_NOT_SET_AT_CLIENTS"; + public $securityProtocol = null; + public $sshPort = 22; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'dataMovementDataID', + 'type' => TType::STRING, + ), + 2 => array( + 'var' => 'securityProtocol', + 'type' => TType::I32, + ), + 3 => array( + 'var' => 'sshPort', + 'type' => TType::I32, + ), + ); + } + if (is_array($vals)) { + if (isset($vals['dataMovementDataID'])) { + $this->dataMovementDataID = $vals['dataMovementDataID']; + } + if (isset($vals['securityProtocol'])) { + $this->securityProtocol = $vals['securityProtocol']; + } + 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->dataMovementDataID); + } 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->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->dataMovementDataID !== null) { + $xfer += $output->writeFieldBegin('dataMovementDataID', TType::STRING, 1); + $xfer += $output->writeString($this->dataMovementDataID); + $xfer += $output->writeFieldEnd(); + } + if ($this->securityProtocol !== null) { + $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2); + $xfer += $output->writeI32($this->securityProtocol); + $xfer += $output->writeFieldEnd(); + } + if ($this->sshPort !== null) { + $xfer += $output->writeFieldBegin('sshPort', TType::I32, 3); + $xfer += $output->writeI32($this->sshPort); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class GridFTPDataMovement { + static $_TSPEC; + + public $dataMovementDataID = "DO_NOT_SET_AT_CLIENTS"; + public $securityProtocol = null; + public $gridFTPEndPoint = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'dataMovementDataID', + 'type' => TType::STRING, + ), + 2 => array( + 'var' => 'securityProtocol', + 'type' => TType::I32, + ), + 3 => array( + 'var' => 'gridFTPEndPoint', + 'type' => TType::LST, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + ); + } + if (is_array($vals)) { + if (isset($vals['dataMovementDataID'])) { + $this->dataMovementDataID = $vals['dataMovementDataID']; + } + if (isset($vals['securityProtocol'])) { + $this->securityProtocol = $vals['securityProtocol']; + } + if (isset($vals['gridFTPEndPoint'])) { + $this->gridFTPEndPoint = $vals['gridFTPEndPoint']; + } + } + } + + 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->dataMovementDataID); + } 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->gridFTPEndPoint = array(); + $_size0 = 0; + $_etype3 = 0; + $xfer += $input->readListBegin($_etype3, $_size0); + for ($_i4 = 0; $_i4 < $_size0; ++$_i4) + { + $elem5 = null; + $xfer += $input->readString($elem5); + $this->gridFTPEndPoint []= $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->dataMovementDataID !== null) { + $xfer += $output->writeFieldBegin('dataMovementDataID', TType::STRING, 1); + $xfer += $output->writeString($this->dataMovementDataID); + $xfer += $output->writeFieldEnd(); + } + if ($this->securityProtocol !== null) { + $xfer += $output->writeFieldBegin('securityProtocol', TType::I32, 2); + $xfer += $output->writeI32($this->securityProtocol); + $xfer += $output->writeFieldEnd(); + } + if ($this->gridFTPEndPoint !== null) { + if (!is_array($this->gridFTPEndPoint)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('gridFTPEndPoint', TType::LST, 3); + { + $output->writeListBegin(TType::STRING, count($this->gridFTPEndPoint)); + { + foreach ($this->gridFTPEndPoint as $iter6) + { + $xfer += $output->writeString($iter6); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class SSHJobSubmission { + static $_TSPEC; + + public $jobSubmissionDataID = "DO_NOT_SET_AT_CLIENTS"; + public $resourceJobManager = null; + public $sshPort = 22; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'jobSubmissionDataID', + 'type' => TType::STRING, + ), + 2 => array( + 'var' => 'resourceJobManager', + 'type' => TType::I32, + ), + 3 => array( + 'var' => 'sshPort', + 'type' => TType::I32, + ), + ); + } + if (is_array($vals)) { + if (isset($vals['jobSubmissionDataID'])) { + $this->jobSubmissionDataID = $vals['jobSubmissionDataID']; + } + if (isset($vals['resourceJobManager'])) { + $this->resourceJobManager = $vals['resourceJobManager']; + } + if (isset($vals['sshPort'])) { + $this->sshPort = $vals['sshPort']; + } + } + } + + 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->jobSubmissionDataID); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->resourceJobManager); + } else { + $xfer += $input->skip($ftype); + } + break; + case 3: + 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('SSHJobSubmission'); + if ($this->jobSubmissionDataID !== null) { + $xfer += $output->writeFieldBegin('jobSubmissionDataID', TType::STRING, 1); + $xfer += $output->writeString($this->jobSubmissionDataID); + $xfer += $output->writeFieldEnd(); + } + if ($this->resourceJobManager !== null) { + $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 2); + $xfer += $output->writeI32($this->resourceJobManager); + $xfer += $output->writeFieldEnd(); + } + if ($this->sshPort !== null) { + $xfer += $output->writeFieldBegin('sshPort', TType::I32, 3); + $xfer += $output->writeI32($this->sshPort); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class GlobusJobSubmission { + static $_TSPEC; + + public $jobSubmissionDataID = "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' => 'jobSubmissionDataID', + '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['jobSubmissionDataID'])) { + $this->jobSubmissionDataID = $vals['jobSubmissionDataID']; + } + 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->jobSubmissionDataID); + } 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->jobSubmissionDataID !== null) { + $xfer += $output->writeFieldBegin('jobSubmissionDataID', TType::STRING, 1); + $xfer += $output->writeString($this->jobSubmissionDataID); + $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 GSISSHJobSubmission { + static $_TSPEC; + + public $jobSubmissionDataID = "DO_NOT_SET_AT_CLIENTS"; + public $resourceJobManager = null; + public $sshPort = 22; + public $exports = null; + public $preJobCommands = null; + public $postJobCommands = null; + public $installedPath = null; + public $monitorMode = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'jobSubmissionDataID', + 'type' => TType::STRING, + ), + 2 => array( + 'var' => 'resourceJobManager', + 'type' => TType::I32, + ), + 3 => array( + 'var' => 'sshPort', + 'type' => TType::I32, + ), + 4 => array( + 'var' => 'exports', + 'type' => TType::SET, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + 5 => array( + 'var' => 'preJobCommands', + 'type' => TType::LST, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + 6 => array( + 'var' => 'postJobCommands', + 'type' => TType::LST, + 'etype' => TType::STRING, + 'elem' => array( + 'type' => TType::STRING, + ), + ), + 7 => array( + 'var' => 'installedPath', + 'type' => TType::STRING, + ), + 8 => array( + 'var' => 'monitorMode', + 'type' => TType::STRING, + ), + ); + } + if (is_array($vals)) { + if (isset($vals['jobSubmissionDataID'])) { + $this->jobSubmissionDataID = $vals['jobSubmissionDataID']; + } + if (isset($vals['resourceJobManager'])) { + $this->resourceJobManager = $vals['resourceJobManager']; + } + if (isset($vals['sshPort'])) { + $this->sshPort = $vals['sshPort']; + } + if (isset($vals['exports'])) { + $this->exports = $vals['exports']; + } + if (isset($vals['preJobCommands'])) { + $this->preJobCommands = $vals['preJobCommands']; + } + if (isset($vals['postJobCommands'])) { + $this->postJobCommands = $vals['postJobCommands']; + } + if (isset($vals['installedPath'])) { + $this->installedPath = $vals['installedPath']; + } + if (isset($vals['monitorMode'])) { + $this->monitorMode = $vals['monitorMode']; + } + } + } + + public function getName() { + return 'GSISSHJobSubmission'; + } + + 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->jobSubmissionDataID); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->resourceJobManager); + } else { + $xfer += $input->skip($ftype); + } + break; + case 3: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->sshPort); + } else { + $xfer += $input->skip($ftype); + } + break; + case 4: + if ($ftype == TType::SET) { + $this->exports = 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->exports[$elem19] = true; + } else { + $this->exports []= $elem19; + } + } + $xfer += $input->readSetEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 5: + if ($ftype == TType::LST) { + $this->preJobCommands = array(); + $_size20 = 0; + $_etype23 = 0; + $xfer += $input->readListBegin($_etype23, $_size20); + for ($_i24 = 0; $_i24 < $_size20; ++$_i24) + { + $elem25 = null; + $xfer += $input->readString($elem25); + $this->preJobCommands []= $elem25; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 6: + if ($ftype == TType::LST) { + $this->postJobCommands = array(); + $_size26 = 0; + $_etype29 = 0; + $xfer += $input->readListBegin($_etype29, $_size26); + for ($_i30 = 0; $_i30 < $_size26; ++$_i30) + { + $elem31 = null; + $xfer += $input->readString($elem31); + $this->postJobCommands []= $elem31; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 7: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->installedPath); + } else { + $xfer += $input->skip($ftype); + } + break; + case 8: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->monitorMode); + } 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('GSISSHJobSubmission'); + if ($this->jobSubmissionDataID !== null) { + $xfer += $output->writeFieldBegin('jobSubmissionDataID', TType::STRING, 1); + $xfer += $output->writeString($this->jobSubmissionDataID); + $xfer += $output->writeFieldEnd(); + } + if ($this->resourceJobManager !== null) { + $xfer += $output->writeFieldBegin('resourceJobManager', TType::I32, 2); + $xfer += $output->writeI32($this->resourceJobManager); + $xfer += $output->writeFieldEnd(); + } + if ($this->sshPort !== null) { + $xfer += $output->writeFieldBegin('sshPort', TType::I32, 3); + $xfer += $output->writeI32($this->sshPort); + $xfer += $output->writeFieldEnd(); + } + if ($this->exports !== null) { + if (!is_array($this->exports)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('exports', TType::SET, 4); + { + $output->writeSetBegin(TType::STRING, count($this->exports)); + { + foreach ($this->exports as $iter32 => $iter33) + { + if (is_scalar($iter33)) { + $xfer += $output->writeString($iter32); + } else { + $xfer += $output->writeString($iter33); + } + } + } + $output->writeSetEnd(); + } + $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, 5); + { + $output->writeListBegin(TType::STRING, count($this->preJobCommands)); + { + foreach ($this->preJobCommands as $iter34) + { + $xfer += $output->writeString($iter34); + } + } + $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, 6); + { + $output->writeListBegin(TType::STRING, count($this->postJobCommands)); + { + foreach ($this->postJobCommands as $iter35) + { + $xfer += $output->writeString($iter35); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->installedPath !== null) { + $xfer += $output->writeFieldBegin('installedPath', TType::STRING, 7); + $xfer += $output->writeString($this->installedPath); + $xfer += $output->writeFieldEnd(); + } + if ($this->monitorMode !== null) { + $xfer += $output->writeFieldBegin('monitorMode', TType::STRING, 8); + $xfer += $output->writeString($this->monitorMode); + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +class ComputeResourceDescription { + static $_TSPEC; + + public $isEmpty = false; + public $resourceId = "DO_NOT_SET_AT_CLIENTS"; + public $hostName = null; + public $hostAliases = null; + public $ipAddresses = null; + public $resourceDescription = null; + public $preferredJobSubmissionProtocol = null; + public $jobSubmissionProtocols = null; + public $dataMovementProtocols = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'isEmpty', + 'type' => TType::BOOL, + ), + 2 => array( + 'var' => 'resourceId', + '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' => 'resourceDescription', + 'type' => TType::STRING, + ), + 8 => array( + 'var' => 'preferredJobSubmissionProtocol', + 'type' => TType::STRING, + ), + 9 => array( + 'var' => 'jobSubmissionProtocols', + 'type' => TType::MAP, + 'ktype' => TType::STRING, + 'vtype' => TType::I32, + 'key' => array( + 'type' => TType::STRING, + ), + 'val' => array( + 'type' => TType::I32, + ), + ), + 10 => array( + 'var' => 'dataMovementProtocols', + 'type' => TType::MAP, + 'ktype' => TType::STRING, + 'vtype' => TType::I32, + 'key' => array( + 'type' => TType::STRING, + ), + 'val' => array( + 'type' => TType::I32, + ), + ), + ); + } + if (is_array($vals)) { + if (isset($vals['isEmpty'])) { + $this->isEmpty = $vals['isEmpty']; + } + if (isset($vals['resourceId'])) { + $this->resourceId = $vals['resourceId']; + } + 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['resourceDescription'])) { + $this->resourceDescription = $vals['resourceDescription']; + } + if (isset($vals['preferredJobSubmissionProtocol'])) { + $this->preferredJobSubmissionProtocol = $vals['preferredJobSubmissionProtocol']; + } + if (isset($vals['jobSubmissionProtocols'])) { + $this->jobSubmissionProtocols = $vals['jobSubmissionProtocols']; + } + if (isset($vals['dataMovementProtocols'])) { + $this->dataMovementProtocols = $vals['dataMovementProtocols']; + } + } + } + + 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->resourceId); + } 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(); + $_size36 = 0; + $_etype39 = 0; + $xfer += $input->readSetBegin($_etype39, $_size36); + for ($_i40 = 0; $_i40 < $_size36; ++$_i40) + { + $elem41 = null; + $xfer += $input->readString($elem41); + if (is_scalar($elem41)) { + $this->hostAliases[$elem41] = true; + } else { + $this->hostAliases []= $elem41; + } + } + $xfer += $input->readSetEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 5: + if ($ftype == TType::SET) { + $this->ipAddresses = array(); + $_size42 = 0; + $_etype45 = 0; + $xfer += $input->readSetBegin($_etype45, $_size42); + for ($_i46 = 0; $_i46 < $_size42; ++$_i46) + { + $elem47 = null; + $xfer += $input->readString($elem47); + if (is_scalar($elem47)) { + $this->ipAddresses[$elem47] = true; + } else { + $this->ipAddresses []= $elem47; + } + } + $xfer += $input->readSetEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 6: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->resourceDescription); + } else { + $xfer += $input->skip($ftype); + } + break; + case 8: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->preferredJobSubmissionProtocol); + } else { + $xfer += $input->skip($ftype); + } + break; + case 9: + if ($ftype == TType::MAP) { + $this->jobSubmissionProtocols = array(); + $_size48 = 0; + $_ktype49 = 0; + $_vtype50 = 0; + $xfer += $input->readMapBegin($_ktype49, $_vtype50, $_size48); + for ($_i52 = 0; $_i52 < $_size48; ++$_i52) + { + $key53 = ''; + $val54 = 0; + $xfer += $input->readString($key53); + $xfer += $input->readI32($val54); + $this->jobSubmissionProtocols[$key53] = $val54; + } + $xfer += $input->readMapEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 10: + if ($ftype == TType::MAP) { + $this->dataMovementProtocols = array(); + $_size55 = 0; + $_ktype56 = 0; + $_vtype57 = 0; + $xfer += $input->readMapBegin($_ktype56, $_vtype57, $_size55); + for ($_i59 = 0; $_i59 < $_size55; ++$_i59) + { + $key60 = ''; + $val61 = 0; + $xfer += $input->readString($key60); + $xfer += $input->readI32($val61); + $this->dataMovementProtocols[$key60] = $val61; + } + $xfer += $input->readMapEnd(); + } 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->resourceId !== null) { + $xfer += $output->writeFieldBegin('resourceId', TType::STRING, 2); + $xfer += $output->writeString($this->resourceId); + $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 $iter62 => $iter63) + { + if (is_scalar($iter63)) { + $xfer += $output->writeString($iter62); + } else { + $xfer += $output->writeString($iter63); + } + } + } + $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 $iter64 => $iter65) + { + if (is_scalar($iter65)) { + $xfer += $output->writeString($iter64); + } else { + $xfer += $output->writeString($iter65); + } + } + } + $output->writeSetEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->resourceDescription !== null) { + $xfer += $output->writeFieldBegin('resourceDescription', TType::STRING, 6); + $xfer += $output->writeString($this->resourceDescription); + $xfer += $output->writeFieldEnd(); + } + if ($this->preferredJobSubmissionProtocol !== null) { + $xfer += $output->writeFieldBegin('preferredJobSubmissionProtocol', TType::STRING, 8); + $xfer += $output->writeString($this->preferredJobSubmissionProtocol); + $xfer += $output->writeFieldEnd(); + } + if ($this->jobSubmissionProtocols !== null) { + if (!is_array($this->jobSubmissionProtocols)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('jobSubmissionProtocols', TType::MAP, 9); + { + $output->writeMapBegin(TType::STRING, TType::I32, count($this->jobSubmissionProtocols)); + { + foreach ($this->jobSubmissionProtocols as $kiter66 => $viter67) + { + $xfer += $output->writeString($kiter66); + $xfer += $output->writeI32($viter67); + } + } + $output->writeMapEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->dataMovementProtocols !== null) { + if (!is_array($this->dataMovementProtocols)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('dataMovementProtocols', TType::MAP, 10); + { + $output->writeMapBegin(TType::STRING, TType::I32, count($this->dataMovementProtocols)); + { + foreach ($this->dataMovementProtocols as $kiter68 => $viter69) + { + $xfer += $output->writeString($kiter68); + $xfer += $output->writeI32($viter69); + } + } + $output->writeMapEnd(); + } + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +$GLOBALS['computeHostModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS"; + + http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java new file mode 100644 index 0000000..b5e96b6 --- /dev/null +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidationResults.java @@ -0,0 +1,543 @@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Autogenerated by Thrift Compiler (0.9.1) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.model.workspace.experiment; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +@SuppressWarnings("all") public class ValidationResults implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults"); + + private static final org.apache.thrift.protocol.TField VALIDATION_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("validationState", org.apache.thrift.protocol.TType.BOOL, (short)1); + private static final org.apache.thrift.protocol.TField VALIDATION_RESULT_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("validationResultList", org.apache.thrift.protocol.TType.LIST, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ValidationResultsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ValidationResultsTupleSchemeFactory()); + } + + private boolean validationState; // required + private List validationResultList; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum { + VALIDATION_STATE((short)1, "validationState"), + VALIDATION_RESULT_LIST((short)2, "validationResultList"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // VALIDATION_STATE + return VALIDATION_STATE; + case 2: // VALIDATION_RESULT_LIST + return VALIDATION_RESULT_LIST; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __VALIDATIONSTATE_ISSET_ID = 0; + private byte __isset_bitfield = 0; + 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); + tmpMap.put(_Fields.VALIDATION_STATE, new org.apache.thrift.meta_data.FieldMetaData("validationState", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.VALIDATION_RESULT_LIST, new org.apache.thrift.meta_data.FieldMetaData("validationResultList", org.apache.thrift.TFieldRequirementType.REQUIRED, + 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, ValidatorResult.class)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ValidationResults.class, metaDataMap); + } + + public ValidationResults() { + } + + public ValidationResults( + boolean validationState, + List validationResultList) + { + this(); + this.validationState = validationState; + setValidationStateIsSet(true); + this.validationResultList = validationResultList; + } + + /** + * Performs a deep copy on other. + */ + public ValidationResults(ValidationResults other) { + __isset_bitfield = other.__isset_bitfield; + this.validationState = other.validationState; + if (other.isSetValidationResultList()) { + List __this__validationResultList = new ArrayList(other.validationResultList.size()); + for (ValidatorResult other_element : other.validationResultList) { + __this__validationResultList.add(new ValidatorResult(other_element)); + } + this.validationResultList = __this__validationResultList; + } + } + + public ValidationResults deepCopy() { + return new ValidationResults(this); + } + + @Override + public void clear() { + setValidationStateIsSet(false); + this.validationState = false; + this.validationResultList = null; + } + + public boolean isValidationState() { + return this.validationState; + } + + public void setValidationState(boolean validationState) { + this.validationState = validationState; + setValidationStateIsSet(true); + } + + public void unsetValidationState() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID); + } + + /** Returns true if field validationState is set (has been assigned a value) and false otherwise */ + public boolean isSetValidationState() { + return EncodingUtils.testBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID); + } + + public void setValidationStateIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __VALIDATIONSTATE_ISSET_ID, value); + } + + public int getValidationResultListSize() { + return (this.validationResultList == null) ? 0 : this.validationResultList.size(); + } + + public java.util.Iterator getValidationResultListIterator() { + return (this.validationResultList == null) ? null : this.validationResultList.iterator(); + } + + public void addToValidationResultList(ValidatorResult elem) { + if (this.validationResultList == null) { + this.validationResultList = new ArrayList(); + } + this.validationResultList.add(elem); + } + + public List getValidationResultList() { + return this.validationResultList; + } + + public void setValidationResultList(List validationResultList) { + this.validationResultList = validationResultList; + } + + public void unsetValidationResultList() { + this.validationResultList = null; + } + + /** Returns true if field validationResultList is set (has been assigned a value) and false otherwise */ + public boolean isSetValidationResultList() { + return this.validationResultList != null; + } + + public void setValidationResultListIsSet(boolean value) { + if (!value) { + this.validationResultList = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case VALIDATION_STATE: + if (value == null) { + unsetValidationState(); + } else { + setValidationState((Boolean)value); + } + break; + + case VALIDATION_RESULT_LIST: + if (value == null) { + unsetValidationResultList(); + } else { + setValidationResultList((List)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case VALIDATION_STATE: + return Boolean.valueOf(isValidationState()); + + case VALIDATION_RESULT_LIST: + return getValidationResultList(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case VALIDATION_STATE: + return isSetValidationState(); + case VALIDATION_RESULT_LIST: + return isSetValidationResultList(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof ValidationResults) + return this.equals((ValidationResults)that); + return false; + } + + public boolean equals(ValidationResults that) { + if (that == null) + return false; + + boolean this_present_validationState = true; + boolean that_present_validationState = true; + if (this_present_validationState || that_present_validationState) { + if (!(this_present_validationState && that_present_validationState)) + return false; + if (this.validationState != that.validationState) + return false; + } + + boolean this_present_validationResultList = true && this.isSetValidationResultList(); + boolean that_present_validationResultList = true && that.isSetValidationResultList(); + if (this_present_validationResultList || that_present_validationResultList) { + if (!(this_present_validationResultList && that_present_validationResultList)) + return false; + if (!this.validationResultList.equals(that.validationResultList)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(ValidationResults other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetValidationState()).compareTo(other.isSetValidationState()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetValidationState()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validationState, other.validationState); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetValidationResultList()).compareTo(other.isSetValidationResultList()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetValidationResultList()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.validationResultList, other.validationResultList); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("ValidationResults("); + boolean first = true; + + sb.append("validationState:"); + sb.append(this.validationState); + first = false; + if (!first) sb.append(", "); + sb.append("validationResultList:"); + if (this.validationResultList == null) { + sb.append("null"); + } else { + sb.append(this.validationResultList); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!isSetValidationState()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'validationState' is unset! Struct:" + toString()); + } + + if (!isSetValidationResultList()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'validationResultList' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class ValidationResultsStandardSchemeFactory implements SchemeFactory { + public ValidationResultsStandardScheme getScheme() { + return new ValidationResultsStandardScheme(); + } + } + + private static class ValidationResultsStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ValidationResults struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // VALIDATION_STATE + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.validationState = iprot.readBool(); + struct.setValidationStateIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // VALIDATION_RESULT_LIST + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list88 = iprot.readListBegin(); + struct.validationResultList = new ArrayList(_list88.size); + for (int _i89 = 0; _i89 < _list88.size; ++_i89) + { + ValidatorResult _elem90; + _elem90 = new ValidatorResult(); + _elem90.read(iprot); + struct.validationResultList.add(_elem90); + } + iprot.readListEnd(); + } + struct.setValidationResultListIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ValidationResults struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(VALIDATION_STATE_FIELD_DESC); + oprot.writeBool(struct.validationState); + oprot.writeFieldEnd(); + if (struct.validationResultList != null) { + oprot.writeFieldBegin(VALIDATION_RESULT_LIST_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.validationResultList.size())); + for (ValidatorResult _iter91 : struct.validationResultList) + { + _iter91.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ValidationResultsTupleSchemeFactory implements SchemeFactory { + public ValidationResultsTupleScheme getScheme() { + return new ValidationResultsTupleScheme(); + } + } + + private static class ValidationResultsTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ValidationResults struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBool(struct.validationState); + { + oprot.writeI32(struct.validationResultList.size()); + for (ValidatorResult _iter92 : struct.validationResultList) + { + _iter92.write(oprot); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ValidationResults struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.validationState = iprot.readBool(); + struct.setValidationStateIsSet(true); + { + org.apache.thrift.protocol.TList _list93 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.validationResultList = new ArrayList(_list93.size); + for (int _i94 = 0; _i94 < _list93.size; ++_i94) + { + ValidatorResult _elem95; + _elem95 = new ValidatorResult(); + _elem95.read(iprot); + struct.validationResultList.add(_elem95); + } + } + struct.setValidationResultListIsSet(true); + } + } + +} + http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java new file mode 100644 index 0000000..8736761 --- /dev/null +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/experiment/ValidatorResult.java @@ -0,0 +1,505 @@ + /* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Autogenerated by Thrift Compiler (0.9.1) + * + * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING + * @generated + */ +package org.apache.airavata.model.workspace.experiment; + +import org.apache.thrift.scheme.IScheme; +import org.apache.thrift.scheme.SchemeFactory; +import org.apache.thrift.scheme.StandardScheme; + +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This data structure can be used to store the validation results + * captured during validation step and during the launchExperiment + * operation it can be easilly checked to see the errors occured + * during the experiment launch operation + * + */ +@SuppressWarnings("all") public class ValidatorResult implements org.apache.thrift.TBase, java.io.Serializable, Cloneable, Comparable { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult"); + + private static final org.apache.thrift.protocol.TField RESULT_FIELD_DESC = new org.apache.thrift.protocol.TField("result", org.apache.thrift.protocol.TType.BOOL, (short)1); + private static final org.apache.thrift.protocol.TField ERROR_DETAILS_FIELD_DESC = new org.apache.thrift.protocol.TField("errorDetails", org.apache.thrift.protocol.TType.STRING, (short)2); + + private static final Map, SchemeFactory> schemes = new HashMap, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new ValidatorResultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new ValidatorResultTupleSchemeFactory()); + } + + private boolean result; // required + private String errorDetails; // optional + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum { + RESULT((short)1, "result"), + ERROR_DETAILS((short)2, "errorDetails"); + + private static final Map byName = new HashMap(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // RESULT + return RESULT; + case 2: // ERROR_DETAILS + return ERROR_DETAILS; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __RESULT_ISSET_ID = 0; + private byte __isset_bitfield = 0; + private _Fields optionals[] = {_Fields.ERROR_DETAILS}; + 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); + tmpMap.put(_Fields.RESULT, new org.apache.thrift.meta_data.FieldMetaData("result", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.ERROR_DETAILS, new org.apache.thrift.meta_data.FieldMetaData("errorDetails", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ValidatorResult.class, metaDataMap); + } + + public ValidatorResult() { + } + + public ValidatorResult( + boolean result) + { + this(); + this.result = result; + setResultIsSet(true); + } + + /** + * Performs a deep copy on other. + */ + public ValidatorResult(ValidatorResult other) { + __isset_bitfield = other.__isset_bitfield; + this.result = other.result; + if (other.isSetErrorDetails()) { + this.errorDetails = other.errorDetails; + } + } + + public ValidatorResult deepCopy() { + return new ValidatorResult(this); + } + + @Override + public void clear() { + setResultIsSet(false); + this.result = false; + this.errorDetails = null; + } + + public boolean isResult() { + return this.result; + } + + public void setResult(boolean result) { + this.result = result; + setResultIsSet(true); + } + + public void unsetResult() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RESULT_ISSET_ID); + } + + /** Returns true if field result is set (has been assigned a value) and false otherwise */ + public boolean isSetResult() { + return EncodingUtils.testBit(__isset_bitfield, __RESULT_ISSET_ID); + } + + public void setResultIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RESULT_ISSET_ID, value); + } + + public String getErrorDetails() { + return this.errorDetails; + } + + public void setErrorDetails(String errorDetails) { + this.errorDetails = errorDetails; + } + + public void unsetErrorDetails() { + this.errorDetails = null; + } + + /** Returns true if field errorDetails is set (has been assigned a value) and false otherwise */ + public boolean isSetErrorDetails() { + return this.errorDetails != null; + } + + public void setErrorDetailsIsSet(boolean value) { + if (!value) { + this.errorDetails = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case RESULT: + if (value == null) { + unsetResult(); + } else { + setResult((Boolean)value); + } + break; + + case ERROR_DETAILS: + if (value == null) { + unsetErrorDetails(); + } else { + setErrorDetails((String)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case RESULT: + return Boolean.valueOf(isResult()); + + case ERROR_DETAILS: + return getErrorDetails(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case RESULT: + return isSetResult(); + case ERROR_DETAILS: + return isSetErrorDetails(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof ValidatorResult) + return this.equals((ValidatorResult)that); + return false; + } + + public boolean equals(ValidatorResult that) { + if (that == null) + return false; + + boolean this_present_result = true; + boolean that_present_result = true; + if (this_present_result || that_present_result) { + if (!(this_present_result && that_present_result)) + return false; + if (this.result != that.result) + return false; + } + + boolean this_present_errorDetails = true && this.isSetErrorDetails(); + boolean that_present_errorDetails = true && that.isSetErrorDetails(); + if (this_present_errorDetails || that_present_errorDetails) { + if (!(this_present_errorDetails && that_present_errorDetails)) + return false; + if (!this.errorDetails.equals(that.errorDetails)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + return 0; + } + + @Override + public int compareTo(ValidatorResult other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetResult()).compareTo(other.isSetResult()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetResult()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.result, other.result); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetErrorDetails()).compareTo(other.isSetErrorDetails()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetErrorDetails()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.errorDetails, other.errorDetails); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("ValidatorResult("); + boolean first = true; + + sb.append("result:"); + sb.append(this.result); + first = false; + if (isSetErrorDetails()) { + if (!first) sb.append(", "); + sb.append("errorDetails:"); + if (this.errorDetails == null) { + sb.append("null"); + } else { + sb.append(this.errorDetails); + } + first = false; + } + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (!isSetResult()) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'result' is unset! Struct:" + toString()); + } + + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class ValidatorResultStandardSchemeFactory implements SchemeFactory { + public ValidatorResultStandardScheme getScheme() { + return new ValidatorResultStandardScheme(); + } + } + + private static class ValidatorResultStandardScheme extends StandardScheme { + + public void read(org.apache.thrift.protocol.TProtocol iprot, ValidatorResult struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // RESULT + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.result = iprot.readBool(); + struct.setResultIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // ERROR_DETAILS + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.errorDetails = iprot.readString(); + struct.setErrorDetailsIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, ValidatorResult struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + oprot.writeFieldBegin(RESULT_FIELD_DESC); + oprot.writeBool(struct.result); + oprot.writeFieldEnd(); + if (struct.errorDetails != null) { + if (struct.isSetErrorDetails()) { + oprot.writeFieldBegin(ERROR_DETAILS_FIELD_DESC); + oprot.writeString(struct.errorDetails); + oprot.writeFieldEnd(); + } + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class ValidatorResultTupleSchemeFactory implements SchemeFactory { + public ValidatorResultTupleScheme getScheme() { + return new ValidatorResultTupleScheme(); + } + } + + private static class ValidatorResultTupleScheme extends TupleScheme { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, ValidatorResult struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeBool(struct.result); + BitSet optionals = new BitSet(); + if (struct.isSetErrorDetails()) { + optionals.set(0); + } + oprot.writeBitSet(optionals, 1); + if (struct.isSetErrorDetails()) { + oprot.writeString(struct.errorDetails); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, ValidatorResult struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.result = iprot.readBool(); + struct.setResultIsSet(true); + BitSet incoming = iprot.readBitSet(1); + if (incoming.get(0)) { + struct.errorDetails = iprot.readString(); + struct.setErrorDetailsIsSet(true); + } + } + } + +} + http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/generate-thrift-files.sh ---------------------------------------------------------------------- diff --git a/airavata-api/generate-thrift-files.sh b/airavata-api/generate-thrift-files.sh index ed989c4..c8c1f74 100755 --- a/airavata-api/generate-thrift-files.sh +++ b/airavata-api/generate-thrift-files.sh @@ -146,8 +146,6 @@ rm -rf ${JAVA_GEN_DIR} # The airavataAPI.thrift includes rest of data models. thrift ${THRIFT_ARGS} --gen java ${THRIFT_IDL_DIR}/airavataAPI.thrift || fail unable to generate java thrift classes on AiravataAPI -thrift ${THRIFT_ARGS} --gen java ${THRIFT_IDL_DIR}/applicationCatalogAPI.thrift || fail unable to generate java thrift classes on App Catalog API - # For the generated java classes add the ASF V2 License header add_license_header $JAVA_GEN_DIR http://git-wip-us.apache.org/repos/asf/airavata/blob/c09963aa/airavata-api/thrift-interface-descriptions/airavataAPI.thrift ---------------------------------------------------------------------- diff --git a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift index 7b2ec60..1bc8c99 100644 --- a/airavata-api/thrift-interface-descriptions/airavataAPI.thrift +++ b/airavata-api/thrift-interface-descriptions/airavataAPI.thrift @@ -28,7 +28,10 @@ include "airavataErrors.thrift" include "airavataDataModel.thrift" include "experimentModel.thrift" include "workspaceModel.thrift" -include "applicationCatalogAPI.thrift" +include "computeHostModel.thrift" +include "applicationDeploymentModel.thrift" +include "applicationInterfaceModel.thrift" +include "gatewayProfileModel.thrift" namespace java org.apache.airavata.api namespace php Airavata.API @@ -513,4 +516,87 @@ service Airavata { 2: airavataErrors.ExperimentNotFoundException enf, 3: airavataErrors.AiravataClientException ace, 4: airavataErrors.AiravataSystemException ase) -} + +/* + * API definitions for App Catalog related operations + * +*/ + +/* + * Application Module is a specific computational application. Many applications, particularly scientific applications + * are really a suite of applications or encompass an ecosystem. For instance, Amber is referred to dozens of binaries. + * WRF is referred for an ecosystem of applications. In this context, we refer to module as a single binary. + * + * Note: A module has to be defined before a deployment can be registered. . + * +*/ + + /** + * Register a Application Module. + * + * @param applicationModule + * Application Module Object created from the datamodel. + * + * @return appModuleId + * Returns a server-side generated airavata appModule globally unique identifier. + * + * + */ + string registerAppicationModule(1: required applicationDeploymentModel.ApplicationModule applicationModule) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.AiravataClientException ace, + 3: airavataErrors.AiravataSystemException ase) + + /** + * Fetch a Application Module. + * + * @param appModuleId + * The identifier for the requested application module + * + * @return applicationModule + * Returns a application Module Object. + * + * + */ + applicationDeploymentModel.ApplicationModule getAppicationModule(1: required string appModuleId) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.AiravataClientException ace, + 3: airavataErrors.AiravataSystemException ase) + + /** + * Update a Application Module. + * + * @param appModuleId + * The identifier for the requested application module to be updated. + * + * @param applicationModule + * Application Module Object created from the datamodel. + * + * @return status + * Returns a success/failure of the update. + * + * + */ + bool updateAppicationModule(1: required string appModuleId, + 2: required applicationDeploymentModel.ApplicationModule applicationModule) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.AiravataClientException ace, + 3: airavataErrors.AiravataSystemException ase) + + /** + * Delete a Application Module. + * + * @param appModuleId + * The identifier for the requested application module to be deleted. + * + * @return status + * Returns a success/failure of the deletion. + * + * + */ + bool deleteAppicationModule(1: required string appModuleId) + throws (1: airavataErrors.InvalidRequestException ire, + 2: airavataErrors.AiravataClientException ace, + 3: airavataErrors.AiravataSystemException ase) + +} \ No newline at end of file