Class: ComputeResourceDescription

Inherits:
Object
  • Object
show all
Includes:
Thrift::Struct, Thrift::Struct_Union
Defined in:
lib/compute_resource_model_types.rb

Overview

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.

Constant Summary collapse

COMPUTERESOURCEID =
1
HOSTNAME =
2
HOSTALIASES =
3
IPADDRESSES =
4
RESOURCEDESCRIPTION =
5
ENABLED =
6
BATCHQUEUES =
7
FILESYSTEMS =
8
JOBSUBMISSIONINTERFACES =
9
DATAMOVEMENTINTERFACES =
10
MAXMEMORYPERNODE =
11
GATEWAYUSAGEREPORTING =
12
GATEWAYUSAGEMODULELOADCOMMAND =
13
GATEWAYUSAGEEXECUTABLE =
14
CPUSPERNODE =
15
DEFAULTNODECOUNT =
16
DEFAULTCPUCOUNT =
17
DEFAULTWALLTIME =
18
FIELDS =
{
  COMPUTERESOURCEID => {:type => ::Thrift::Types::STRING, :name => 'computeResourceId', :default => %q"DO_NOT_SET_AT_CLIENTS"},
  HOSTNAME => {:type => ::Thrift::Types::STRING, :name => 'hostName'},
  HOSTALIASES => {:type => ::Thrift::Types::LIST, :name => 'hostAliases', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
  IPADDRESSES => {:type => ::Thrift::Types::LIST, :name => 'ipAddresses', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
  RESOURCEDESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'resourceDescription', :optional => true},
  ENABLED => {:type => ::Thrift::Types::BOOL, :name => 'enabled', :optional => true},
  BATCHQUEUES => {:type => ::Thrift::Types::LIST, :name => 'batchQueues', :element => {:type => ::Thrift::Types::STRUCT, :class => ::BatchQueue}, :optional => true},
  FILESYSTEMS => {:type => ::Thrift::Types::MAP, :name => 'fileSystems', :key => {:type => ::Thrift::Types::I32, :enum_class => ::FileSystems}, :value => {:type => ::Thrift::Types::STRING}, :optional => true},
  JOBSUBMISSIONINTERFACES => {:type => ::Thrift::Types::LIST, :name => 'jobSubmissionInterfaces', :element => {:type => ::Thrift::Types::STRUCT, :class => ::JobSubmissionInterface}, :optional => true},
  DATAMOVEMENTINTERFACES => {:type => ::Thrift::Types::LIST, :name => 'dataMovementInterfaces', :element => {:type => ::Thrift::Types::STRUCT, :class => ::DataMovementInterface}, :optional => true},
  MAXMEMORYPERNODE => {:type => ::Thrift::Types::I32, :name => 'maxMemoryPerNode', :optional => true},
  GATEWAYUSAGEREPORTING => {:type => ::Thrift::Types::BOOL, :name => 'gatewayUsageReporting', :optional => true},
  GATEWAYUSAGEMODULELOADCOMMAND => {:type => ::Thrift::Types::STRING, :name => 'gatewayUsageModuleLoadCommand', :optional => true},
  GATEWAYUSAGEEXECUTABLE => {:type => ::Thrift::Types::STRING, :name => 'gatewayUsageExecutable', :optional => true},
  CPUSPERNODE => {:type => ::Thrift::Types::I32, :name => 'cpusPerNode', :optional => true},
  DEFAULTNODECOUNT => {:type => ::Thrift::Types::I32, :name => 'defaultNodeCount', :optional => true},
  DEFAULTCPUCOUNT => {:type => ::Thrift::Types::I32, :name => 'defaultCPUCount', :optional => true},
  DEFAULTWALLTIME => {:type => ::Thrift::Types::I32, :name => 'defaultWalltime', :optional => true}
}

Instance Method Summary collapse

Instance Method Details

#struct_fieldsObject



461
# File 'lib/compute_resource_model_types.rb', line 461

def struct_fields; FIELDS; end

#validateObject

Raises:

  • (::Thrift::ProtocolException)


463
464
465
466
# File 'lib/compute_resource_model_types.rb', line 463

def validate
  raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field computeResourceId is unset!') unless @computeResourceId
  raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field hostName is unset!') unless @hostName
end