Class: UserComputeResourcePreference
- Inherits:
-
Object
- Object
- UserComputeResourcePreference
- Includes:
- Thrift::Struct, Thrift::Struct_Union
- Defined in:
- lib/user_resource_profile_model_types.rb
Overview
User specific preferences for a Computer Resource
computeResourceId:
Corelate the preference to a compute resource.
loginUserName:
If turned true, Airavata will override the preferences of better alternatives exist.
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.
resourceSpecificCredentialStoreToken:
Resource specific credential store token. If this token is specified, then it is superceeded by the gateway's
default credential store.
validated:
If true the the configuration has been validated in the sense that the username and credential can be used to
login to the remote host and the scratchLocation is a valid location that the user has permission to write to.
Should be treated as read-only and only mutated by Airavata middleware.
Constant Summary collapse
- COMPUTERESOURCEID =
1
- LOGINUSERNAME =
2
- PREFERREDBATCHQUEUE =
3
- SCRATCHLOCATION =
4
- ALLOCATIONPROJECTNUMBER =
5
- RESOURCESPECIFICCREDENTIALSTORETOKEN =
6
- QUALITYOFSERVICE =
7
- RESERVATION =
8
- RESERVATIONSTARTTIME =
9
- RESERVATIONENDTIME =
10
- VALIDATED =
11
- FIELDS =
{ COMPUTERESOURCEID => {:type => ::Thrift::Types::STRING, :name => 'computeResourceId'}, LOGINUSERNAME => {:type => ::Thrift::Types::STRING, :name => 'loginUserName', :optional => true}, PREFERREDBATCHQUEUE => {:type => ::Thrift::Types::STRING, :name => 'preferredBatchQueue', :optional => true}, SCRATCHLOCATION => {:type => ::Thrift::Types::STRING, :name => 'scratchLocation', :optional => true}, ALLOCATIONPROJECTNUMBER => {:type => ::Thrift::Types::STRING, :name => 'allocationProjectNumber', :optional => true}, RESOURCESPECIFICCREDENTIALSTORETOKEN => {:type => ::Thrift::Types::STRING, :name => 'resourceSpecificCredentialStoreToken', :optional => true}, QUALITYOFSERVICE => {:type => ::Thrift::Types::STRING, :name => 'qualityOfService', :optional => true}, RESERVATION => {:type => ::Thrift::Types::STRING, :name => 'reservation', :optional => true}, RESERVATIONSTARTTIME => {:type => ::Thrift::Types::I64, :name => 'reservationStartTime', :optional => true}, RESERVATIONENDTIME => {:type => ::Thrift::Types::I64, :name => 'reservationEndTime', :optional => true}, VALIDATED => {:type => ::Thrift::Types::BOOL, :name => 'validated', :default => false, :optional => true} }
Instance Method Summary collapse
Instance Method Details
#struct_fields ⇒ Object
71 |
# File 'lib/user_resource_profile_model_types.rb', line 71 def struct_fields; FIELDS; end |
#validate ⇒ Object
73 74 75 |
# File 'lib/user_resource_profile_model_types.rb', line 73 def validate raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field computeResourceId is unset!') unless @computeResourceId end |