UNPKG

@stencila/schema

Version:

Stencila schema and other specifications

269 lines (268 loc) 7.62 kB
{ "title": "SoftwareSession", "@id": "stencila:SoftwareSession", "extends": "Thing", "role": "primary", "status": "unstable", "category": "code", "description": "Definition of a compute session, including its software and compute resource\nrequirements and status.\n", "$comment": "Usually used to define the environment that is required to execute an\nexecutable document.\n", "properties": { "type": { "@id": "schema:type", "description": "The name of the type.", "type": "string", "enum": [ "SoftwareSession" ], "default": "SoftwareSession", "from": "Entity" }, "id": { "@id": "schema:id", "description": "The identifier for this item.", "type": "string", "from": "Entity" }, "meta": { "@id": "stencila:meta", "description": "Metadata associated with this item.", "type": "object", "from": "Entity" }, "alternateNames": { "@id": "schema:alternateName", "description": "Alternate names (aliases) for the item.", "type": "array", "items": { "type": "string" }, "from": "Thing", "aliases": [ "alternateName" ] }, "description": { "@id": "schema:description", "description": "A description of the item.", "anyOf": [ { "type": "string" }, { "type": "array", "items": { "$ref": "Node.schema.json" } } ], "from": "Thing" }, "identifiers": { "@id": "schema:identifier", "description": "Any kind of identifier for any kind of Thing.", "$comment": "Some identifiers have specific properties e.g the `issn` property for\nthe `Periodical` type. These should be used in preference to this\nproperty which is intended for identifiers that do not yet have a\nspecific property. Identifiers can be represented as strings, but\nusing a `PropertyValue` will usually be better because it allows\nfor `propertyID` (i.e. the type of identifier).\n", "type": "array", "items": { "anyOf": [ { "type": "string" }, { "$ref": "PropertyValue.schema.json" } ] }, "from": "Thing", "aliases": [ "identifier" ] }, "name": { "@id": "schema:name", "description": "The name of the item.", "type": "string", "from": "Thing" }, "url": { "@id": "schema:url", "description": "The URL of the item.", "type": "string", "format": "uri", "from": "Thing" }, "environment": { "@id": "stencila:environment", "description": "The software environment to execute this session in.", "allOf": [ { "$ref": "SoftwareEnvironment.schema.json" } ], "from": "SoftwareSession" }, "dateStart": { "@id": "schema:startDate", "description": "The date-time that the session began.", "anyOf": [ { "$ref": "Date.schema.json" }, { "type": "string", "format": "date" }, { "type": "string", "format": "date-time" } ], "from": "SoftwareSession" }, "dateEnd": { "@id": "schema:endDate", "description": "The date-time that the session ended.", "anyOf": [ { "$ref": "Date.schema.json" }, { "type": "string", "format": "date" }, { "type": "string", "format": "date-time" } ], "from": "SoftwareSession" }, "status": { "@id": "stencila:sessionStatus", "description": "The status of the session (starting, stopped, etc).", "enum": [ "unknown", "starting", "started", "stopping", "stopped", "failed" ], "from": "SoftwareSession" }, "clientsRequest": { "@id": "stencila:clientsRequest", "description": "The maximum number of concurrent clients requested for the session.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "clientsLimit": { "@id": "stencila:clientsLimit", "description": "The maximum number of concurrent clients the session is limited to.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "durationRequest": { "@id": "stencila:durationRequest", "description": "The maximum duration (seconds) requested for the session.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "durationLimit": { "@id": "stencila:durationLimit", "description": "The maximum duration (seconds) the session is limited to.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "timeoutRequest": { "@id": "stencila:timeoutRequest", "description": "The inactivity timeout (seconds) requested for the session.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "timeoutLimit": { "@id": "stencila:timeoutLimit", "description": "The inactivity timeout (seconds) the session is limited to.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "cpuRequest": { "@id": "stencila:cpuRequest", "description": "The amount of CPU requested for the session.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "cpuLimit": { "@id": "stencila:cpuLimit", "description": "The amount of CPU the session is limited to.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "memoryRequest": { "@id": "stencila:memoryRequest", "description": "The amount of memory requested for the session.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "memoryLimit": { "@id": "stencila:memoryLimit", "description": "The amount of memory that the session is limited to.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "networkTransferRequest": { "@id": "stencila:networkTransferRequest", "description": "The amount of network data transfer (GiB) requested for the session.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "networkTransferLimit": { "@id": "stencila:networkTransferLimit", "description": "The amount of network data transfer (GiB) that the session is limited to.", "type": "number", "minimum": 0, "from": "SoftwareSession" }, "volumeMounts": { "@id": "stencila:volumeMounts", "description": "Volumes to mount in the session.", "type": "array", "items": [ { "$ref": "VolumeMount.schema.json" } ], "from": "SoftwareSession", "aliases": [ "volumeMount" ] } }, "file": "SoftwareSession.schema.yaml", "children": [], "descendants": [], "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://schema.stenci.la/v0/SoftwareSession.schema.json", "source": "https://github.com/stencila/schema/blob/master/SoftwareSession.schema.yaml", "type": "object", "propertyAliases": { "alternateName": "alternateNames", "identifier": "identifiers", "volumeMount": "volumeMounts" }, "additionalProperties": false, "required": [ "type" ] }