-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathopenapi.yaml
100 lines (100 loc) · 4.58 KB
/
openapi.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
openapi: 3.0.2
info:
title: openEO API - Processing Parameters Extension
version: 0.1.0
description: >-
The Processing Parameters Extension to the openEO API provides an interface to explore and handle additional processing options that a back-end can offer for the three processing modes (synchronous processing, batch jobs, and secondary web services).
The openEO API specification allows back-ends to accept "additional back-end specific properties" for each of the processing modes.
As the openEO API specification does not define the name and schemas of these properties, this extension provides a standardized way to define and document these properties.
contact:
name: openEO Consortium
url: 'https://openeo.org'
email: openeo.psc@uni-muenster.de
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
externalDocs:
url: https://github.com/Open-EO/openeo-api/blob/draft/extensions/workspaces/README.md
tags:
- name: Capabilities
description: General information about the API implementation and other supported capabilities provided by the back-end.
- name: Data Processing
description: Organizes and manages data processing on the back-end, either as synchronous on-demand computation or batch jobs.
- name: Batch Jobs
description: Management of batch processing tasks (jobs) and their results.
- name: Secondary Services
description: On-demand access to data using other web service protocols.
servers:
- url: 'https://openeo.example/api/{version}'
description: >-
The URL of the API MAY freely be chosen by the back-end providers. The
path, including API versioning, is a *recommendation* only. Nevertheless,
all servers MUST support HTTPS as the authentication methods are not
secure with HTTP only!
variables:
version:
default: v1
description: >-
API versioning is RECOMMENDED. As the openEO API is following
[SemVer](https://semver.org/) only the MAJOR part of the stable
version numbers (i.e. versions >= 1.0.0) SHOULD be used for API
versioning in the URL. The reason is that backward-incompatible
changes are usually introduced by major changes. Therefore, the
version number in the URL MUST not be used by the clients to detect
the version number of the API. Use the version number returned from
`GET /` instead.
paths:
/processing_options:
get:
summary: Additional processing options
operationId: list-processing-options
description: |-
Lists additional custom processing options
that a back-end offers for the different processing modes (synchronous processing, batch jobs, secondary web services).
The options specified here can be added to the corresponding `POST` requests at the top-level of the object that is sent as the payload.
All options SHOULD explicitly be made optional with reasonable defaults as otherwise the interoperability between the implementations decreases.
tags:
- Capabilities
- Data Processing
- Batch Jobs
- Secondary Services
security:
- {}
- Bearer: []
responses:
'200':
description: >-
An object with a list of parameters per processing mode.
content:
application/json:
schema:
description: Processing parameters per processing mode.
type: object
properties:
create_job_parameters:
$ref: '#/components/schemas/processing_create_parameters'
create_service_parameters:
$ref: '#/components/schemas/processing_create_parameters'
create_synchronous_parameters:
$ref: '#/components/schemas/processing_create_parameters'
components:
schemas:
processing_create_parameters:
title: Creation Parameters
description: |-
List of additional custom parameters that a back-end offers during the creation
of batch jobs (`POST /jobs`) and secondary web services (`POST /services`) respectively.
type: array
items:
$ref: '../../openapi.yaml#/components/schemas/parameter'
example:
- name: memory
description: Maximum amount of memory that will be allocated for processing, in gigabytes.
optional: true
default: 32
schema:
type: integer
minimum: 1
securitySchemes:
Bearer:
$ref: '../../openapi.yaml#/components/securitySchemes/Bearer'