Class: ExperimentModel
- Inherits:
-
Object
- Object
- ExperimentModel
- Includes:
- Thrift::Struct, Thrift::Struct_Union
- Defined in:
- lib/experiment_model_types.rb
Overview
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
Airavata Clients mimicking an request. If a gateway is not registered with
Airavata, an 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.
Constant Summary collapse
- EXPERIMENTID =
1- PROJECTID =
2- GATEWAYID =
3- EXPERIMENTTYPE =
4- USERNAME =
5- EXPERIMENTNAME =
6- CREATIONTIME =
7- DESCRIPTION =
8- EXECUTIONID =
9- GATEWAYEXECUTIONID =
10- GATEWAYINSTANCEID =
11- ENABLEEMAILNOTIFICATION =
12- EMAILADDRESSES =
13- USERCONFIGURATIONDATA =
14- EXPERIMENTINPUTS =
15- EXPERIMENTOUTPUTS =
16- EXPERIMENTSTATUS =
17- ERRORS =
18- PROCESSES =
19- WORKFLOW =
20- FIELDS =
{ EXPERIMENTID => {:type => ::Thrift::Types::STRING, :name => 'experimentId', :default => %q"DO_NOT_SET_AT_CLIENTS"}, PROJECTID => {:type => ::Thrift::Types::STRING, :name => 'projectId'}, GATEWAYID => {:type => ::Thrift::Types::STRING, :name => 'gatewayId'}, EXPERIMENTTYPE => {:type => ::Thrift::Types::I32, :name => 'experimentType', :default => 0, :enum_class => ::ExperimentType}, USERNAME => {:type => ::Thrift::Types::STRING, :name => 'userName'}, EXPERIMENTNAME => {:type => ::Thrift::Types::STRING, :name => 'experimentName'}, CREATIONTIME => {:type => ::Thrift::Types::I64, :name => 'creationTime', :optional => true}, DESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'description', :optional => true}, EXECUTIONID => {:type => ::Thrift::Types::STRING, :name => 'executionId', :optional => true}, GATEWAYEXECUTIONID => {:type => ::Thrift::Types::STRING, :name => 'gatewayExecutionId', :optional => true}, GATEWAYINSTANCEID => {:type => ::Thrift::Types::STRING, :name => 'gatewayInstanceId', :optional => true}, ENABLEEMAILNOTIFICATION => {:type => ::Thrift::Types::BOOL, :name => 'enableEmailNotification', :optional => true}, EMAILADDRESSES => {:type => ::Thrift::Types::LIST, :name => 'emailAddresses', :element => {:type => ::Thrift::Types::STRING}, :optional => true}, USERCONFIGURATIONDATA => {:type => ::Thrift::Types::STRUCT, :name => 'userConfigurationData', :class => ::UserConfigurationDataModel, :optional => true}, EXPERIMENTINPUTS => {:type => ::Thrift::Types::LIST, :name => 'experimentInputs', :element => {:type => ::Thrift::Types::STRUCT, :class => ::InputDataObjectType}, :optional => true}, EXPERIMENTOUTPUTS => {:type => ::Thrift::Types::LIST, :name => 'experimentOutputs', :element => {:type => ::Thrift::Types::STRUCT, :class => ::OutputDataObjectType}, :optional => true}, EXPERIMENTSTATUS => {:type => ::Thrift::Types::LIST, :name => 'experimentStatus', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ExperimentStatus}, :optional => true}, ERRORS => {:type => ::Thrift::Types::LIST, :name => 'errors', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ErrorModel}, :optional => true}, PROCESSES => {:type => ::Thrift::Types::LIST, :name => 'processes', :element => {:type => ::Thrift::Types::STRUCT, :class => ::ProcessModel}, :optional => true}, WORKFLOW => {:type => ::Thrift::Types::STRUCT, :name => 'workflow', :class => ::AiravataWorkflow, :optional => true} }
Instance Method Summary collapse
Instance Method Details
#struct_fields ⇒ Object
145 |
# File 'lib/experiment_model_types.rb', line 145 def struct_fields; FIELDS; end |
#validate ⇒ Object
147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/experiment_model_types.rb', line 147 def validate raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field experimentId is unset!') unless @experimentId raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field projectId is unset!') unless @projectId raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field gatewayId is unset!') unless @gatewayId raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field experimentType is unset!') unless @experimentType raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field userName is unset!') unless @userName raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field experimentName is unset!') unless @experimentName unless @experimentType.nil? || ::ExperimentType::VALID_VALUES.include?(@experimentType) raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field experimentType!') end end |