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
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.
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 |