diff --git a/src/main/resources/swagger/ga4gh-tool-discovery.yaml b/src/main/resources/swagger/ga4gh-tool-discovery.yaml index f749868e..119ed305 100644 --- a/src/main/resources/swagger/ga4gh-tool-discovery.yaml +++ b/src/main/resources/swagger/ga4gh-tool-discovery.yaml @@ -113,16 +113,29 @@ paths: schema: $ref: '#/definitions/Error' definitions: - + ToolType: + # thought. it would be nicer if ToolTypes are consistent across registries. How would we accomplish this? Operate a MIME-type like list? + description: Describes a type of tool allowing us to categorize workflows, the language of the workflow, tools, and maybe even other entities separately + properties: + id: + type: string + description: The unique identifier for the type + name: + type: string + description: A short friendly name for the type + description: + type: string + description: A longer explanation of what this type is and what it can accomplish Tool: - description: A tool (or described tool) describes one pairing of a tool as described in a descriptor file (which potentially describes multiple tools) and a Docker image. - required: - - id + description: A tool (or described tool) describes one pairing of a tool as described in a descriptor file (which potentially describes multiple tools) and a Docker image. + required: + - id - registry - - organization + - organization - name - author - meta-version + - tooltype properties: id: type: string @@ -139,6 +152,9 @@ definitions: toolname: type: string description: The name of the tool. + tooltype: + $ref: '#/definitions/ToolType' + description: A constrained category for the tool. description: type: string description: The description of the tool. @@ -147,14 +163,14 @@ definitions: description: The author of the tool. meta-version: type: string - description: The version of this entry of the registry. Iterates when fields like the description, author, etc. are updated. + description: 'The version of this entry of the registry. Iterates when fields like the description, author, etc. are updated.' versions: type: array items: $ref: '#/definitions/ToolVersion' ToolVersion: - description: A tool version describes a particular iteration of a tool as described by a reference to a specific image and dockerfile. - required: + description: A tool version describes a particular iteration of a tool as described by a reference to a specific image and dockerfile. + required: - id - descriptor - image @@ -172,9 +188,9 @@ definitions: description: The docker path to the image (and version) for this tool. (e.g. quay.io/seqware/seqware_full/1.1) dockerfile: type: string - description: The url to the dockerfile used to build this image, should include version information (e.g. https://github.com/ICGC-TCGA-PanCancer/pcawg_delly_workflow/blob/master/delly_docker/Dockerfile ) + description: 'The url to the dockerfile used to build this image, should include version information (e.g. https://github.com/ICGC-TCGA-PanCancer/pcawg_delly_workflow/blob/master/delly_docker/Dockerfile )' ToolDescriptor: - description: A tool descriptor is a metadata document that describes one or more tools. + description: A tool descriptor is a metadata document that describes one or more tools. required: - descriptor properties: @@ -183,7 +199,7 @@ definitions: description: The descriptor that represents this version of the tool. (CWL or WDL) ToolDockerfile: description: A tool dockerfile is a document that describes how to build a particular Docker image. - required: + required: - dockerfile properties: dockerfile: @@ -198,3 +214,4 @@ definitions: message: type: string default: Internal Server Error +