NormalizedToolDescription
¶
The specification of a Tool
data class NormalizedToolDescription(
val info: NameAndVersion,
val container: String?,
val defaultNumberOfNodes: Int,
val defaultTimeAllocation: SimpleDuration,
val requiredModules: List<String>,
val authors: List<String>,
val title: String,
val description: String,
val backend: ToolBackend,
val license: String,
val image: String?,
val supportedProviders: List<String>?,
)
Properties
info
: NameAndVersion
The unique name and version tuple
NameAndVersion
container
: String?
Deprecated, use image instead.
String?
defaultNumberOfNodes
: Int
The default number of nodes
Int
defaultTimeAllocation
: SimpleDuration
The default time allocation to use, if none is specified.
SimpleDuration
requiredModules
: List<String>
A list of required 'modules'
List<String>
The provider decides how to interpret this value. It is intended to be used with a module system of traditional HPC systems.
title
: String
A title for this Tool used for presentation purposes
String
description
: String
A description for this Tool used for presentation purposes
String
backend
: ToolBackend
The backend to use for this Tool
ToolBackend
license
: String
A license used for this Tool. Used for presentation purposes.
String
image
: String?
The 'image' used for this Tool
String?
This value depends on the backend
used for the Tool:
DOCKER
: The image is a container image. Typically follows the Docker format.VIRTUAL_MACHINE
: The image is a reference to a base-image
It is always up to the Provider how to interpret this value. We recommend using the supportedProviders
property to ensure compatibility.
supportedProviders
: List<String>?
A list of supported Providers
List<String>?
This property determines which Providers are supported by this Tool. The backend will not allow a user to launch an Application which uses this Tool on a provider not listed in this value.
If no providers are supplied, then this Tool will implicitly support all Providers.