forked from opalkonrad/copernicus_proxy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocumentation_swagger.yaml
345 lines (341 loc) · 9.96 KB
/
documentation_swagger.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
swagger: '2.0'
info:
description: Data Proxy to Copernicus Climate Data Store API (cdsapi)
version: 1.0.0
title: Copernicus Data Proxy API
contact:
name: programmers from Team "6" (Wojciech Fabjańczuk, Wiktor Michalski, Konrad Opaliński)
email: wojciechfabjanczuk@gmail.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
# tags are used for organizing operations
tags:
- name: Tasks
description: Copernicus requests (Tasks)
- name: Files
description: Downloading files
- name: Data Sets
description: Copernicus Data Sets
paths:
/service/tasks:
get:
tags:
- Tasks
summary: Displaying all Copernicus requests (Tasks)
produces:
- application/json
responses:
200:
description: List of Copernicus requests received by the API (possibly empty [])
schema:
type: array
items:
$ref: '#/definitions/Task'
post:
tags:
- Tasks
summary: Adds new Copernicus request (Task)
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: JsonContent
description: Copernicus request (Task) data to add it to the list
schema:
$ref: '#/definitions/TaskJsonContent'
responses:
200:
description: Copernicus request (Task) created
schema:
type: object
properties:
task_id:
type: integer
example: 2
400:
description: ValidationError
/service/tasks/{task_id}:
parameters:
- in: path
name: task_id
type: integer
required: true
description: Numeric ID of the Copernicus request to get
get:
tags:
- Tasks
summary: Displaying all information about single Copernicus request (Task) indicated by task_id
produces:
- application/json
responses:
200:
description: Information about task
schema:
$ref: '#/definitions/Task'
404:
description: Copernicus request with task_id not found
delete:
tags:
- Tasks
summary: Softly deleting Copernicus request (Task) indicated by task_id
description: If task is being downloaded in the moment of the deletion, it will be finished unless workers are restarted.
produces:
- application/json
responses:
200:
description: Copernicus request with task_id deleted
404:
description: Copernicus request with task_id not found
/service/files/{file_id}:
parameters:
- in: path
name: file_id
type: integer
required: true
description: Numeric ID of the downloaded file (same as its Copernicus request) to get
get:
tags:
- Files
summary: Sends downloaded files
produces:
- application/octet-stream
responses:
200:
description: Downloaded file sent
404:
description: File not found
/service/datasets:
get:
tags:
- Data Sets
summary: Displaying all Data Set configurations
description: DataSetAttributeList properties can have values "all", "at_least_one" or "one". Note that string "all" validates TaskJsonContent option value equal to "all", not ANY value!
produces:
- application/json
responses:
200:
description: List of Copernicus Data Set configurations (possibly empty [])
schema:
type: array
items:
$ref: '#/definitions/DataSet'
post:
tags:
- Data Sets
summary: Adds new Copernicus Data Set configuration
description: DataSetAttributeList properties can have values "all", "at_least_one" or "one". Note that string "all" validates TaskJsonContent option value equal to "all", not ANY value!
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: DataSetJson
description: Copernicus Data Set configuration data to add it to the list
schema:
$ref: '#/definitions/DataSetJson'
responses:
200:
description: Copernicus Data Set configuration created
schema:
type: object
properties:
data_set_id:
type: integer
example: 2
400:
description: ValidationError
/service/datasets/{dataset_id}:
parameters:
- in: path
name: dataset_id
type: integer
required: true
description: Numeric ID of the Copernicus Data Set configuration
get:
tags:
- Data Sets
summary: Displaying all information about single Copernicus Data Set configuration indicated by dataset_id
description: DataSetAttributeList properties can have values "all", "at_least_one" or "one". Note that string "all" validates TaskJsonContent option value equal to "all", not ANY value!
produces:
- application/json
responses:
200:
description: Information about Copernicus Data Set configuration indicated by dataset_id
schema:
$ref: '#/definitions/DataSet'
404:
description: Copernicus Data Set configuration indicated by dataset_id does not found
put:
tags:
- Data Sets
summary: Edit Copernicus Data Set configuration indicated by dataset_id
description: DataSetAttributeList properties can have values "all", "at_least_one" or "one". Note that string "all" validates TaskJsonContent option value equal to "all", not ANY value!
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: DataSetJson
description: Copernicus Data Set configuration data to replace old one indicated by dataset_id
schema:
$ref: '#/definitions/DataSetJson'
responses:
200:
description: Copernicus Data Set configuration replaced
400:
description: ValidationError
404:
description: Copernicus Data Set configuration indicated by dataset_id does not found
delete:
tags:
- Data Sets
summary: Deleting Copernicus Data Set configuration indicated by dataset_id
produces:
- application/json
responses:
200:
description: Copernicus Data Set configuration indicated by dataset_id deleted
404:
description: Copernicus Data Set configuration indicated by dataset_id not found
definitions:
TaskJsonContent:
type: object
properties:
data_set:
type: string
example: reanalysis-era5-single-levels
options:
type: object
properties:
product_type:
type: array
items:
type: string
example: "ensemble_mean"
variable:
type: array
items:
type: string
example: "large_scale_snowfall"
year:
type: array
items:
type: string
example: "2000"
month:
type: array
items:
type: string
example: "04"
day:
type: array
items:
type: string
example: "07"
time:
type: array
items:
type: string
example: "07"
format:
type: string
example: "grib"
Task:
type: object
required:
- id
- data_set
- json_content
- status
- task_date
- msg
- bytes
properties:
id:
type: integer
example: 2
data_set:
type: string
example: reanalysis-era5-single-levels
json_content:
$ref: '#/definitions/TaskJsonContent'
status:
type: string
example: "being downloaded"
task_date:
type: string
format: "%Y-%m-%d %H:%M:%S"
example: "2019-06-13 18:56:13"
msg:
type: string
example: ""
bytes:
type: integer
example: 0
DataSet:
type: object
description: DataSetAttributeList properties can have values "all", "at_least_one" or "one". Note that string "all" validates TaskJsonContent option value equal to "all", not ANY value!
required:
- id
- data_set
- attributes
properties:
id:
type: integer
example: 2
data_set:
type: string
example: reanalysis-era5-single-levels
attributes:
$ref: '#/definitions/DataSetAttributeList'
DataSetJson:
type: object
description: DataSetAttributeList properties can have values "all", "at_least_one" or "one". Note that string "all" validates TaskJsonContent option value equal to "all", not ANY value!
required:
- data_set
- attributes
properties:
data_set:
type: string
example: reanalysis-era5-single-levels
attributes:
$ref: '#/definitions/DataSetAttributeList'
DataSetAttributeList:
type: object
description: DataSetAttributeList properties can have values "all", "at_least_one" or "one". Note that string "all" validates TaskJsonContent option value equal to "all", not ANY value!
required:
- id
- data_set
- attributes
properties:
product_type:
type: string
example: "at_least_one"
format:
type: string
example: "one"
variable:
type: string
example: "at_least_one"
day:
type: string
example: "at_least_one"
month:
type: string
example: "at_least_one"
year:
type: string
example: "at_least_one"
time:
type: string
example: "at_least_one"
# Added by API Auto Mocking Plugin
host: virtserver.swaggerhub.com
basePath: /wfabjanczuk/copernicus_proxy/1.0.0
schemes:
- https