Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various small changes #109

Merged
merged 5 commits into from
Jan 20, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 63 additions & 28 deletions carmin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ info:
name: CARMIN mailing list
url: https://groups.google.com/d/forum/carmin
email: [email protected]
security:
security:
- ApiKey: []
paths:
/platform:
Expand Down Expand Up @@ -90,7 +90,7 @@ paths:
post:
summary: Initialize an execution
description:
The successful response must contain the execution identifier.
The successful response must contain the execution identifier.
If the status “Initializing” is returned, playExecution must be called to start the execution.
operationId: createExecution
requestBody :
Expand Down Expand Up @@ -141,22 +141,25 @@ paths:
$ref: '#/components/schemas/Execution'
default:
$ref: '#/components/responses/Error'
put:
patch:
summary: Modify an execution.
description:
Only the name and the timeout of the execution can be modified.
Changes to the identifier or the status will raise errors.
Changes to the other properties will be ignored.
Only the name and the timeout of the execution can be modified.
All other changes will raise errors.
operationId: updateExecution
requestBody:
required: true
content:
application/json:
application/json-patch+json:
schema:
$ref: '#/components/schemas/Execution'
$ref: '#/components/schemas/PatchBody'
responses:
'204':
'200':
description: successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Execution'
default:
$ref: '#/components/responses/Error'
delete:
Expand Down Expand Up @@ -247,11 +250,13 @@ paths:
/pipelines:
get:
summary: List pipelines
description:
All the pipelines that the user can execute must be returned.
It is up to the platform to return pipelines that the user cannot execute.
description: >
If an user is identified, the platform must return all the pipelines this user can execute, and it may also return additional pipelines that the user cannot execute.
This method can also be used without being identified, in a anonymous way, with the objective of advertising. In the case, the platform may return any number of pipelines and all of them must have the "canExecute" property set to false. A platform can ignore this feature by returning an empty list.

When studyIdentifier is present, all the pipelines that the user can execute in the study must be returned. In this case, execution rights denote the rights to execute the pipeline in the study.
operationId: listPipelines
security: []
parameters:
- name: studyIdentifier
in: query
Expand Down Expand Up @@ -297,11 +302,11 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/Pipeline'
default:
default:
$ref: '#/components/responses/Error'
/pipelines/{pipelineIdentifier}/boutiquesdescriptor:
get:
summary: Returns the Boutiques descriptor of the pipeline, if available.
summary: Returns the Boutiques descriptor of the pipeline, if available.
operationId: getBoutiquesDescriptor
parameters:
- name: pipelineIdentifier
Expand All @@ -317,7 +322,7 @@ paths:
application/json:
schema:
$ref: 'http://raw.githubusercontent.com/boutiques/boutiques/0.5.8/tools/python/boutiques/schema/descriptor.schema.json'
default:
default:
$ref: '#/components/responses/Error'
/path/{completePath}:
get:
Expand All @@ -331,8 +336,8 @@ paths:
- name: completePath
in: path
required: true
description: the complete path on which to request information.
It can contain non-encoded slashes.
description: the complete path on which to request information.
It can contain non-encoded slashes.
Except for the "exists" action, any request on a non-existing path should return an error
schema:
type: string
Expand All @@ -355,13 +360,13 @@ paths:
- md5
responses:
'200':
description: successful response.
If the action is "content", the raw file (or a gzipped tarball) is returned, with the according mime type.
description: successful response.
If the action is "content", the raw file (or a gzipped tarball) is returned, with the according mime type.
Otherwise a json response a returned
content:
application/json:
schema:
$ref: '#/components/schemas/GetPathResponse'
$ref: '#/components/schemas/GetPathResponse'
application/octet-stream:
# any media type is accepted, equivalent to `*/*`
schema:
Expand Down Expand Up @@ -418,7 +423,7 @@ paths:
content:
application/json:
schema:
$ref: '#/components/schemas/Path'
$ref: '#/components/schemas/Path'
default:
$ref: '#/components/responses/Error'
delete:
Expand Down Expand Up @@ -451,7 +456,7 @@ components:
PathExecutionIdentifier:
name: executionIdentifier
in: path
required: true
required: true
schema:
type: string
format: ascii
Expand Down Expand Up @@ -515,7 +520,7 @@ components:
defaultExecutionTimeout:
type: integer
format: int64
unsupportedMethods:
unsupportedMethods:
# not present in 0.2, keep it as optional
type: array
items:
Expand All @@ -538,7 +543,7 @@ components:
type: string
description: Complete list of all properties that can be used to describe the pipelines and to filter them in the "listPipelines" method

additionalProperties: true # allow extensions
additionalProperties: true # allow extensions
AuthenticationCredentials:
type: object
required:
Expand Down Expand Up @@ -589,7 +594,7 @@ components:
type: object
additionalProperties:
type: string
description: the properties (as keys) and their values that describe the pipeline.
description: the properties (as keys) and their values that describe the pipeline.
The properties used must be listed in the "supportedPipelineProperties" of the "getPlatformProperties" method.
errorCodesAndMessages:
type: array
Expand Down Expand Up @@ -644,7 +649,7 @@ components:
description: The timeout in seconds until which the execution is killed and deleted with all its files. 0 or absence means no timeout
status:
type: string
enum: [Initializing,Ready,Running,Finished,InitializationFailed,ExecutionFailed,Unknown,Killed]
enum: [Initializing,Ready,Running,Paused,Finished,InitializationFailed,ExecutionFailed,Unknown,Killed]
readOnly: true
description: The status of the execution. Must always be present in responses.
inputValues:
Expand All @@ -656,11 +661,11 @@ components:
type: object
additionalProperties:
type: array
items:
items:
type: string
format: url
readOnly: true
description:
description:
Absent when not available (e.g. execution still running). Empty if no returned file is produced.
Each key/value of the "returnedFiles" object corresponds to an output pipeline parameter (with "isReturnedValue" set to true) and the key must be the parameter name. The value must be an array of valid URL strings.
A value array can be empty if the output parameter produces no value. It can have several URLs entries when the output is a directory with several files, a big file split in several download links, several files or any other implementation specific design.
Expand Down Expand Up @@ -756,3 +761,33 @@ components:
- Archive
md5:
type: string
PatchBody:
type: array
items:
$ref: "#/components/schemas/PatchDocument"
PatchDocument:
type: object
description: A JSONPatch document as defined by RFC 6902
required:
- "op"
- "path"
properties:
op:
type: string
description: The operation to be performed
enum:
- "add"
- "remove"
- "replace"
- "move"
- "copy"
- "test"
path:
type: string
description: A JSON-Pointer
value:
type: object
description: The value to be used within the operations.
from:
type: string
description: A string containing a JSON Pointer value.