API: Internal/Beta

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>?,
info: NameAndVersion The unique name and version tuple
container: String? Deprecated, use image instead.

Deprecated: Yes

defaultNumberOfNodes: Int The default number of nodes

Deprecated: Yes

defaultTimeAllocation: SimpleDuration The default time allocation to use, if none is specified.

Deprecated: Yes

requiredModules: List<String> A list of required 'modules'

The provider decides how to interpret this value. It is intended to be used with a module system of traditional HPC systems.

authors: List<String> A list of authors
title: String A title for this Tool used for presentation purposes
description: String A description for this Tool used for presentation purposes
backend: ToolBackend The backend to use for this Tool
license: String A license used for this Tool. Used for presentation purposes.
image: String? The 'image' used for this Tool

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

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.