dk.sdu.cloud.app.store.api.ApplicationInvocationDescription

UCloud Developer Guide / Orchestration of Resources / Compute / Application Store / Applications

ApplicationInvocationDescription

The specification for how to invoke an Application

data class ApplicationInvocationDescription(
    val tool: ToolReference,
    val invocation: List<InvocationParameter>,
    val parameters: List<ApplicationParameter>,
    val outputFileGlobs: List<String>,
    val applicationType: ApplicationType?,
    val vnc: VncDescription?,
    val web: WebDescription?,
    val ssh: SshDescription?,
    val container: ContainerDescription?,
    val environment: JsonObject?,
    val allowAdditionalMounts: Boolean?,
    val allowAdditionalPeers: Boolean?,
    val allowMultiNode: Boolean?,
    val allowPublicIp: Boolean?,
    val allowPublicLink: Boolean?,
    val fileExtensions: List<String>?,
    val licenseServers: List<String>?,
    val modules: ModulesSection?,
    val shouldAllowAdditionalMounts: Boolean,
    val shouldAllowAdditionalPeers: Boolean,
)

All Applications require a tool. The Tool specify the concrete computing environment. With the tool we get the required software packages and configuration.

In this environment, we must start some software. Any Job launched with this Application will only run for as long as the software runs. You can specify the command-line invocation through the invocation property. Each element in this list produce zero or more arguments for the actual invocation. These InvocationParameters can reference the input parameters of the Application. In addition, you can set the environment variables through the same mechanism.

All Applications have an ApplicationType associated with them. This type determines how the user interacts with your Application. We support the following types:

  • BATCH: A non-interactive Application which runs without user input

  • VNC: An interactive Application exposing a remote desktop interface

  • WEB: An interactive Application exposing a graphical web interface

The Application must expose information about how to access interactive services. It can do so by setting vnc and web. Providers must use this information when opening an interactive session.

Users can launch a Job with additional resources, such as IP addresses and files. The Application author specifies the supported resources through the allowXXX properties.

Properties

Last updated