http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php index de30884..7d26178 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Error/Types.php @@ -2,7 +2,7 @@ namespace Airavata\API\Error; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -17,6 +17,25 @@ use Thrift\Protocol\TBinaryProtocolAccelerated; use Thrift\Exception\TApplicationException; +/** + * A list of Airavata API Error Message Types + * + * UNKNOWN: No information available about the error + * + * PERMISSION_DENIED: Not permitted to perform action + * + * INTERNAL_ERROR: Unexpected problem with the service + * + * AUTHENTICATION_FAILURE: The client failed to authenticate. + * + * INVALID_AUTHORIZATION: Security Token and/or Username and/or password is incorrect + * + * AUTHORIZATION_EXPIRED: Authentication token expired + * + * UNKNOWN_GATEWAY_ID: The gateway is not registered with Airavata. + * + * UNSUPPORTED_OPERATION: Operation denied because it is currently unsupported. + */ final class AiravataErrorType { const UNKNOWN = 0; const PERMISSION_DENIED = 1; @@ -38,9 +57,19 @@ final class AiravataErrorType { ); } +/** + * This exception is thrown when a client asks to perform an operation on an experiment that does not exist. + * + * identifier: A description of the experiment that was not found on the server. + * + * key: The value passed from the client in the identifier, which was not found. + */ class ExperimentNotFoundException extends TException { static $_TSPEC; + /** + * @var string + */ public $message = null; public function __construct($vals=null) { @@ -110,9 +139,17 @@ class ExperimentNotFoundException extends TException { } +/** + * 1: optional string identifier, + * 2: optional string key + * + */ class ProjectNotFoundException extends TException { static $_TSPEC; + /** + * @var string + */ public $message = null; public function __construct($vals=null) { @@ -182,9 +219,18 @@ class ProjectNotFoundException extends TException { } +/** + * This exception is thrown for invalid requests that occur from any reasons like required input parameters are missing, + * or a parameter is malformed. + * + * message: contains the associated error message. + */ class InvalidRequestException extends TException { static $_TSPEC; + /** + * @var string + */ public $message = null; public function __construct($vals=null) { @@ -254,6 +300,9 @@ class InvalidRequestException extends TException { } +/** + * This exception is thrown when RPC timeout gets exceeded. + */ class TimedOutException extends TException { static $_TSPEC; @@ -304,9 +353,17 @@ class TimedOutException extends TException { } +/** + * This exception is thrown for invalid authentication requests. + * + * message: contains the cause of the authorization failure. + */ class AuthenticationException extends TException { static $_TSPEC; + /** + * @var string + */ public $message = null; public function __construct($vals=null) { @@ -376,9 +433,17 @@ class AuthenticationException extends TException { } +/** + * This exception is thrown for invalid authorization requests such user does not have acces to an aplication or resource. + * + * message: contains the authorization failure message + */ class AuthorizationException extends TException { static $_TSPEC; + /** + * @var string + */ public $message = null; public function __construct($vals=null) { @@ -448,10 +513,31 @@ class AuthorizationException extends TException { } +/** + * This exception is thrown by Airavata Services when a call fails as a result of + * a problem that a client may be able to resolve. For example, if the user + * attempts to execute an application on a resource gateway does not have access to. + * + * This exception would not be used for internal system errors that do not + * reflect user actions, but rather reflect a problem within the service that + * the client cannot resolve. + * + * airavataErrorType: The message type indicating the error that occurred. + * must be one of the values of AiravataErrorType. + * + * parameter: If the error applied to a particular input parameter, this will + * indicate which parameter. + */ class AiravataClientException extends TException { static $_TSPEC; + /** + * @var int + */ public $airavataErrorType = null; + /** + * @var string + */ public $parameter = null; public function __construct($vals=null) { @@ -543,7 +629,13 @@ class AiravataClientException extends TException { class ValidatorResult { static $_TSPEC; + /** + * @var bool + */ public $result = null; + /** + * @var string + */ public $errorDetails = null; public function __construct($vals=null) { @@ -635,7 +727,13 @@ class ValidatorResult { class ValidationResults { static $_TSPEC; + /** + * @var bool + */ public $validationState = null; + /** + * @var \Airavata\API\Error\ValidatorResult[] + */ public $validationResultList = null; public function __construct($vals=null) { @@ -755,7 +853,13 @@ class ValidationResults { class LaunchValidationException extends TException { static $_TSPEC; + /** + * @var \Airavata\API\Error\ValidationResults + */ public $validationResult = null; + /** + * @var string + */ public $errorMessage = null; public function __construct($vals=null) { @@ -849,10 +953,26 @@ class LaunchValidationException extends TException { } +/** + * This exception is thrown by Airavata Services when a call fails as a result of + * a problem in the service that could not be changed through client's action. + * + * airavataErrorType: The message type indicating the error that occurred. + * must be one of the values of AiravataErrorType. + * + * message: This may contain additional information about the error + * + */ class AiravataSystemException extends TException { static $_TSPEC; + /** + * @var int + */ public $airavataErrorType = null; + /** + * @var string + */ public $message = null; public function __construct($vals=null) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php index 481421f..7a574d4 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Types.php @@ -2,7 +2,7 @@ namespace Airavata\API; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -17,6 +17,26 @@ use Thrift\Protocol\TBinaryProtocolAccelerated; use Thrift\Exception\TApplicationException; -$GLOBALS['airavataAPI_CONSTANTS']['AIRAVATA_API_VERSION'] = "0.15.0"; +final class Constant extends \Thrift\Type\TConstant { + static protected $AIRAVATA_API_VERSION; + + static protected function init_AIRAVATA_API_VERSION() { + return /** + * Airavata Interface Versions depend upon this Thrift Interface File. When Making changes, please edit the + * Version Constants according to Semantic Versioning Specification (SemVer) http://semver.org. + * + * Note: The Airavata API version may be different from the Airavata software release versions. + * + * The Airavata API version is composed as a dot delimited string with major, minor, and patch level components. + * + * - Major: Incremented for backward incompatible changes. An example would be changes to interfaces. + * - Minor: Incremented for backward compatible changes. An example would be the addition of a new optional methods. + * - Patch: Incremented for bug fixes. The patch level should be increased for every edit that doesn't result + * in a change to major/minor version numbers. + * + */ +"0.15.0"; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php index f4bde8f..0b10708 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppDeployment/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\AppDeployment; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -17,6 +17,22 @@ use Thrift\Protocol\TBinaryProtocolAccelerated; use Thrift\Exception\TApplicationException; +/** + * Enumeration of application parallelism supported by Airavata + * + * SERIAL: + * Single processor applications without any parallelization. + * + * MPI: + * Messaging Passing Interface. + * + * OPENMP: + * Shared Memory Implementtaion. + * + * OPENMP_MPI: + * Hybrid Applications. + * + */ final class ApplicationParallelismType { const SERIAL = 0; const MPI = 1; @@ -30,10 +46,25 @@ final class ApplicationParallelismType { ); } +/** + * Key Value pairs to be used to set environments + * + * name: + * Name of the environment variable such as PATH, LD_LIBRARY_PATH, NETCDF_HOME. + * + * value: + * Value of the environment variable to set + */ class SetEnvPaths { static $_TSPEC; + /** + * @var string + */ public $name = null; + /** + * @var string + */ public $value = null; public function __construct($vals=null) { @@ -122,12 +153,39 @@ class SetEnvPaths { } +/** + * Application Module Information. A module has to be registered before registering a deployment. + * + * appModuleId: Airavata Internal Unique Job ID. This is set by the registry. + * + * appModuleName: + * Name of the application module. + * + * appModuleVersion: + * Version of the application. + * + * appModuleDescription: + * Descriprion of the Module + * + */ class ApplicationModule { static $_TSPEC; + /** + * @var string + */ public $appModuleId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var string + */ public $appModuleName = null; + /** + * @var string + */ public $appModuleVersion = null; + /** + * @var string + */ public $appModuleDescription = null; public function __construct($vals=null) { @@ -254,20 +312,82 @@ class ApplicationModule { } +/** + * Application Deployment Description + * + * appDeploymentId: Airavata Internal Unique Job ID. This is set by the registry. + * + * appModuleName: + * Application Module Name. This has to be precise describing the binary. + * + * computeHostId: + * This ID maps application deployment to a particular resource previously described within Airavata. + * Example: Stampede is first registered and refered when registering WRF. + * + * moduleLoadCmd: + * Command string to load modules. This will be placed in the job submisison + * Ex: module load amber + * + * libPrependPaths: + * prepend to a path variable the value + * + * libAppendPaths: + * append to a path variable the value + * + * setEnvironment: + * assigns to the environment variable "NAME" the value + * + */ class ApplicationDeploymentDescription { static $_TSPEC; + /** + * @var string + */ public $appDeploymentId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var string + */ public $appModuleId = null; + /** + * @var string + */ public $computeHostId = null; + /** + * @var string + */ public $executablePath = null; + /** + * @var int + */ public $parallelism = 0; + /** + * @var string + */ public $appDeploymentDescription = null; + /** + * @var string[] + */ public $moduleLoadCmds = null; + /** + * @var \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths[] + */ public $libPrependPaths = null; + /** + * @var \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths[] + */ public $libAppendPaths = null; + /** + * @var \Airavata\Model\AppCatalog\AppDeployment\SetEnvPaths[] + */ public $setEnvironment = null; + /** + * @var string[] + */ public $preJobCommands = null; + /** + * @var string[] + */ public $postJobCommands = null; public function __construct($vals=null) { @@ -708,6 +828,12 @@ class ApplicationDeploymentDescription { } -$GLOBALS['applicationDeploymentModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS"; +final class Constant extends \Thrift\Type\TConstant { + static protected $DEFAULT_ID; + + static protected function init_DEFAULT_ID() { + return "DO_NOT_SET_AT_CLIENTS"; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php index e6748f4..02e5749 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\AppInterface; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -17,6 +17,10 @@ use Thrift\Protocol\TBinaryProtocolAccelerated; use Thrift\Exception\TApplicationException; +/** + * Data Types supported in Airavata. The primitive data types + * + */ final class DataType { const STRING = 0; const INTEGER = 1; @@ -34,19 +38,78 @@ final class DataType { ); } +/** + * Application Inputs. The paramters describe how inputs are passed to the application. + * + * name: + * Name of the parameter. + * + * value: + * Value of the parameter. A default value could be set during registration. + * + * type: + * Data type of the parameter + * + * applicationArguement: + * The argument flag sent to the application. Such as -p pressure. + * + * standardInput: + * When this value is set, the parameter is sent as standard input rather than a parameter. + * Typically this is passed using redirection operator ">". + * + * userFriendlyDescription: + * Description to be displayed at the user interface. + * + * metaData: + * Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration. + * + */ class InputDataObjectType { static $_TSPEC; + /** + * @var string + */ public $name = null; + /** + * @var string + */ public $value = null; + /** + * @var int + */ public $type = null; + /** + * @var string + */ public $applicationArgument = null; + /** + * @var bool + */ public $standardInput = false; + /** + * @var string + */ public $userFriendlyDescription = null; + /** + * @var string + */ public $metaData = null; + /** + * @var int + */ public $inputOrder = null; + /** + * @var bool + */ public $isRequired = null; + /** + * @var bool + */ public $requiredToAddedToCommandLine = null; + /** + * @var bool + */ public $dataStaged = false; public function __construct($vals=null) { @@ -306,17 +369,70 @@ class InputDataObjectType { } +/** + * Application Outputs. The paramters describe how outputs generated by the application. + * + * name: + * Name of the parameter. + * + * value: + * Value of the parameter. + * + * type: + * Data type of the parameter + * + * applicationArguement: + * The argument flag sent to the application. Such as -p pressure. + * + * standardInput: + * When this value is set, the parameter is sent as standard input rather than a parameter. + * Typically this is passed using redirection operator ">". + * + * userFriendlyDescription: + * Description to be displayed at the user interface. + * + * metaData: + * Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration. + * + */ class OutputDataObjectType { static $_TSPEC; + /** + * @var string + */ public $name = null; + /** + * @var string + */ public $value = null; + /** + * @var int + */ public $type = null; + /** + * @var string + */ public $applicationArgument = null; + /** + * @var bool + */ public $isRequired = null; + /** + * @var bool + */ public $requiredToAddedToCommandLine = null; + /** + * @var bool + */ public $dataMovement = null; + /** + * @var string + */ public $location = null; + /** + * @var string + */ public $searchQuery = null; public function __construct($vals=null) { @@ -538,14 +654,45 @@ class OutputDataObjectType { } +/** + * Application Interface Description + * + * applicationModules: + * Associate all application modules with versions which interface is applicable to. + * + * applicationInputs: + * Inputs to be passed to the application + * + * applicationOutputs: + * Outputs generated from the application + * + */ class ApplicationInterfaceDescription { static $_TSPEC; + /** + * @var string + */ public $applicationInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var string + */ public $applicationName = null; + /** + * @var string + */ public $applicationDescription = null; + /** + * @var string[] + */ public $applicationModules = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[] + */ public $applicationInputs = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[] + */ public $applicationOutputs = null; public function __construct($vals=null) { @@ -792,6 +939,12 @@ class ApplicationInterfaceDescription { } -$GLOBALS['applicationInterfaceModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS"; +final class Constant extends \Thrift\Type\TConstant { + static protected $DEFAULT_ID; + + static protected function init_DEFAULT_ID() { + return "DO_NOT_SET_AT_CLIENTS"; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php index be0f776..f1e2cd3 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\ComputeResource; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -17,6 +17,25 @@ use Thrift\Protocol\TBinaryProtocolAccelerated; use Thrift\Exception\TApplicationException; +/** + * * Enumeration of local resource job manager types supported by Airavata + * * + * * FORK: + * * Forking of commands without any job manager + * * + * * PBS: + * * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine. + * * + * * SLURM: + * * The Simple Linux Utility for Resource Management is a open source workload manager. + * * + * * UGE: + * * Univa Grid Engine, a variation of PBS implementation. + * * + * * LSF: + * * IBM Platform Load Sharing Facility is dominantly installed on IBM clusters. + * * + */ final class ResourceJobManagerType { const FORK = 0; const PBS = 1; @@ -32,6 +51,31 @@ final class ResourceJobManagerType { ); } +/** + * Enumeration of resource job manager commands + * + * SUBMISSION: + * Ex: qsub, sbatch + * + * JOBMONITORING: + * Ex: qstat, squeue + * + * DELETION: + * Ex: qdel, scancel + * + * CHECK_JOB: + * Detailed Status about the Job. Ex: checkjob + * + * SHOW_QUEUE: + * List of Queued Job by the schedular. Ex: showq + * + * SHOW_RESERVATION: + * List all reservations. Ex:showres, show_res + * + * SHOW_START: + * Display the start time of the specified job. Ex: showstart + * + */ final class JobManagerCommand { const SUBMISSION = 0; const JOB_MONITORING = 1; @@ -51,6 +95,22 @@ final class JobManagerCommand { ); } +/** + * Enumeration of File Systems on the resource + * + * FORK: + * Forking of commands without any job manager + * + * PBS: + * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine. + * + * UGE: + * Univa Grid Engine, a variation of PBS implementation. + * + * SLURM: + * The Simple Linux Utility for Resource Management is a open source workload manager. + * + */ final class FileSystems { const HOME = 0; const WORK = 1; @@ -66,6 +126,20 @@ final class FileSystems { ); } +/** + * Enumeration of security authentication and authorization mechanisms supported by Airavata. This enumeration just + * describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential + * store. + * + * USERNAME_PASSWORD: + * A User Name. + * + * SSH_KEYS: + * SSH Keys + * + * FIXME: Change GSI to a more precise generic security protocol - X509 + * + */ final class SecurityProtocol { const USERNAME_PASSWORD = 0; const SSH_KEYS = 1; @@ -81,6 +155,19 @@ final class SecurityProtocol { ); } +/** + * Enumeration of Airavata supported Job Submission Mechanisms for High Performance Computing Clusters. + * + * SSH: + * Execute remote job submission commands using via secure shell protocol. + * + * GRAM: + * Execute remote jobs via Globus GRAM service. + * + * UNICORE: + * Execute remote jobs via Unicore services + * + */ final class JobSubmissionProtocol { const LOCAL = 0; const SSH = 1; @@ -96,6 +183,17 @@ final class JobSubmissionProtocol { ); } +/** + * Monitoring modes + * + * POLL_JOB_MANAGER: + * GFac need to pull job status changes. + * + * XSEDE_AMQP_SUBSCRIBE: + * Server will publish job status changes to amqp servert. + * + * + */ final class MonitorMode { const POLL_JOB_MANAGER = 0; const JOB_EMAIL_NOTIFICATION_MONITOR = 1; @@ -107,6 +205,22 @@ final class MonitorMode { ); } +/** + * Enumeration of data movement supported by Airavata + * + * SCP: + * Job manager supporting the Portal Batch System (PBS) protocol. Some examples include TORQUE, PBSPro, Grid Engine. + * + * SFTP: + * The Simple Linux Utility for Resource Management is a open source workload manager. + * + * GridFTP: + * Globus File Transfer Protocol + * + * UNICORE_STORAGE_SERVICE: + * Storage Service Provided by Unicore + * + */ final class DataMovementProtocol { const LOCAL = 0; const SCP = 1; @@ -122,6 +236,10 @@ final class DataMovementProtocol { ); } +/** + * Provider name + * + */ final class ProviderName { const EC2 = 0; const AWSEC2 = 1; @@ -133,13 +251,45 @@ final class ProviderName { ); } +/** + * Resource Job Manager Information + * + * resourceJobManagerType: + * A typical HPC cluster has a single Job Manager to manage the resources. + * + * pushMonitoringEndpoint: + * If the job manager pushes out state changes to a database or bus, specify the service endpoint. + * Ex: Moab Web Service, Moab MongoDB URL, AMQP (GLUE2) Broker + * + * jobManagerBinPath: + * Path to the Job Manager Installation Binary directory. + * + * jobManagerCommands: + * An enumeration of commonly used manager commands. + * + */ class ResourceJobManager { static $_TSPEC; + /** + * @var string + */ public $resourceJobManagerId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $resourceJobManagerType = null; + /** + * @var string + */ public $pushMonitoringEndpoint = null; + /** + * @var string + */ public $jobManagerBinPath = null; + /** + * @var array + */ public $jobManagerCommands = null; public function __construct($vals=null) { @@ -319,15 +469,42 @@ class ResourceJobManager { } +/** + * Batch Queue Information on SuperComputers + * + * maxRunTime: + * Maximum allowed run time in hours. + */ class BatchQueue { static $_TSPEC; + /** + * @var string + */ public $queueName = null; + /** + * @var string + */ public $queueDescription = null; + /** + * @var int + */ public $maxRunTime = null; + /** + * @var int + */ public $maxNodes = null; + /** + * @var int + */ public $maxProcessors = null; + /** + * @var int + */ public $maxJobsInQueue = null; + /** + * @var int + */ public $maxMemory = null; public function __construct($vals=null) { @@ -511,12 +688,33 @@ class BatchQueue { } +/** + * Data Movement through Secured Copy + * + * alternativeSCPHostName: + * If the login to scp is different than the hostname itself, specify it here + * + * sshPort: + * If a non-default port needs to used, specify it. + */ class SCPDataMovement { static $_TSPEC; + /** + * @var string + */ public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $securityProtocol = null; + /** + * @var string + */ public $alternativeSCPHostName = null; + /** + * @var int + */ public $sshPort = 22; public function __construct($vals=null) { @@ -643,11 +841,29 @@ class SCPDataMovement { } +/** + * Data Movement through GridFTP + * + * alternativeSCPHostName: + * If the login to scp is different than the hostname itself, specify it here + * + * sshPort: + * If a non-default port needs to used, specify it. + */ class GridFTPDataMovement { static $_TSPEC; + /** + * @var string + */ public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $securityProtocol = null; + /** + * @var string[] + */ public $gridFTPEndPoints = null; public function __construct($vals=null) { @@ -781,11 +997,26 @@ class GridFTPDataMovement { } +/** + * Data Movement through UnicoreStorage + * + * unicoreEndPointURL: + * unicoreGateway End Point. The provider will query this service to fetch required service end points. + */ class UnicoreDataMovement { static $_TSPEC; + /** + * @var string + */ public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $securityProtocol = null; + /** + * @var string + */ public $unicoreEndPointURL = null; public function __construct($vals=null) { @@ -893,10 +1124,25 @@ class UnicoreDataMovement { } +/** + * Locally Fork Jobs as OS processes + * + * alternativeSSHHostName: + * If the login to ssh is different than the hostname itself, specify it here + * + * sshPort: + * If a non-default port needs to used, specify it. + */ class LOCALSubmission { static $_TSPEC; + /** + * @var string + */ public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager + */ public $resourceJobManager = null; public function __construct($vals=null) { @@ -990,9 +1236,21 @@ class LOCALSubmission { } +/** + * LOCAL + * + * alternativeSCPHostName: + * If the login to scp is different than the hostname itself, specify it here + * + * sshPort: + * If a non-defualt port needs to used, specify it. + */ class LOCALDataMovement { static $_TSPEC; + /** + * @var string + */ public $dataMovementInterfaceId = "DO_NOT_SET_AT_CLIENTS"; public function __construct($vals=null) { @@ -1062,14 +1320,41 @@ class LOCALDataMovement { } +/** + * Authenticate using Secured Shell + * + * alternativeSSHHostName: + * If the login to ssh is different than the hostname itself, specify it here + * + * sshPort: + * If a non-default port needs to used, specify it. + */ class SSHJobSubmission { static $_TSPEC; + /** + * @var string + */ public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $securityProtocol = null; + /** + * @var \Airavata\Model\AppCatalog\ComputeResource\ResourceJobManager + */ public $resourceJobManager = null; + /** + * @var string + */ public $alternativeSSHHostName = null; + /** + * @var int + */ public $sshPort = 22; + /** + * @var int + */ public $monitorMode = null; public function __construct($vals=null) { @@ -1242,8 +1527,17 @@ class SSHJobSubmission { class GlobusJobSubmission { static $_TSPEC; + /** + * @var string + */ public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $securityProtocol = null; + /** + * @var string[] + */ public $globusGateKeeperEndPoint = null; public function __construct($vals=null) { @@ -1377,11 +1671,28 @@ class GlobusJobSubmission { } +/** + * Unicore Job Submission + * + * unicoreEndPointURL: + * unicoreGateway End Point. The provider will query this service to fetch required service end points. + * authenticationMode + * The authenticationMode defines the way certificate is fetched. + */ class UnicoreJobSubmission { static $_TSPEC; + /** + * @var string + */ public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $securityProtocol = null; + /** + * @var string + */ public $unicoreEndPointURL = null; public function __construct($vals=null) { @@ -1489,14 +1800,37 @@ class UnicoreJobSubmission { } +/** + * Cloud Job Submission + * + * + */ class CloudJobSubmission { static $_TSPEC; + /** + * @var string + */ public $jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $securityProtocol = null; + /** + * @var string + */ public $nodeId = null; + /** + * @var string + */ public $executableType = null; + /** + * @var int + */ public $providerName = null; + /** + * @var string + */ public $userAccountName = null; public function __construct($vals=null) { @@ -1661,11 +1995,30 @@ class CloudJobSubmission { } +/** + * Job Submission Interfaces + * + * jobSubmissionInterfaceId: The Job Submission Interface has to be previously registered and referenced here. + * + * priorityOrder: + * For resources with multiple interfaces, the priority order should be selected. + * Lower the numerical number, higher the priority + * + */ class JobSubmissionInterface { static $_TSPEC; + /** + * @var string + */ public $jobSubmissionInterfaceId = null; + /** + * @var int + */ public $jobSubmissionProtocol = null; + /** + * @var int + */ public $priorityOrder = 0; public function __construct($vals=null) { @@ -1773,11 +2126,30 @@ class JobSubmissionInterface { } +/** + * Data Movement Interfaces + * + * dataMovementInterfaceId: The Data Movement Interface has to be previously registered and referenced here. + * + * priorityOrder: + * For resources with multiple interfaces, the priority order should be selected. + * Lower the numerical number, higher the priority + * + */ class DataMovementInterface { static $_TSPEC; + /** + * @var string + */ public $dataMovementInterfaceId = null; + /** + * @var int + */ public $dataMovementProtocol = null; + /** + * @var int + */ public $priorityOrder = 0; public function __construct($vals=null) { @@ -1885,18 +2257,77 @@ class DataMovementInterface { } +/** + * Computational Resource Description + * + * computeResourceId: Airavata Internal Unique Identifier to distinguish Compute Resource. + * + * hostName: + * Fully Qualified Host Name. + * + * hostAliases: + * Aliases if any. + * + * ipAddress: + * IP Addresses of the Resource. + * + * resourceDescription: + * A user friendly description of the resource. + * + * JobSubmissionProtocols: + * A computational resources may have one or more ways of submitting Jobs. This structure + * will hold all available mechanisms to interact with the resource. + * The key is the priority + * + * DataMovementProtocol: + * Option to specify a prefered data movement mechanism of the available options. + * + * fileSystems: + * Map of file systems type and the path. + * + */ class ComputeResourceDescription { static $_TSPEC; + /** + * @var string + */ public $computeResourceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var string + */ public $hostName = null; + /** + * @var string[] + */ public $hostAliases = null; + /** + * @var string[] + */ public $ipAddresses = null; + /** + * @var string + */ public $resourceDescription = null; + /** + * @var \Airavata\Model\AppCatalog\ComputeResource\BatchQueue[] + */ public $batchQueues = null; + /** + * @var array + */ public $fileSystems = null; + /** + * @var \Airavata\Model\AppCatalog\ComputeResource\JobSubmissionInterface[] + */ public $jobSubmissionInterfaces = null; + /** + * @var \Airavata\Model\AppCatalog\ComputeResource\DataMovementInterface[] + */ public $dataMovementInterfaces = null; + /** + * @var int + */ public $maxMemoryPerNode = null; public function __construct($vals=null) { @@ -2307,6 +2738,12 @@ class ComputeResourceDescription { } -$GLOBALS['computeResourceModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS"; +final class Constant extends \Thrift\Type\TConstant { + static protected $DEFAULT_ID; + + static protected function init_DEFAULT_ID() { + return "DO_NOT_SET_AT_CLIENTS"; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php index e0e6227..a94dd88 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GatewayProfile/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\AppCatalog\GatewayProfile; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -17,16 +17,70 @@ use Thrift\Protocol\TBinaryProtocolAccelerated; use Thrift\Exception\TApplicationException; +/** + * Gateway specific preferences for a Computer Resource + * + * computeResourceId: + * Corelate the preference to a compute resource. + * + * overridebyAiravata: + * If turned true, Airavata will override the preferences of better alternatives exist. + * + * loginUserName: + * If turned true, Airavata will override the preferences of better alternatives exist. + * + * preferredJobSubmissionProtocol: + * For resources with multiple job submission protocols, the gateway can pick a preferred option. + * + * preferredDataMovementProtocol: + * For resources with multiple data movement protocols, the gateway can pick a preferred option. + * + * preferredBatchQueue: + * Gateways can choose a defualt batch queue based on average job dimention, reservations or other metrics. + * + * scratchLocation: + * Path to the local scratch space on a HPC cluster. Typically used to create working directory for job execution. + * + * allocationProjectNumber: + * Typically used on HPC machines to charge computing usage to a account number. For instance, on XSEDE once an + * allocation is approved, an allocation number is assigned. Before passing this number with job submittions, the + * account to be used has to be added to the allocation. + * + */ class ComputeResourcePreference { static $_TSPEC; + /** + * @var string + */ public $computeResourceId = null; + /** + * @var bool + */ public $overridebyAiravata = true; + /** + * @var string + */ public $loginUserName = null; + /** + * @var int + */ public $preferredJobSubmissionProtocol = null; + /** + * @var int + */ public $preferredDataMovementProtocol = null; + /** + * @var string + */ public $preferredBatchQueue = null; + /** + * @var string + */ public $scratchLocation = null; + /** + * @var string + */ public $allocationProjectNumber = null; public function __construct($vals=null) { @@ -229,10 +283,27 @@ class ComputeResourcePreference { } +/** + * Gateway Resource Profile + * + * gatewayID: + * Unique identifier for the gateway assigned by Airavata. Corelate this to Airavata Admin API Gateway Registration. + * + * computeResourcePreferences: + * List of resource preferences for each of the registered compute resources. + * + * + */ class GatewayResourceProfile { static $_TSPEC; + /** + * @var string + */ public $gatewayID = null; + /** + * @var \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference[] + */ public $computeResourcePreferences = null; public function __construct($vals=null) { http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php index 035e249..1602ceb 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\Messaging\Event; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -52,8 +52,17 @@ final class MessageType { class ExperimentStatusChangeEvent { static $_TSPEC; + /** + * @var int + */ public $state = null; + /** + * @var string + */ public $experimentId = null; + /** + * @var string + */ public $gatewayId = null; public function __construct($vals=null) { @@ -164,8 +173,17 @@ class ExperimentStatusChangeEvent { class WorkflowIdentifier { static $_TSPEC; + /** + * @var string + */ public $workflowNodeId = null; + /** + * @var string + */ public $experimentId = null; + /** + * @var string + */ public $gatewayId = null; public function __construct($vals=null) { @@ -276,7 +294,13 @@ class WorkflowIdentifier { class WorkflowNodeStatusChangeEvent { static $_TSPEC; + /** + * @var int + */ public $state = null; + /** + * @var \Airavata\Model\Messaging\Event\WorkflowIdentifier + */ public $workflowNodeIdentity = null; public function __construct($vals=null) { @@ -373,9 +397,21 @@ class WorkflowNodeStatusChangeEvent { class TaskIdentifier { static $_TSPEC; + /** + * @var string + */ public $taskId = null; + /** + * @var string + */ public $workflowNodeId = null; + /** + * @var string + */ public $experimentId = null; + /** + * @var string + */ public $gatewayId = null; public function __construct($vals=null) { @@ -505,7 +541,13 @@ class TaskIdentifier { class TaskStatusChangeEvent { static $_TSPEC; + /** + * @var int + */ public $state = null; + /** + * @var \Airavata\Model\Messaging\Event\TaskIdentifier + */ public $taskIdentity = null; public function __construct($vals=null) { @@ -602,7 +644,13 @@ class TaskStatusChangeEvent { class TaskStatusChangeRequestEvent { static $_TSPEC; + /** + * @var int + */ public $state = null; + /** + * @var \Airavata\Model\Messaging\Event\TaskIdentifier + */ public $taskIdentity = null; public function __construct($vals=null) { @@ -699,7 +747,13 @@ class TaskStatusChangeRequestEvent { class TaskOutputChangeEvent { static $_TSPEC; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[] + */ public $output = null; + /** + * @var \Airavata\Model\Messaging\Event\TaskIdentifier + */ public $taskIdentity = null; public function __construct($vals=null) { @@ -824,10 +878,25 @@ class TaskOutputChangeEvent { class JobIdentifier { static $_TSPEC; + /** + * @var string + */ public $jobId = null; + /** + * @var string + */ public $taskId = null; + /** + * @var string + */ public $workflowNodeId = null; + /** + * @var string + */ public $experimentId = null; + /** + * @var string + */ public $gatewayId = null; public function __construct($vals=null) { @@ -976,7 +1045,13 @@ class JobIdentifier { class ProcessSubmitEvent { static $_TSPEC; + /** + * @var string + */ public $taskId = null; + /** + * @var string + */ public $credentialToken = null; public function __construct($vals=null) { @@ -1068,9 +1143,21 @@ class ProcessSubmitEvent { class TaskSubmitEvent { static $_TSPEC; + /** + * @var string + */ public $experimentId = null; + /** + * @var string + */ public $taskId = null; + /** + * @var string + */ public $gatewayId = null; + /** + * @var string + */ public $tokenId = null; public function __construct($vals=null) { @@ -1200,9 +1287,21 @@ class TaskSubmitEvent { class TaskTerminateEvent { static $_TSPEC; + /** + * @var string + */ public $experimentId = null; + /** + * @var string + */ public $taskId = null; + /** + * @var string + */ public $gatewayId = null; + /** + * @var string + */ public $tokenId = null; public function __construct($vals=null) { @@ -1332,7 +1431,13 @@ class TaskTerminateEvent { class JobStatusChangeEvent { static $_TSPEC; + /** + * @var int + */ public $state = null; + /** + * @var \Airavata\Model\Messaging\Event\JobIdentifier + */ public $jobIdentity = null; public function __construct($vals=null) { @@ -1429,7 +1534,13 @@ class JobStatusChangeEvent { class JobStatusChangeRequestEvent { static $_TSPEC; + /** + * @var int + */ public $state = null; + /** + * @var \Airavata\Model\Messaging\Event\JobIdentifier + */ public $jobIdentity = null; public function __construct($vals=null) { @@ -1526,10 +1637,25 @@ class JobStatusChangeRequestEvent { class Message { static $_TSPEC; + /** + * @var string + */ public $event = null; + /** + * @var string + */ public $messageId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $messageType = null; + /** + * @var int + */ public $updatedTime = null; + /** + * @var int + */ public $messageLevel = null; public function __construct($vals=null) { @@ -1675,6 +1801,12 @@ class Message { } -$GLOBALS['messagingEvents_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS"; +final class Constant extends \Thrift\Type\TConstant { + static protected $DEFAULT_ID; + + static protected function init_DEFAULT_ID() { + return "DO_NOT_SET_AT_CLIENTS"; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php index 4e89132..15ba747 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -20,11 +20,29 @@ use Thrift\Exception\TApplicationException; class Workflow { static $_TSPEC; + /** + * @var string + */ public $templateId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var string + */ public $name = null; + /** + * @var string + */ public $graph = null; + /** + * @var string + */ public $image = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[] + */ public $workflowInputs = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[] + */ public $workflowOutputs = null; public function __construct($vals=null) { @@ -245,6 +263,12 @@ class Workflow { } -$GLOBALS['workflowDataModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS"; +final class Constant extends \Thrift\Type\TConstant { + static protected $DEFAULT_ID; + + static protected function init_DEFAULT_ID() { + return "DO_NOT_SET_AT_CLIENTS"; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php index 4b53e09..18fcd73 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Experiment/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\Workspace\Experiment; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -236,7 +236,13 @@ final class ExecutionUnit { class ExperimentStatus { static $_TSPEC; + /** + * @var int + */ public $experimentState = null; + /** + * @var int + */ public $timeOfStateChange = null; public function __construct($vals=null) { @@ -328,7 +334,13 @@ class ExperimentStatus { class WorkflowNodeStatus { static $_TSPEC; + /** + * @var int + */ public $workflowNodeState = null; + /** + * @var int + */ public $timeOfStateChange = null; public function __construct($vals=null) { @@ -420,7 +432,13 @@ class WorkflowNodeStatus { class TaskStatus { static $_TSPEC; + /** + * @var int + */ public $executionState = null; + /** + * @var int + */ public $timeOfStateChange = null; public function __construct($vals=null) { @@ -512,7 +530,13 @@ class TaskStatus { class JobStatus { static $_TSPEC; + /** + * @var int + */ public $jobState = null; + /** + * @var int + */ public $timeOfStateChange = null; public function __construct($vals=null) { @@ -604,7 +628,13 @@ class JobStatus { class TransferStatus { static $_TSPEC; + /** + * @var int + */ public $transferState = null; + /** + * @var int + */ public $timeOfStateChange = null; public function __construct($vals=null) { @@ -696,7 +726,13 @@ class TransferStatus { class ApplicationStatus { static $_TSPEC; + /** + * @var string + */ public $applicationState = null; + /** + * @var int + */ public $timeOfStateChange = null; public function __construct($vals=null) { @@ -785,18 +821,52 @@ class ApplicationStatus { } +/** + * A structure holding the Computational Resource Scheduling. + * + */ class ComputationalResourceScheduling { static $_TSPEC; + /** + * @var string + */ public $resourceHostId = null; + /** + * @var int + */ public $totalCPUCount = null; + /** + * @var int + */ public $nodeCount = null; + /** + * @var int + */ public $numberOfThreads = null; + /** + * @var string + */ public $queueName = null; + /** + * @var int + */ public $wallTimeLimit = null; + /** + * @var int + */ public $jobStartTime = null; + /** + * @var int + */ public $totalPhysicalMemory = null; + /** + * @var string + */ public $computationalProjectAccount = null; + /** + * @var string + */ public $chassisName = null; public function __construct($vals=null) { @@ -1037,12 +1107,28 @@ class ComputationalResourceScheduling { } +/** + * A structure holding specified input data handling. + * + */ class AdvancedInputDataHandling { static $_TSPEC; + /** + * @var bool + */ public $stageInputFilesToWorkingDir = false; + /** + * @var string + */ public $parentWorkingDirectory = null; + /** + * @var string + */ public $uniqueWorkingDirectory = null; + /** + * @var bool + */ public $cleanUpWorkingDirAfterJob = false; public function __construct($vals=null) { @@ -1169,11 +1255,24 @@ class AdvancedInputDataHandling { } +/** + * A structure holding specified output data handling. + * + */ class AdvancedOutputDataHandling { static $_TSPEC; + /** + * @var string + */ public $outputDataDir = null; + /** + * @var string + */ public $dataRegistryURL = null; + /** + * @var bool + */ public $persistOutputData = true; public function __construct($vals=null) { @@ -1281,11 +1380,24 @@ class AdvancedOutputDataHandling { } +/** + * A structure holding Quality of Service Parameters. + * + */ class QualityOfServiceParams { static $_TSPEC; + /** + * @var string + */ public $startExecutionAt = null; + /** + * @var string + */ public $executeBefore = null; + /** + * @var int + */ public $numberofRetries = null; public function __construct($vals=null) { @@ -1393,18 +1505,53 @@ class QualityOfServiceParams { } +/** + * A structure holding the experiment configuration. + * + * + */ class UserConfigurationData { static $_TSPEC; + /** + * @var bool + */ public $airavataAutoSchedule = false; + /** + * @var bool + */ public $overrideManualScheduledParams = false; + /** + * @var bool + */ public $shareExperimentPublicly = false; + /** + * @var \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling + */ public $computationalResourceScheduling = null; + /** + * @var \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling + */ public $advanceInputDataHandling = null; + /** + * @var \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling + */ public $advanceOutputDataHandling = null; + /** + * @var \Airavata\Model\Workspace\Experiment\QualityOfServiceParams + */ public $qosParams = null; + /** + * @var bool + */ public $throttleResources = false; + /** + * @var string + */ public $userDN = null; + /** + * @var bool + */ public $generateCert = false; public function __construct($vals=null) { @@ -1668,14 +1815,41 @@ class UserConfigurationData { class ErrorDetails { static $_TSPEC; + /** + * @var string + */ public $errorID = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $creationTime = null; + /** + * @var string + */ public $actualErrorMessage = null; + /** + * @var string + */ public $userFriendlyMessage = null; + /** + * @var int + */ public $errorCategory = null; + /** + * @var bool + */ public $transientOrPersistent = false; + /** + * @var int + */ public $correctiveAction = null; + /** + * @var int + */ public $actionableGroup = null; + /** + * @var string[] + */ public $rootCauseErrorIdList = null; public function __construct($vals=null) { @@ -1926,14 +2100,41 @@ class ErrorDetails { class JobDetails { static $_TSPEC; + /** + * @var string + */ public $jobID = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var string + */ public $jobDescription = null; + /** + * @var int + */ public $creationTime = null; + /** + * @var \Airavata\Model\Workspace\Experiment\JobStatus + */ public $jobStatus = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ApplicationStatus + */ public $applicationStatus = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[] + */ public $errors = null; + /** + * @var string + */ public $computeResourceConsumed = null; + /** + * @var string + */ public $jobName = null; + /** + * @var string + */ public $workingDir = null; public function __construct($vals=null) { @@ -2196,9 +2397,21 @@ class JobDetails { class DataTransferDetails { static $_TSPEC; + /** + * @var string + */ public $transferID = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $creationTime = null; + /** + * @var string + */ public $transferDescription = null; + /** + * @var \Airavata\Model\Workspace\Experiment\TransferStatus + */ public $transferStatus = null; public function __construct($vals=null) { @@ -2330,24 +2543,78 @@ class DataTransferDetails { } +/** + * A structure holding the actual execution context decided based on user provided configuration data or system inferred + * information from scheduling and QoS parameters. One experiment can have multiple tasks. Each tasks results in + * data transfers and jobs + * + */ class TaskDetails { static $_TSPEC; + /** + * @var string + */ public $taskID = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $creationTime = null; + /** + * @var string + */ public $applicationId = null; + /** + * @var string + */ public $applicationVersion = null; + /** + * @var string + */ public $applicationDeploymentId = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[] + */ public $applicationInputs = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[] + */ public $applicationOutputs = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ComputationalResourceScheduling + */ public $taskScheduling = null; + /** + * @var \Airavata\Model\Workspace\Experiment\AdvancedInputDataHandling + */ public $advancedInputDataHandling = null; + /** + * @var \Airavata\Model\Workspace\Experiment\AdvancedOutputDataHandling + */ public $advancedOutputDataHandling = null; + /** + * @var \Airavata\Model\Workspace\Experiment\TaskStatus + */ public $taskStatus = null; + /** + * @var \Airavata\Model\Workspace\Experiment\JobDetails[] + */ public $jobDetailsList = null; + /** + * @var \Airavata\Model\Workspace\Experiment\DataTransferDetails[] + */ public $dataTransferDetailsList = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[] + */ public $errors = null; + /** + * @var bool + */ public $enableEmailNotification = null; + /** + * @var string[] + */ public $emailAddresses = null; public function __construct($vals=null) { @@ -2888,18 +3155,52 @@ class TaskDetails { } +/** + * A structure holding the node data. + * nodeInstanceId - unique node identifier for each run + */ class WorkflowNodeDetails { static $_TSPEC; + /** + * @var string + */ public $nodeInstanceId = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var int + */ public $creationTime = null; + /** + * @var string + */ public $nodeName = "SINGLE_APP_NODE"; + /** + * @var int + */ public $executionUnit = 1; + /** + * @var string + */ public $executionUnitData = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[] + */ public $nodeInputs = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[] + */ public $nodeOutputs = null; + /** + * @var \Airavata\Model\Workspace\Experiment\WorkflowNodeStatus + */ public $workflowNodeStatus = null; + /** + * @var \Airavata\Model\Workspace\Experiment\TaskDetails[] + */ public $taskDetailsList = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[] + */ public $errors = null; public function __construct($vals=null) { @@ -3257,10 +3558,23 @@ class WorkflowNodeDetails { } +/** + * This data structure can be used to store the validation results + * captured during validation step and during the launchExperiment + * operation it can be easilly checked to see the errors occured + * during the experiment launch operation + * + */ class ValidatorResult { static $_TSPEC; + /** + * @var bool + */ public $result = null; + /** + * @var string + */ public $errorDetails = null; public function __construct($vals=null) { @@ -3352,7 +3666,13 @@ class ValidatorResult { class ValidationResults { static $_TSPEC; + /** + * @var bool + */ public $validationState = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ValidatorResult[] + */ public $validationResultList = null; public function __construct($vals=null) { @@ -3469,29 +3789,108 @@ class ValidationResults { } +/** + * A structure holding the experiment metadata and its child models. + * + * userName: + * The user name of the targeted gateway end user on whose behalf the experiment is being created. + * the associated gateway identity can only be inferred from the security hand-shake so as to avoid + * authorized Airavata Clients mimicking an unauthorized request. If a gateway is not registered with + * Airavata, an authorization exception is thrown. + * + * experimentName: + * The name of the experiment as defined by the user. The name need not be unique as uniqueness is enforced + * by the generated experiment id. + * + * experimentDescription: + * The verbose description of the experiment. This is an optional parameter. + */ class Experiment { static $_TSPEC; + /** + * @var string + */ public $experimentID = "DO_NOT_SET_AT_CLIENTS"; + /** + * @var string + */ public $projectID = "DEFAULT"; + /** + * @var int + */ public $creationTime = null; + /** + * @var string + */ public $userName = null; + /** + * @var string + */ public $name = null; + /** + * @var string + */ public $description = null; + /** + * @var string + */ public $applicationId = null; + /** + * @var string + */ public $applicationVersion = null; + /** + * @var string + */ public $workflowTemplateId = null; + /** + * @var string + */ public $workflowTemplateVersion = null; + /** + * @var string + */ public $gatewayExecutionId = null; + /** + * @var bool + */ public $enableEmailNotification = null; + /** + * @var string[] + */ public $emailAddresses = null; + /** + * @var \Airavata\Model\Workspace\Experiment\UserConfigurationData + */ public $userConfigurationData = null; + /** + * @var string + */ public $workflowExecutionInstanceId = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\InputDataObjectType[] + */ public $experimentInputs = null; + /** + * @var \Airavata\Model\AppCatalog\AppInterface\OutputDataObjectType[] + */ public $experimentOutputs = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ExperimentStatus + */ public $experimentStatus = null; + /** + * @var \Airavata\Model\Workspace\Experiment\WorkflowNodeStatus[] + */ public $stateChangeList = null; + /** + * @var \Airavata\Model\Workspace\Experiment\WorkflowNodeDetails[] + */ public $workflowNodeDetailsList = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ErrorDetails[] + */ public $errors = null; public function __construct($vals=null) { @@ -4120,13 +4519,37 @@ class Experiment { class ExperimentSummary { static $_TSPEC; + /** + * @var string + */ public $experimentID = null; + /** + * @var string + */ public $projectID = null; + /** + * @var int + */ public $creationTime = null; + /** + * @var string + */ public $userName = null; + /** + * @var string + */ public $name = null; + /** + * @var string + */ public $description = null; + /** + * @var string + */ public $applicationId = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ExperimentStatus + */ public $experimentStatus = null; public function __construct($vals=null) { @@ -4334,10 +4757,370 @@ class ExperimentSummary { } -$GLOBALS['experimentModel_CONSTANTS']['DEFAULT_ID'] = "DO_NOT_SET_AT_CLIENTS"; +class ExperimentStatistics { + static $_TSPEC; + + /** + * @var int + */ + public $allExperimentCount = null; + /** + * @var int + */ + public $completedExperimentCount = null; + /** + * @var int + */ + public $cancelledExperimentCount = null; + /** + * @var int + */ + public $failedExperimentCount = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[] + */ + public $allExperiments = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[] + */ + public $completedExperiments = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[] + */ + public $failedExperiments = null; + /** + * @var \Airavata\Model\Workspace\Experiment\ExperimentSummary[] + */ + public $cancelledExperiments = null; + + public function __construct($vals=null) { + if (!isset(self::$_TSPEC)) { + self::$_TSPEC = array( + 1 => array( + 'var' => 'allExperimentCount', + 'type' => TType::I32, + ), + 2 => array( + 'var' => 'completedExperimentCount', + 'type' => TType::I32, + ), + 3 => array( + 'var' => 'cancelledExperimentCount', + 'type' => TType::I32, + ), + 4 => array( + 'var' => 'failedExperimentCount', + 'type' => TType::I32, + ), + 5 => array( + 'var' => 'allExperiments', + 'type' => TType::LST, + 'etype' => TType::STRUCT, + 'elem' => array( + 'type' => TType::STRUCT, + 'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary', + ), + ), + 6 => array( + 'var' => 'completedExperiments', + 'type' => TType::LST, + 'etype' => TType::STRUCT, + 'elem' => array( + 'type' => TType::STRUCT, + 'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary', + ), + ), + 7 => array( + 'var' => 'failedExperiments', + 'type' => TType::LST, + 'etype' => TType::STRUCT, + 'elem' => array( + 'type' => TType::STRUCT, + 'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary', + ), + ), + 8 => array( + 'var' => 'cancelledExperiments', + 'type' => TType::LST, + 'etype' => TType::STRUCT, + 'elem' => array( + 'type' => TType::STRUCT, + 'class' => '\Airavata\Model\Workspace\Experiment\ExperimentSummary', + ), + ), + ); + } + if (is_array($vals)) { + if (isset($vals['allExperimentCount'])) { + $this->allExperimentCount = $vals['allExperimentCount']; + } + if (isset($vals['completedExperimentCount'])) { + $this->completedExperimentCount = $vals['completedExperimentCount']; + } + if (isset($vals['cancelledExperimentCount'])) { + $this->cancelledExperimentCount = $vals['cancelledExperimentCount']; + } + if (isset($vals['failedExperimentCount'])) { + $this->failedExperimentCount = $vals['failedExperimentCount']; + } + if (isset($vals['allExperiments'])) { + $this->allExperiments = $vals['allExperiments']; + } + if (isset($vals['completedExperiments'])) { + $this->completedExperiments = $vals['completedExperiments']; + } + if (isset($vals['failedExperiments'])) { + $this->failedExperiments = $vals['failedExperiments']; + } + if (isset($vals['cancelledExperiments'])) { + $this->cancelledExperiments = $vals['cancelledExperiments']; + } + } + } + + public function getName() { + return 'ExperimentStatistics'; + } + + public function read($input) + { + $xfer = 0; + $fname = null; + $ftype = 0; + $fid = 0; + $xfer += $input->readStructBegin($fname); + while (true) + { + $xfer += $input->readFieldBegin($fname, $ftype, $fid); + if ($ftype == TType::STOP) { + break; + } + switch ($fid) + { + case 1: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->allExperimentCount); + } else { + $xfer += $input->skip($ftype); + } + break; + case 2: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->completedExperimentCount); + } else { + $xfer += $input->skip($ftype); + } + break; + case 3: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->cancelledExperimentCount); + } else { + $xfer += $input->skip($ftype); + } + break; + case 4: + if ($ftype == TType::I32) { + $xfer += $input->readI32($this->failedExperimentCount); + } else { + $xfer += $input->skip($ftype); + } + break; + case 5: + if ($ftype == TType::LST) { + $this->allExperiments = array(); + $_size133 = 0; + $_etype136 = 0; + $xfer += $input->readListBegin($_etype136, $_size133); + for ($_i137 = 0; $_i137 < $_size133; ++$_i137) + { + $elem138 = null; + $elem138 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary(); + $xfer += $elem138->read($input); + $this->allExperiments []= $elem138; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 6: + if ($ftype == TType::LST) { + $this->completedExperiments = array(); + $_size139 = 0; + $_etype142 = 0; + $xfer += $input->readListBegin($_etype142, $_size139); + for ($_i143 = 0; $_i143 < $_size139; ++$_i143) + { + $elem144 = null; + $elem144 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary(); + $xfer += $elem144->read($input); + $this->completedExperiments []= $elem144; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 7: + if ($ftype == TType::LST) { + $this->failedExperiments = array(); + $_size145 = 0; + $_etype148 = 0; + $xfer += $input->readListBegin($_etype148, $_size145); + for ($_i149 = 0; $_i149 < $_size145; ++$_i149) + { + $elem150 = null; + $elem150 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary(); + $xfer += $elem150->read($input); + $this->failedExperiments []= $elem150; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + case 8: + if ($ftype == TType::LST) { + $this->cancelledExperiments = array(); + $_size151 = 0; + $_etype154 = 0; + $xfer += $input->readListBegin($_etype154, $_size151); + for ($_i155 = 0; $_i155 < $_size151; ++$_i155) + { + $elem156 = null; + $elem156 = new \Airavata\Model\Workspace\Experiment\ExperimentSummary(); + $xfer += $elem156->read($input); + $this->cancelledExperiments []= $elem156; + } + $xfer += $input->readListEnd(); + } else { + $xfer += $input->skip($ftype); + } + break; + default: + $xfer += $input->skip($ftype); + break; + } + $xfer += $input->readFieldEnd(); + } + $xfer += $input->readStructEnd(); + return $xfer; + } + + public function write($output) { + $xfer = 0; + $xfer += $output->writeStructBegin('ExperimentStatistics'); + if ($this->allExperimentCount !== null) { + $xfer += $output->writeFieldBegin('allExperimentCount', TType::I32, 1); + $xfer += $output->writeI32($this->allExperimentCount); + $xfer += $output->writeFieldEnd(); + } + if ($this->completedExperimentCount !== null) { + $xfer += $output->writeFieldBegin('completedExperimentCount', TType::I32, 2); + $xfer += $output->writeI32($this->completedExperimentCount); + $xfer += $output->writeFieldEnd(); + } + if ($this->cancelledExperimentCount !== null) { + $xfer += $output->writeFieldBegin('cancelledExperimentCount', TType::I32, 3); + $xfer += $output->writeI32($this->cancelledExperimentCount); + $xfer += $output->writeFieldEnd(); + } + if ($this->failedExperimentCount !== null) { + $xfer += $output->writeFieldBegin('failedExperimentCount', TType::I32, 4); + $xfer += $output->writeI32($this->failedExperimentCount); + $xfer += $output->writeFieldEnd(); + } + if ($this->allExperiments !== null) { + if (!is_array($this->allExperiments)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('allExperiments', TType::LST, 5); + { + $output->writeListBegin(TType::STRUCT, count($this->allExperiments)); + { + foreach ($this->allExperiments as $iter157) + { + $xfer += $iter157->write($output); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->completedExperiments !== null) { + if (!is_array($this->completedExperiments)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('completedExperiments', TType::LST, 6); + { + $output->writeListBegin(TType::STRUCT, count($this->completedExperiments)); + { + foreach ($this->completedExperiments as $iter158) + { + $xfer += $iter158->write($output); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->failedExperiments !== null) { + if (!is_array($this->failedExperiments)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('failedExperiments', TType::LST, 7); + { + $output->writeListBegin(TType::STRUCT, count($this->failedExperiments)); + { + foreach ($this->failedExperiments as $iter159) + { + $xfer += $iter159->write($output); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + if ($this->cancelledExperiments !== null) { + if (!is_array($this->cancelledExperiments)) { + throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA); + } + $xfer += $output->writeFieldBegin('cancelledExperiments', TType::LST, 8); + { + $output->writeListBegin(TType::STRUCT, count($this->cancelledExperiments)); + { + foreach ($this->cancelledExperiments as $iter160) + { + $xfer += $iter160->write($output); + } + } + $output->writeListEnd(); + } + $xfer += $output->writeFieldEnd(); + } + $xfer += $output->writeFieldStop(); + $xfer += $output->writeStructEnd(); + return $xfer; + } + +} + +final class Constant extends \Thrift\Type\TConstant { + static protected $DEFAULT_ID; + static protected $DEFAULT_PROJECT_NAME; + static protected $SINGLE_APP_NODE_NAME; -$GLOBALS['experimentModel_CONSTANTS']['DEFAULT_PROJECT_NAME'] = "DEFAULT"; + static protected function init_DEFAULT_ID() { + return "DO_NOT_SET_AT_CLIENTS"; + } -$GLOBALS['experimentModel_CONSTANTS']['SINGLE_APP_NODE_NAME'] = "SINGLE_APP_NODE"; + static protected function init_DEFAULT_PROJECT_NAME() { + return "DEFAULT"; + } + + static protected function init_SINGLE_APP_NODE_NAME() { + return "SINGLE_APP_NODE"; + } +} http://git-wip-us.apache.org/repos/asf/airavata/blob/a5cb91f0/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php index 7ccd55c..d44ae02 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php @@ -2,7 +2,7 @@ namespace Airavata\Model\Workspace; /** - * Autogenerated by Thrift Compiler (0.9.1) + * Autogenerated by Thrift Compiler (0.9.2) * * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING * @generated @@ -20,7 +20,13 @@ use Thrift\Exception\TApplicationException; class Group { static $_TSPEC; + /** + * @var string + */ public $groupName = null; + /** + * @var string + */ public $description = null; public function __construct($vals=null) { @@ -112,12 +118,33 @@ class Group { class Project { static $_TSPEC; + /** + * @var string + */ public $projectID = "DEFAULT"; + /** + * @var string + */ public $owner = null; + /** + * @var string + */ public $name = null; + /** + * @var string + */ public $description = null; + /** + * @var int + */ public $creationTime = null; + /** + * @var string[] + */ public $sharedUsers = null; + /** + * @var string[] + */ public $sharedGroups = null; public function __construct($vals=null) { @@ -356,7 +383,13 @@ class Project { class User { static $_TSPEC; + /** + * @var string + */ public $userName = null; + /** + * @var \Airavata\Model\Workspace\Group[] + */ public $groupList = null; public function __construct($vals=null) { @@ -476,9 +509,21 @@ class User { class Gateway { static $_TSPEC; + /** + * @var string + */ public $gatewayId = null; + /** + * @var string + */ public $gatewayName = null; + /** + * @var string + */ public $domain = null; + /** + * @var string + */ public $emailAddress = null; public function __construct($vals=null) {
