@metacall/protocol 0.1.5 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -2
- package/.eslintignore +0 -1
- package/dist/doc/index.d.ts +0 -1
- package/dist/doc/index.js +0 -22
- package/swagger.yaml +0 -819
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metacall/protocol",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "Tool for deploying into MetaCall FaaS platform.",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./*": "./dist/*.js",
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
"unit": "npm run --silent test -- --ignore **/integration**",
|
|
19
19
|
"prepublishOnly": "npm run --silent build",
|
|
20
20
|
"build": "npm run --silent lint && tsc",
|
|
21
|
-
"postinstall": "npm run build",
|
|
22
21
|
"lint": "eslint . --ignore-pattern dist",
|
|
23
22
|
"fix": "eslint . --ignore-pattern dist --fix",
|
|
24
23
|
"doc": "node dist/doc/index.js"
|
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
src/test/resources/**
|
package/dist/doc/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/doc/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const express_1 = __importDefault(require("express"));
|
|
7
|
-
const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
|
|
8
|
-
const yamljs_1 = __importDefault(require("yamljs"));
|
|
9
|
-
if (process.env.NODE_ENV == 'development' || process.env.NODE_ENV == 'dev') {
|
|
10
|
-
const PORT = parseInt(process.env.PORT, 10) || 5000;
|
|
11
|
-
const app = express_1.default();
|
|
12
|
-
const swaggerDocument = yamljs_1.default.load('./swagger.yaml');
|
|
13
|
-
const options = {
|
|
14
|
-
swaggerOptions: {
|
|
15
|
-
supportedSubmitMethods: []
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
app.use('/api-docs', swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerDocument, options));
|
|
19
|
-
app.listen(PORT, () => {
|
|
20
|
-
console.log(`Listening on port ${PORT}`);
|
|
21
|
-
});
|
|
22
|
-
}
|
package/swagger.yaml
DELETED
|
@@ -1,819 +0,0 @@
|
|
|
1
|
-
openapi: 3.0.3
|
|
2
|
-
info:
|
|
3
|
-
title: METACALL
|
|
4
|
-
description: Api for Metacall Faas
|
|
5
|
-
version: 0.0.1
|
|
6
|
-
servers:
|
|
7
|
-
- url: 'https://{serverURL}/'
|
|
8
|
-
variables:
|
|
9
|
-
serverURL:
|
|
10
|
-
default: dashboard.metacall.io
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
paths:
|
|
14
|
-
/api/billing/list-subscriptions:
|
|
15
|
-
get:
|
|
16
|
-
summary: Retrieve information about this service
|
|
17
|
-
description: >-
|
|
18
|
-
gives you a list of the subscription available
|
|
19
|
-
operationId: GetSubscriptionsList
|
|
20
|
-
security:
|
|
21
|
-
- JwtAuth: []
|
|
22
|
-
responses:
|
|
23
|
-
'200':
|
|
24
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
25
|
-
'500':
|
|
26
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
27
|
-
tags:
|
|
28
|
-
- Billing
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/api/account/refresh-token:
|
|
32
|
-
get:
|
|
33
|
-
summary: Retrieve information about this service
|
|
34
|
-
description: >-
|
|
35
|
-
updates the auth token
|
|
36
|
-
operationId: GetRefreshToken
|
|
37
|
-
security:
|
|
38
|
-
- JwtAuth: []
|
|
39
|
-
responses:
|
|
40
|
-
'200':
|
|
41
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
42
|
-
'500':
|
|
43
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
44
|
-
tags:
|
|
45
|
-
- Auth
|
|
46
|
-
/validate:
|
|
47
|
-
get:
|
|
48
|
-
summary: Retrieve information about this service
|
|
49
|
-
description: >-
|
|
50
|
-
validates the auth token
|
|
51
|
-
operationId: ValidateToken
|
|
52
|
-
security:
|
|
53
|
-
- JwtAuth: []
|
|
54
|
-
responses:
|
|
55
|
-
'200':
|
|
56
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
57
|
-
'500':
|
|
58
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
59
|
-
tags:
|
|
60
|
-
- Auth
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
/api/account/deploy-enabled:
|
|
64
|
-
get:
|
|
65
|
-
summary: Retrieve information about this service
|
|
66
|
-
description: >-
|
|
67
|
-
checks if you're able to deploy
|
|
68
|
-
operationId: DeployEnabled
|
|
69
|
-
security:
|
|
70
|
-
- JwtAuth: []
|
|
71
|
-
responses:
|
|
72
|
-
'200':
|
|
73
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
74
|
-
'500':
|
|
75
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
76
|
-
tags:
|
|
77
|
-
- Account
|
|
78
|
-
|
|
79
|
-
/api/inspect:
|
|
80
|
-
get:
|
|
81
|
-
summary: Retrieve information about this service
|
|
82
|
-
description: >-
|
|
83
|
-
gives you are deploys with it's endpoints
|
|
84
|
-
operationId: Inspect
|
|
85
|
-
security:
|
|
86
|
-
- JwtAuth: []
|
|
87
|
-
responses:
|
|
88
|
-
'200':
|
|
89
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
90
|
-
'500':
|
|
91
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
92
|
-
tags:
|
|
93
|
-
- Account
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
/api/package/create:
|
|
97
|
-
post:
|
|
98
|
-
summary: Retrieve information about this service
|
|
99
|
-
description: >-
|
|
100
|
-
deploys the previously uploaded zip into the faas
|
|
101
|
-
operationId: UploadPackage
|
|
102
|
-
security:
|
|
103
|
-
- JwtAuth: []
|
|
104
|
-
requestBody:
|
|
105
|
-
$ref: '#/components/requestBodies/UploadZip'
|
|
106
|
-
responses:
|
|
107
|
-
'200':
|
|
108
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
109
|
-
'500':
|
|
110
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
111
|
-
tags:
|
|
112
|
-
- Packages
|
|
113
|
-
|
|
114
|
-
/api/deploy/add:
|
|
115
|
-
post:
|
|
116
|
-
summary: Retrieve information about this service
|
|
117
|
-
description: >-
|
|
118
|
-
deploys the previously uploaded zip into the faas
|
|
119
|
-
operationId: AddRepo
|
|
120
|
-
requestBody:
|
|
121
|
-
$ref: '#/components/requestBodies/AddRepo'
|
|
122
|
-
security:
|
|
123
|
-
- JwtAuth: []
|
|
124
|
-
responses:
|
|
125
|
-
'200':
|
|
126
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
127
|
-
'500':
|
|
128
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
129
|
-
tags:
|
|
130
|
-
- Deployments
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
/api/deploy/create:
|
|
134
|
-
post:
|
|
135
|
-
summary: Retrieve information about this service
|
|
136
|
-
description: >-
|
|
137
|
-
deploys the previously uploaded zip into the faas
|
|
138
|
-
operationId: CreateDeploy
|
|
139
|
-
requestBody:
|
|
140
|
-
$ref: '#/components/requestBodies/CreateDeployment'
|
|
141
|
-
security:
|
|
142
|
-
- JwtAuth: []
|
|
143
|
-
responses:
|
|
144
|
-
'200':
|
|
145
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
146
|
-
'500':
|
|
147
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
148
|
-
tags:
|
|
149
|
-
- Deployments
|
|
150
|
-
|
|
151
|
-
/api/deploy/delete:
|
|
152
|
-
post:
|
|
153
|
-
summary: Retrieve information about this service
|
|
154
|
-
description: >-
|
|
155
|
-
deletes the deploy and the zip
|
|
156
|
-
operationId: DeleteDeploy
|
|
157
|
-
security:
|
|
158
|
-
- JwtAuth: []
|
|
159
|
-
requestBody:
|
|
160
|
-
$ref: '#/components/requestBodies/DeployDelete'
|
|
161
|
-
responses:
|
|
162
|
-
'200':
|
|
163
|
-
$ref: '#/components/responses/200ServiceInfo'
|
|
164
|
-
'500':
|
|
165
|
-
$ref: '#/components/responses/500InternalServerError'
|
|
166
|
-
tags:
|
|
167
|
-
- Deployments
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
components:
|
|
173
|
-
securitySchemes:
|
|
174
|
-
JwtAuth:
|
|
175
|
-
type: apiKey
|
|
176
|
-
name: Authorization
|
|
177
|
-
in: header
|
|
178
|
-
description: >-
|
|
179
|
-
A valid refresh token must be passed in Authorization header as 'jwt ' + token
|
|
180
|
-
|
|
181
|
-
schemas:
|
|
182
|
-
|
|
183
|
-
Service:
|
|
184
|
-
description: GA4GH service
|
|
185
|
-
type: object
|
|
186
|
-
required:
|
|
187
|
-
- id
|
|
188
|
-
- name
|
|
189
|
-
- type
|
|
190
|
-
- organization
|
|
191
|
-
- version
|
|
192
|
-
properties:
|
|
193
|
-
id:
|
|
194
|
-
type: string
|
|
195
|
-
description: >-
|
|
196
|
-
Unique ID of this service. Reverse domain name notation is
|
|
197
|
-
recommended, though not required. The identifier should attempt to
|
|
198
|
-
be globally unique so it can be used in downstream aggregator
|
|
199
|
-
services e.g. Service Registry.
|
|
200
|
-
example: org.ga4gh.myservice
|
|
201
|
-
name:
|
|
202
|
-
type: string
|
|
203
|
-
description: Name of this service. Should be human readable.
|
|
204
|
-
example: My project
|
|
205
|
-
|
|
206
|
-
description:
|
|
207
|
-
type: string
|
|
208
|
-
description: >-
|
|
209
|
-
Description of the service. Should be human readable and provide
|
|
210
|
-
information about the service.
|
|
211
|
-
example: This service provides...
|
|
212
|
-
organization:
|
|
213
|
-
type: object
|
|
214
|
-
description: Organization providing the service
|
|
215
|
-
required:
|
|
216
|
-
- name
|
|
217
|
-
- url
|
|
218
|
-
properties:
|
|
219
|
-
name:
|
|
220
|
-
type: string
|
|
221
|
-
description: Name of the organization responsible for the service
|
|
222
|
-
example: My organization
|
|
223
|
-
url:
|
|
224
|
-
type: string
|
|
225
|
-
format: uri
|
|
226
|
-
description: URL of the website of the organization (RFC 3986 format)
|
|
227
|
-
example: 'https://example.com'
|
|
228
|
-
contactUrl:
|
|
229
|
-
type: string
|
|
230
|
-
format: uri
|
|
231
|
-
description: >-
|
|
232
|
-
URL of the contact for the provider of this service, e.g. a link to
|
|
233
|
-
a contact form (RFC 3986 format), or an email (RFC 2368 format).
|
|
234
|
-
example: 'mailto:support@example.com'
|
|
235
|
-
documentationUrl:
|
|
236
|
-
type: string
|
|
237
|
-
format: uri
|
|
238
|
-
description: >-
|
|
239
|
-
URL of the documentation of this service (RFC 3986 format). This
|
|
240
|
-
should help someone learn how to use your service, including any
|
|
241
|
-
specifics required to access data, e.g. authentication.
|
|
242
|
-
example: 'https://docs.myservice.example.com'
|
|
243
|
-
createdAt:
|
|
244
|
-
type: string
|
|
245
|
-
format: date-time
|
|
246
|
-
description: >-
|
|
247
|
-
Timestamp describing when the service was first deployed and
|
|
248
|
-
available (RFC 3339 format)
|
|
249
|
-
example: '2019-06-04T12:58:19Z'
|
|
250
|
-
updatedAt:
|
|
251
|
-
type: string
|
|
252
|
-
format: date-time
|
|
253
|
-
description: >-
|
|
254
|
-
Timestamp describing when the service was last updated (RFC 3339
|
|
255
|
-
format)
|
|
256
|
-
example: '2019-06-04T12:58:19Z'
|
|
257
|
-
environment:
|
|
258
|
-
type: string
|
|
259
|
-
description: >-
|
|
260
|
-
Environment the service is running in. Use this to distinguish
|
|
261
|
-
between production, development and testing/staging deployments.
|
|
262
|
-
Suggested values are prod, test, dev, staging. However this is
|
|
263
|
-
advised and not enforced.
|
|
264
|
-
example: test
|
|
265
|
-
version:
|
|
266
|
-
type: string
|
|
267
|
-
description: >-
|
|
268
|
-
Version of the service being described. Semantic versioning is
|
|
269
|
-
recommended, but other identifiers, such as dates or commit hashes,
|
|
270
|
-
are also allowed. The version should be changed whenever the service
|
|
271
|
-
is updated.
|
|
272
|
-
example: 1.0.0
|
|
273
|
-
DrsService:
|
|
274
|
-
type: object
|
|
275
|
-
required:
|
|
276
|
-
- type
|
|
277
|
-
properties:
|
|
278
|
-
type:
|
|
279
|
-
type: object
|
|
280
|
-
required:
|
|
281
|
-
- artifact
|
|
282
|
-
properties:
|
|
283
|
-
artifact:
|
|
284
|
-
type: string
|
|
285
|
-
enum:
|
|
286
|
-
- drs
|
|
287
|
-
example: drs
|
|
288
|
-
Error:
|
|
289
|
-
type: object
|
|
290
|
-
description: An object that can optionally include information about the error.
|
|
291
|
-
properties:
|
|
292
|
-
msg:
|
|
293
|
-
type: string
|
|
294
|
-
description: A detailed error message.
|
|
295
|
-
status_code:
|
|
296
|
-
type: integer
|
|
297
|
-
description: 'The integer representing the HTTP status code (e.g. 200, 404).'
|
|
298
|
-
Checksum:
|
|
299
|
-
type: object
|
|
300
|
-
required:
|
|
301
|
-
- checksum
|
|
302
|
-
- type
|
|
303
|
-
properties:
|
|
304
|
-
checksum:
|
|
305
|
-
type: string
|
|
306
|
-
description: The hex-string encoded checksum for the data
|
|
307
|
-
type:
|
|
308
|
-
type: string
|
|
309
|
-
description: >-
|
|
310
|
-
The digest method used to create the checksum.
|
|
311
|
-
|
|
312
|
-
The value (e.g. `sha-256`) SHOULD be listed as `Hash Name String` in
|
|
313
|
-
the
|
|
314
|
-
https://www.iana.org/assignments/named-information/named-information.xhtml#hash-alg[IANA
|
|
315
|
-
Named Information Hash Algorithm Registry]. Other values MAY be
|
|
316
|
-
used, as long as implementors are aware of the issues discussed in
|
|
317
|
-
https://tools.ietf.org/html/rfc6920#section-9.4[RFC6920].
|
|
318
|
-
|
|
319
|
-
GA4GH may provide more explicit guidance for use of
|
|
320
|
-
non-IANA-registered algorithms in the future. Until then, if
|
|
321
|
-
implementors do choose such an algorithm (e.g. because it's
|
|
322
|
-
implemented by their storage provider), they SHOULD use an existing
|
|
323
|
-
standard `type` value such as `md5`, `etag`, `crc32c`, `trunc512`,
|
|
324
|
-
or `sha1`.
|
|
325
|
-
example: sha-256
|
|
326
|
-
AccessURL:
|
|
327
|
-
type: object
|
|
328
|
-
required:
|
|
329
|
-
- url
|
|
330
|
-
properties:
|
|
331
|
-
url:
|
|
332
|
-
type: string
|
|
333
|
-
description: >-
|
|
334
|
-
A fully resolvable URL that can be used to fetch the actual object
|
|
335
|
-
bytes.
|
|
336
|
-
headers:
|
|
337
|
-
type: array
|
|
338
|
-
items:
|
|
339
|
-
type: string
|
|
340
|
-
description: >-
|
|
341
|
-
An optional list of headers to include in the HTTP request to `url`.
|
|
342
|
-
These headers can be used to provide auth tokens required to fetch
|
|
343
|
-
the object bytes.
|
|
344
|
-
example: 'Authorization: Basic Z2E0Z2g6ZHJz'
|
|
345
|
-
AccessMethod:
|
|
346
|
-
type: object
|
|
347
|
-
required:
|
|
348
|
-
- type
|
|
349
|
-
properties:
|
|
350
|
-
type:
|
|
351
|
-
type: string
|
|
352
|
-
enum:
|
|
353
|
-
- s3
|
|
354
|
-
- gs
|
|
355
|
-
- ftp
|
|
356
|
-
- gsiftp
|
|
357
|
-
- globus
|
|
358
|
-
- htsget
|
|
359
|
-
- https
|
|
360
|
-
- file
|
|
361
|
-
description: Type of the access method.
|
|
362
|
-
access_url:
|
|
363
|
-
$ref: '#/components/schemas/AccessURL'
|
|
364
|
-
description: >-
|
|
365
|
-
An `AccessURL` that can be used to fetch the actual object bytes.
|
|
366
|
-
Note that at least one of `access_url` and `access_id` must be
|
|
367
|
-
provided.
|
|
368
|
-
access_id:
|
|
369
|
-
type: string
|
|
370
|
-
description: >-
|
|
371
|
-
An arbitrary string to be passed to the `/access` method to get an
|
|
372
|
-
`AccessURL`. This string must be unique within the scope of a single
|
|
373
|
-
object. Note that at least one of `access_url` and `access_id` must
|
|
374
|
-
be provided.
|
|
375
|
-
region:
|
|
376
|
-
type: string
|
|
377
|
-
description: >-
|
|
378
|
-
Name of the region in the cloud service provider that the object
|
|
379
|
-
belongs to.
|
|
380
|
-
example: us-east-1
|
|
381
|
-
ContentsObject:
|
|
382
|
-
type: object
|
|
383
|
-
required:
|
|
384
|
-
- name
|
|
385
|
-
properties:
|
|
386
|
-
name:
|
|
387
|
-
type: string
|
|
388
|
-
description: >-
|
|
389
|
-
A name declared by the bundle author that must be used when
|
|
390
|
-
materialising this object, overriding any name directly associated
|
|
391
|
-
with the object itself. The name must be unique with the containing
|
|
392
|
-
bundle. This string is made up of uppercase and lowercase letters,
|
|
393
|
-
decimal digits, hypen, period, and underscore [A-Za-z0-9.-_]. See
|
|
394
|
-
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable
|
|
395
|
-
filenames].
|
|
396
|
-
id:
|
|
397
|
-
type: string
|
|
398
|
-
description: >-
|
|
399
|
-
A DRS identifier of a `DrsObject` (either a single blob or a nested
|
|
400
|
-
bundle). If this ContentsObject is an object within a nested bundle,
|
|
401
|
-
then the id is optional. Otherwise, the id is required.
|
|
402
|
-
drs_uri:
|
|
403
|
-
type: array
|
|
404
|
-
description: >-
|
|
405
|
-
A list of full DRS identifier URI paths that may be used to obtain
|
|
406
|
-
the object. These URIs may be external to this DRS instance.
|
|
407
|
-
example: 'drs://drs.example.org/314159'
|
|
408
|
-
items:
|
|
409
|
-
type: string
|
|
410
|
-
contents:
|
|
411
|
-
type: array
|
|
412
|
-
description: >-
|
|
413
|
-
If this ContentsObject describes a nested bundle and the caller
|
|
414
|
-
specified "?expand=true" on the request, then this contents array
|
|
415
|
-
must be present and describe the objects within the nested bundle.
|
|
416
|
-
items:
|
|
417
|
-
$ref: '#/components/schemas/ContentsObject'
|
|
418
|
-
DrsObject:
|
|
419
|
-
type: object
|
|
420
|
-
required:
|
|
421
|
-
- id
|
|
422
|
-
- self_uri
|
|
423
|
-
- size
|
|
424
|
-
- created_time
|
|
425
|
-
- checksums
|
|
426
|
-
properties:
|
|
427
|
-
id:
|
|
428
|
-
type: string
|
|
429
|
-
description: An identifier unique to this `DrsObject`
|
|
430
|
-
name:
|
|
431
|
-
type: string
|
|
432
|
-
description: >-
|
|
433
|
-
A string that can be used to name a `DrsObject`.
|
|
434
|
-
|
|
435
|
-
This string is made up of uppercase and lowercase letters, decimal
|
|
436
|
-
digits, hypen, period, and underscore [A-Za-z0-9.-_]. See
|
|
437
|
-
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_282[portable
|
|
438
|
-
filenames].
|
|
439
|
-
self_uri:
|
|
440
|
-
type: string
|
|
441
|
-
description: >-
|
|
442
|
-
A drs:// hostname-based URI, as defined in the DRS documentation,
|
|
443
|
-
that tells clients how to access this object.
|
|
444
|
-
|
|
445
|
-
The intent of this field is to make DRS objects self-contained, and
|
|
446
|
-
therefore easier for clients to store and pass around. For example,
|
|
447
|
-
if you arrive at this DRS JSON by resolving a compact
|
|
448
|
-
identifier-based DRS URI, the `self_uri` presents you with a
|
|
449
|
-
hostname and properly encoded DRS ID for use in subsequent `access`
|
|
450
|
-
endpoint calls.
|
|
451
|
-
example: 'drs://drs.example.org/314159'
|
|
452
|
-
size:
|
|
453
|
-
type: integer
|
|
454
|
-
format: int64
|
|
455
|
-
description: >-
|
|
456
|
-
For blobs, the blob size in bytes.
|
|
457
|
-
|
|
458
|
-
For bundles, the cumulative size, in bytes, of items in the
|
|
459
|
-
`contents` field.
|
|
460
|
-
created_time:
|
|
461
|
-
type: string
|
|
462
|
-
format: date-time
|
|
463
|
-
description: >-
|
|
464
|
-
Timestamp of content creation in RFC3339.
|
|
465
|
-
|
|
466
|
-
(This is the creation time of the underlying content, not of the
|
|
467
|
-
JSON object.)
|
|
468
|
-
updated_time:
|
|
469
|
-
type: string
|
|
470
|
-
format: date-time
|
|
471
|
-
description: >-
|
|
472
|
-
Timestamp of content update in RFC3339, identical to `created_time`
|
|
473
|
-
in systems that do not support updates. (This is the update time of
|
|
474
|
-
the underlying content, not of the JSON object.)
|
|
475
|
-
version:
|
|
476
|
-
type: string
|
|
477
|
-
description: >-
|
|
478
|
-
A string representing a version.
|
|
479
|
-
|
|
480
|
-
(Some systems may use checksum, a RFC3339 timestamp, or an
|
|
481
|
-
incrementing version number.)
|
|
482
|
-
mime_type:
|
|
483
|
-
type: string
|
|
484
|
-
description: A string providing the mime-type of the `DrsObject`.
|
|
485
|
-
example: application/json
|
|
486
|
-
checksums:
|
|
487
|
-
type: array
|
|
488
|
-
minItems: 1
|
|
489
|
-
items:
|
|
490
|
-
$ref: '#/components/schemas/Checksum'
|
|
491
|
-
description: >-
|
|
492
|
-
The checksum of the `DrsObject`. At least one checksum must be
|
|
493
|
-
provided.
|
|
494
|
-
|
|
495
|
-
For blobs, the checksum is computed over the bytes in the blob.
|
|
496
|
-
|
|
497
|
-
For bundles, the checksum is computed over a sorted concatenation of
|
|
498
|
-
the checksums of its top-level contained objects (not recursive,
|
|
499
|
-
names not included). The list of checksums is sorted alphabetically
|
|
500
|
-
(hex-code) before concatenation and a further checksum is performed
|
|
501
|
-
on the concatenated checksum value.
|
|
502
|
-
|
|
503
|
-
For example, if a bundle contains blobs with the following
|
|
504
|
-
checksums:
|
|
505
|
-
|
|
506
|
-
md5(blob1) = 72794b6d
|
|
507
|
-
|
|
508
|
-
md5(blob2) = 5e089d29
|
|
509
|
-
|
|
510
|
-
Then the checksum of the bundle is:
|
|
511
|
-
|
|
512
|
-
md5( concat( sort( md5(blob1), md5(blob2) ) ) )
|
|
513
|
-
|
|
514
|
-
= md5( concat( sort( 72794b6d, 5e089d29 ) ) )
|
|
515
|
-
|
|
516
|
-
= md5( concat( 5e089d29, 72794b6d ) )
|
|
517
|
-
|
|
518
|
-
= md5( 5e089d2972794b6d )
|
|
519
|
-
|
|
520
|
-
= f7a29a04
|
|
521
|
-
access_methods:
|
|
522
|
-
type: array
|
|
523
|
-
minItems: 1
|
|
524
|
-
items:
|
|
525
|
-
$ref: '#/components/schemas/AccessMethod'
|
|
526
|
-
description: >-
|
|
527
|
-
The list of access methods that can be used to fetch the
|
|
528
|
-
`DrsObject`.
|
|
529
|
-
|
|
530
|
-
Required for single blobs; optional for bundles.
|
|
531
|
-
contents:
|
|
532
|
-
type: array
|
|
533
|
-
description: >-
|
|
534
|
-
If not set, this `DrsObject` is a single blob.
|
|
535
|
-
|
|
536
|
-
If set, this `DrsObject` is a bundle containing the listed
|
|
537
|
-
`ContentsObject` s (some of which may be further nested).
|
|
538
|
-
items:
|
|
539
|
-
$ref: '#/components/schemas/ContentsObject'
|
|
540
|
-
description:
|
|
541
|
-
type: string
|
|
542
|
-
description: A human readable description of the `DrsObject`.
|
|
543
|
-
aliases:
|
|
544
|
-
type: array
|
|
545
|
-
items:
|
|
546
|
-
type: string
|
|
547
|
-
description: >-
|
|
548
|
-
A list of strings that can be used to find other metadata about this
|
|
549
|
-
`DrsObject` from external metadata sources. These aliases can be
|
|
550
|
-
used to represent secondary accession numbers or external GUIDs.
|
|
551
|
-
responses:
|
|
552
|
-
200ServiceInfo:
|
|
553
|
-
description: Retrieve info about the DRS service
|
|
554
|
-
content:
|
|
555
|
-
application/json:
|
|
556
|
-
schema:
|
|
557
|
-
allOf:
|
|
558
|
-
- $ref: '#/components/schemas/Service'
|
|
559
|
-
- $ref: '#/components/schemas/DrsService'
|
|
560
|
-
500InternalServerError:
|
|
561
|
-
description: An unexpected error occurred.
|
|
562
|
-
content:
|
|
563
|
-
application/json:
|
|
564
|
-
schema:
|
|
565
|
-
$ref: '#/components/schemas/Error'
|
|
566
|
-
200OkDrsObject:
|
|
567
|
-
description: The `DrsObject` was found successfully
|
|
568
|
-
content:
|
|
569
|
-
application/json:
|
|
570
|
-
schema:
|
|
571
|
-
$ref: '#/components/schemas/DrsObject'
|
|
572
|
-
202Accepted:
|
|
573
|
-
description: >
|
|
574
|
-
The operation is delayed and will continue asynchronously. The client
|
|
575
|
-
should retry this same request after the delay specified by Retry-After
|
|
576
|
-
header.
|
|
577
|
-
headers:
|
|
578
|
-
Retry-After:
|
|
579
|
-
description: >
|
|
580
|
-
Delay in seconds. The client should retry this same request after
|
|
581
|
-
waiting for this duration. To simplify client response processing,
|
|
582
|
-
this must be an integral relative time in seconds. This value SHOULD
|
|
583
|
-
represent the minimum duration the client should wait before
|
|
584
|
-
attempting the operation again with a reasonable expectation of
|
|
585
|
-
success. When it is not feasible for the server to determine the
|
|
586
|
-
actual expected delay, the server may return a brief, fixed value
|
|
587
|
-
instead.
|
|
588
|
-
schema:
|
|
589
|
-
type: integer
|
|
590
|
-
format: int64
|
|
591
|
-
400BadRequest:
|
|
592
|
-
description: The request is malformed.
|
|
593
|
-
content:
|
|
594
|
-
application/json:
|
|
595
|
-
schema:
|
|
596
|
-
$ref: '#/components/schemas/Error'
|
|
597
|
-
401Unauthorized:
|
|
598
|
-
description: The request is unauthorized.
|
|
599
|
-
content:
|
|
600
|
-
application/json:
|
|
601
|
-
schema:
|
|
602
|
-
$ref: '#/components/schemas/Error'
|
|
603
|
-
403Forbidden:
|
|
604
|
-
description: The requester is not authorized to perform this action.
|
|
605
|
-
content:
|
|
606
|
-
application/json:
|
|
607
|
-
schema:
|
|
608
|
-
$ref: '#/components/schemas/Error'
|
|
609
|
-
404NotFoundDrsObject:
|
|
610
|
-
description: The requested `DrsObject` wasn't found.
|
|
611
|
-
content:
|
|
612
|
-
application/json:
|
|
613
|
-
schema:
|
|
614
|
-
$ref: '#/components/schemas/Error'
|
|
615
|
-
200OkAccess:
|
|
616
|
-
description: The `AccessURL` was found successfully
|
|
617
|
-
content:
|
|
618
|
-
application/json:
|
|
619
|
-
schema:
|
|
620
|
-
$ref: '#/components/schemas/AccessURL'
|
|
621
|
-
404NotFoundAccess:
|
|
622
|
-
description: The requested `AccessURL` wasn't found.
|
|
623
|
-
content:
|
|
624
|
-
application/json:
|
|
625
|
-
schema:
|
|
626
|
-
$ref: '#/components/schemas/Error'
|
|
627
|
-
parameters:
|
|
628
|
-
uploadZip:
|
|
629
|
-
in: path
|
|
630
|
-
name: object_id
|
|
631
|
-
required: true
|
|
632
|
-
description: '`DrsObject` identifier'
|
|
633
|
-
schema:
|
|
634
|
-
type: string
|
|
635
|
-
ObjectId:
|
|
636
|
-
in: path
|
|
637
|
-
name: object_id
|
|
638
|
-
required: true
|
|
639
|
-
description: '`DrsObject` identifier'
|
|
640
|
-
schema:
|
|
641
|
-
type: string
|
|
642
|
-
Expand:
|
|
643
|
-
in: query
|
|
644
|
-
name: expand
|
|
645
|
-
schema:
|
|
646
|
-
type: boolean
|
|
647
|
-
example: false
|
|
648
|
-
description: >-
|
|
649
|
-
If false and the object_id refers to a bundle, then the ContentsObject
|
|
650
|
-
array contains only those objects directly contained in the bundle. That
|
|
651
|
-
is, if the bundle contains other bundles, those other bundles are not
|
|
652
|
-
recursively included in the result.
|
|
653
|
-
|
|
654
|
-
If true and the object_id refers to a bundle, then the entire set of
|
|
655
|
-
objects in the bundle is expanded. That is, if the bundle contains
|
|
656
|
-
aother bundles, then those other bundles are recursively expanded and
|
|
657
|
-
included in the result. Recursion continues through the entire sub-tree
|
|
658
|
-
of the bundle.
|
|
659
|
-
|
|
660
|
-
If the object_id refers to a blob, then the query parameter is ignored.
|
|
661
|
-
AccessId:
|
|
662
|
-
in: path
|
|
663
|
-
name: access_id
|
|
664
|
-
required: true
|
|
665
|
-
description: An `access_id` from the `access_methods` list of a `DrsObject`
|
|
666
|
-
schema:
|
|
667
|
-
type: string
|
|
668
|
-
requestBodies:
|
|
669
|
-
UploadZip:
|
|
670
|
-
required: true
|
|
671
|
-
content:
|
|
672
|
-
multipart/form-data:
|
|
673
|
-
schema:
|
|
674
|
-
type: object
|
|
675
|
-
properties:
|
|
676
|
-
id:
|
|
677
|
-
type: string
|
|
678
|
-
description: 'Name'
|
|
679
|
-
type:
|
|
680
|
-
type: string
|
|
681
|
-
default: 'application/x-zip-compressed'
|
|
682
|
-
description: 'application/x-zip-compressed'
|
|
683
|
-
jsons:
|
|
684
|
-
type: string
|
|
685
|
-
description: 'MetaCall JSONS'
|
|
686
|
-
runners:
|
|
687
|
-
type: string
|
|
688
|
-
raw:
|
|
689
|
-
type: string
|
|
690
|
-
format: binary
|
|
691
|
-
DeployDelete:
|
|
692
|
-
required: true
|
|
693
|
-
content:
|
|
694
|
-
application/json:
|
|
695
|
-
schema:
|
|
696
|
-
type: object
|
|
697
|
-
properties:
|
|
698
|
-
prefix:
|
|
699
|
-
type: string
|
|
700
|
-
description: 'Name'
|
|
701
|
-
suffix:
|
|
702
|
-
type: string
|
|
703
|
-
description: 'Suffix'
|
|
704
|
-
version:
|
|
705
|
-
type: string
|
|
706
|
-
description: 'Version'
|
|
707
|
-
default: 'v1'
|
|
708
|
-
|
|
709
|
-
AddRepo:
|
|
710
|
-
content:
|
|
711
|
-
application/json:
|
|
712
|
-
schema:
|
|
713
|
-
type: object
|
|
714
|
-
properties:
|
|
715
|
-
url:
|
|
716
|
-
type: string
|
|
717
|
-
description: 'Url of Repository'
|
|
718
|
-
branch:
|
|
719
|
-
type: string
|
|
720
|
-
description: 'Name of the branch'
|
|
721
|
-
jsons:
|
|
722
|
-
type: array
|
|
723
|
-
items:
|
|
724
|
-
$ref: '#/definitions/MetaCallJSON'
|
|
725
|
-
required:
|
|
726
|
-
- url
|
|
727
|
-
- branch
|
|
728
|
-
|
|
729
|
-
CreateDeployment:
|
|
730
|
-
required: true
|
|
731
|
-
content:
|
|
732
|
-
application/json:
|
|
733
|
-
schema:
|
|
734
|
-
type: object
|
|
735
|
-
properties:
|
|
736
|
-
resourceType:
|
|
737
|
-
type: string
|
|
738
|
-
description: 'Package'
|
|
739
|
-
default: 'Package'
|
|
740
|
-
suffix:
|
|
741
|
-
type: string
|
|
742
|
-
description: 'Name of package'
|
|
743
|
-
release:
|
|
744
|
-
type: string
|
|
745
|
-
description: 'Default set to current date in hexadecimal form'
|
|
746
|
-
|
|
747
|
-
version:
|
|
748
|
-
type: string
|
|
749
|
-
description: 'Version'
|
|
750
|
-
default: 'v1'
|
|
751
|
-
|
|
752
|
-
PostObjectBody:
|
|
753
|
-
required: true
|
|
754
|
-
content:
|
|
755
|
-
application/json:
|
|
756
|
-
schema:
|
|
757
|
-
type: object
|
|
758
|
-
properties:
|
|
759
|
-
expand:
|
|
760
|
-
type: boolean
|
|
761
|
-
example: false
|
|
762
|
-
description: >-
|
|
763
|
-
If false and the object_id refers to a bundle, then the
|
|
764
|
-
ContentsObject array contains only those objects directly
|
|
765
|
-
contained in the bundle. That is, if the bundle contains other
|
|
766
|
-
bundles, those other bundles are not recursively included in
|
|
767
|
-
the result.
|
|
768
|
-
|
|
769
|
-
If true and the object_id refers to a bundle, then the entire
|
|
770
|
-
set of objects in the bundle is expanded. That is, if the
|
|
771
|
-
bundle contains aother bundles, then those other bundles are
|
|
772
|
-
recursively expanded and included in the result. Recursion
|
|
773
|
-
continues through the entire sub-tree of the bundle.
|
|
774
|
-
|
|
775
|
-
If the object_id refers to a blob, then the query parameter is
|
|
776
|
-
ignored.
|
|
777
|
-
passports:
|
|
778
|
-
type: array
|
|
779
|
-
items:
|
|
780
|
-
type: string
|
|
781
|
-
example: >-
|
|
782
|
-
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYTRnaF9wYXNzcG9ydF92MSI6W119.JJ5rN0ktP0qwyZmIPpxmF_p7JsxAZH6L6brUxtad3CM
|
|
783
|
-
description: >-
|
|
784
|
-
the encoded JWT GA4GH Passport that contains embedded Visas.
|
|
785
|
-
The overall JWT is signed as are the individual Passport
|
|
786
|
-
Visas.
|
|
787
|
-
Passports:
|
|
788
|
-
required: true
|
|
789
|
-
content:
|
|
790
|
-
application/json:
|
|
791
|
-
schema:
|
|
792
|
-
type: object
|
|
793
|
-
properties:
|
|
794
|
-
passports:
|
|
795
|
-
type: array
|
|
796
|
-
items:
|
|
797
|
-
type: string
|
|
798
|
-
example: >-
|
|
799
|
-
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJnYTRnaF9wYXNzcG9ydF92MSI6W119.JJ5rN0ktP0qwyZmIPpxmF_p7JsxAZH6L6brUxtad3CM
|
|
800
|
-
description: >-
|
|
801
|
-
the encoded JWT GA4GH Passport that contains embedded Visas.
|
|
802
|
-
The overall JWT is signed as are the individual Passport
|
|
803
|
-
Visas.
|
|
804
|
-
|
|
805
|
-
definitions:
|
|
806
|
-
MetaCallJSON:
|
|
807
|
-
properties:
|
|
808
|
-
language_id:
|
|
809
|
-
type: string
|
|
810
|
-
enum: ['node','ts','rb','py','cs','cob''file','rpc']
|
|
811
|
-
description: "Language id"
|
|
812
|
-
path:
|
|
813
|
-
type: string
|
|
814
|
-
script:
|
|
815
|
-
schema:
|
|
816
|
-
type: array
|
|
817
|
-
items:
|
|
818
|
-
type: string
|
|
819
|
-
|