InstancePostBodyBody: {
    application_id: string;
    as_name: string;
    callback_context?: string;
    callback_token?: string;
    callback_url?: string;
    debug?: string;
    generate_callback_token?: boolean;
    project_id: string;
    specification?: string;
}

Type declaration

  • application_id: string

    A supported application. Applications instances are managed using pre-deployed Kubernetes Operators. The application ID is a combination of the operator plural and group.

    Application IDs currently supported include datamanagerjobs.squonk.it and jupyternotebooks.squonk.it

    1

    80

  • as_name: string

    The name to use for the instance

    2

    80

    ^[A-Za-z0-9]+[A-Za-z0-9-_. ]*[A-Za-z0-9]+$

  • Optionalcallback_context?: string

    Used in conjunction with the callback_url any value provided here will be passed back in the message payload that's delivered to the callback URL. It can be used by the recipient to provide a context that's meaningful

    1

    256

  • Optionalcallback_token?: string

    An optional 22-character sortuuid callback token that is supplied by the remote service. If not provided the user can use generate_callback_token to have one generated and returned in the response.

    See the Python module's shortuuid.get_alphabet() for the full list of permitted characters

    22

    22

    ^[2-9A-HJ-NP-Za-km-z]{22}$

  • Optionalcallback_url?: string

    A URL the DM will use to PUT job progress messages as the requested instance runs. Used, at the moment, for Job execution

  • Optionaldebug?: string

    A debug value that may be used by the instance.

    For Data Manager Job applications setting this to anything other zero ('0') prevents the Job's Pod from being deleted automatically, allowing a developer to inspect the Pod's log for example.

    The behaviour of Application instances using this property is undefined. It will depend on whether the application CRD handles the Data Manager debug field.

  • Optionalgenerate_callback_token?: boolean

    If set a callback token will be provided in the response. The token allows files to be downloaded from the instance project and expires after a pre-configured amount of time after the instance is complete or if the user revokes the token.

    Caution should be taken using this feature. A 3rd party can access the Project's files without authentication, they just need the token and the project identity.

    Tokens should therefore be revoked when they're no longer required

  • project_id: string

    The project to attach

    ^project-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$

  • Optionalspecification?: string

    The instance specification. A JSON string that's application-specific and controls the application's behaviour.

    When launching a Data Manager Job Application you must identify the Job using the properties collection, job and version, e.g. {"collection":"im-test","job":"coin-test","version":"1.0.0"}

    Jobs that offer commands will often advertise a series of inputs and options where the values can be provided using a variables map in the specification. Something like "variables":{"x":7}.

    Jobs start in a Job-specific working directory but the starting directory for any Job can be adjusted by defining a sub_path to the root specification. For example, if you want the Job to start in the path foo/bar (inside the Job's built-in working directory) you can add "sub_path":"foo/bar" to the specification. You can only use a sub-path for a Job if the Job defines a working directory and sub-path cannot begin or end with a path separator (/).

    Applications also support variables. The Jupyter notebook application supports the definition of the notebook "image", "cpu" and "memory". A full Jupyter notebook specification might be {"variables":{"image":"Tensorflow 2.9","cpu":2,"memory":"4Gi"}}, where memory is limited to Gi as a suffix.