Class: ExperimentModel

Inherits:
Object
  • Object
show all
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_fieldsObject



145
# File 'lib/experiment_model_types.rb', line 145

def struct_fields; FIELDS; end

#validateObject

Raises:

  • (::Thrift::ProtocolException)


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