Skip to content

Commit 10c399e

Browse files
authored
Merge branch 'draft' into put-process-graphs
2 parents 9214361 + 430a252 commit 10c399e

File tree

2 files changed

+75
-43
lines changed

2 files changed

+75
-43
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
### Added
1010
- `PUT /process_graphs/{process_graph_id}` to store and replace custom process-graphs. [#260](https://github.com/Open-EO/openeo-api/issues/260)
11+
- `/jobs/{job_id}/logs` and `GET /services/{service_id}/logs`: Reintroduced the missing `offset` parameter.
1112

1213
### Changed
1314
- `GET /process_graphs`: Field `id` is required for each process.
15+
- For batch jobs (`/jobs`), services (`/services`) and sync. processing (`/result`) the property `process_graph` got replaced by `process`. It contains a process graph and optionally all process metadata. [#260](https://github.com/Open-EO/openeo-api/issues/260)
1416

1517
### Removed
1618
- `POST /process_graphs` and `PATCH /process_graphs/{process_graph_id}`. Use `PUT /process_graphs/{process_graph_id}` instead. [#260](https://github.com/Open-EO/openeo-api/issues/260)
1719

1820
### Fixed
1921
- Added `$id` to JSON Schema file for subtypes.
2022
- Fixed invalid EPSG code example.
23+
- Fixed collection example (`sat:cloud_cover` changed to `eo:cloud_cover`).
2124
- Fixed invalid JSON Schema for process graph validation (used `from_argument` instead of `from_parameter`).
25+
- Clarified how version numbers in well-known discovery are compared. [#259](https://github.com/Open-EO/openeo-api/issues/259)
26+
- Clarified that back-ends not supporting pagination will return all resources.
2227
- Clarified how `from_parameter` is resolved in case no value is given.
28+
- Clarified `GET .../logs` endpoint behaviour.
2329
- Removed outdated error codes from `errors.json`.
2430

2531
## 1.0.0-rc.1 - 2020-01-31

openapi.yaml

Lines changed: 69 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -792,18 +792,19 @@ paths:
792792
get:
793793
summary: Supported openEO versions
794794
operationId: connect
795-
description: >-
795+
description: |-
796796
Well-Known URI (see [RFC 57855](https://tools.ietf.org/html/rfc5785))
797797
for openEO, listing all implemented openEO versions supported by the
798798
service provider.
799799
800-
801800
This allows a client to easily identify the most recent openEO
802801
implementation it supports. By default, a client SHOULD connect to the
803-
most recent production-ready version it supports. Clients MAY let users
804-
choose to connect to versions that are not production-ready versions or
805-
outdated.
806-
802+
most recent production-ready version it supports. The most recent
803+
version is determined by comparing the version numbers according to
804+
rules from [Semantic Versioning](https://semver.org/), especially
805+
[§11](https://semver.org/#spec-item-11).
806+
Clients MAY let users choose to connect to versions that are not
807+
production-ready versions or outdated.
807808
808809
The Well-Known URI is the entry point for clients and users, so make
809810
sure it is permanent and easy to use and remember. Clients MUST NOT
@@ -814,13 +815,11 @@ paths:
814815
client SHOULD try to request the capabilities at `/` from
815816
`https://example.com`.
816817
817-
818818
**This URI MUST NOT be versioned as the other endpoints.** If your API
819819
is available at `https://example.com/api/v1.0`, the Well-Known URI
820820
SHOULD be located at `https://example.com/.well-known/openeo` and the
821821
URI users connect to SHOULD be `https://example.com`.
822822
823-
824823
Clients MAY get additional information (e.g. title or description) about
825824
a back-end from the most recent version that has the `production` flag
826825
set to `true`.
@@ -1621,7 +1620,7 @@ paths:
16211620
- Sentinel-2B
16221621
'instruments':
16231622
- MSI
1624-
'sat:cloud_cover':
1623+
'eo:cloud_cover':
16251624
min: 0
16261625
max: 75
16271626
'sat:orbit_state':
@@ -2316,10 +2315,10 @@ paths:
23162315
title: Synchronous Result Request
23172316
type: object
23182317
required:
2319-
- process_graph
2318+
- process
23202319
properties:
2321-
process_graph:
2322-
$ref: '#/components/schemas/process_graph'
2320+
process:
2321+
$ref: '#/components/schemas/process_graph_with_metadata'
23232322
budget:
23242323
$ref: '#/components/schemas/budget'
23252324
plan:
@@ -2742,14 +2741,14 @@ paths:
27422741
type: object
27432742
required:
27442743
- type
2745-
- process_graph
2744+
- process
27462745
properties:
27472746
title:
27482747
$ref: '#/components/schemas/eo_title'
27492748
description:
27502749
$ref: '#/components/schemas/eo_description'
2751-
process_graph:
2752-
$ref: '#/components/schemas/process_graph'
2750+
process:
2751+
$ref: '#/components/schemas/process_graph_with_metadata'
27532752
type:
27542753
$ref: '#/components/schemas/service_type'
27552754
enabled:
@@ -2794,8 +2793,8 @@ paths:
27942793
$ref: '#/components/schemas/eo_title'
27952794
description:
27962795
$ref: '#/components/schemas/eo_description'
2797-
process_graph:
2798-
$ref: '#/components/schemas/process_graph'
2796+
process:
2797+
$ref: '#/components/schemas/process_graph_with_metadata'
27992798
enabled:
28002799
$ref: '#/components/schemas/service_enabled'
28012800
configuration:
@@ -2826,7 +2825,7 @@ paths:
28262825
type: object
28272826
required:
28282827
- id
2829-
- process_graph
2828+
- process
28302829
- enabled
28312830
- type
28322831
- url
@@ -2839,8 +2838,8 @@ paths:
28392838
$ref: '#/components/schemas/eo_title'
28402839
description:
28412840
$ref: '#/components/schemas/eo_description'
2842-
process_graph:
2843-
$ref: '#/components/schemas/process_graph'
2841+
process:
2842+
$ref: '#/components/schemas/process_graph_with_metadata'
28442843
url:
28452844
$ref: '#/components/schemas/service_url'
28462845
type:
@@ -2893,13 +2892,26 @@ paths:
28932892
get:
28942893
summary: Logs for a secondary service
28952894
operationId: debug-service
2896-
description: Logs for the secondary service.
2895+
description: >-
2896+
Shows log entries for the secondary service, usually for debugging purposes.
2897+
2898+
Back-ends can log any information that may be relevant for a user.
2899+
Users can log information during data processing using respective
2900+
processes such as `debug`.
2901+
2902+
If requested consecutively while the secondary service is enabled, it is
2903+
RECOMMENDED that clients use the offset parameter to get only the entries
2904+
they have not received yet.
2905+
2906+
While pagination itself is OPTIONAL, the `offset` parameter is REQUIRED
2907+
to be implemented by back-ends.
28972908
tags:
28982909
- Secondary Services
28992910
security:
29002911
- Bearer: []
29012912
parameters:
29022913
- $ref: '#/components/parameters/service_id'
2914+
- $ref: '#/components/parameters/log_offset'
29032915
- $ref: '#/components/parameters/pagination_limit'
29042916
responses:
29052917
'200':
@@ -3002,14 +3014,14 @@ paths:
30023014
title: Store Batch Job Request
30033015
type: object
30043016
required:
3005-
- process_graph
3017+
- process
30063018
properties:
30073019
title:
30083020
$ref: '#/components/schemas/eo_title'
30093021
description:
30103022
$ref: '#/components/schemas/eo_description'
3011-
process_graph:
3012-
$ref: '#/components/schemas/process_graph'
3023+
process:
3024+
$ref: '#/components/schemas/process_graph_with_metadata'
30133025
plan:
30143026
$ref: '#/components/schemas/billing_plan_defaultable'
30153027
budget:
@@ -3053,8 +3065,8 @@ paths:
30533065
$ref: '#/components/schemas/eo_title'
30543066
description:
30553067
$ref: '#/components/schemas/eo_description'
3056-
process_graph:
3057-
$ref: '#/components/schemas/process_graph'
3068+
process:
3069+
$ref: '#/components/schemas/process_graph_with_metadata'
30583070
plan:
30593071
$ref: '#/components/schemas/billing_plan_defaultable'
30603072
budget:
@@ -3082,7 +3094,7 @@ paths:
30823094
type: object
30833095
required:
30843096
- id
3085-
- process_graph
3097+
- process
30863098
- status
30873099
- created
30883100
properties:
@@ -3092,8 +3104,8 @@ paths:
30923104
$ref: '#/components/schemas/eo_title'
30933105
description:
30943106
$ref: '#/components/schemas/eo_description'
3095-
process_graph:
3096-
$ref: '#/components/schemas/process_graph'
3107+
process:
3108+
$ref: '#/components/schemas/process_graph_with_metadata'
30973109
status:
30983110
$ref: '#/components/schemas/status'
30993111
progress:
@@ -3214,14 +3226,27 @@ paths:
32143226
get:
32153227
summary: Logs for a batch job
32163228
operationId: debug-job
3217-
description: Logs for the batch job.
3229+
description: |-
3230+
Shows log entries for the batch job, usually for debugging purposes.
3231+
3232+
Back-ends can log any information that may be relevant for a user.
3233+
Users can log information during data processing using respective
3234+
processes such as `debug`.
3235+
3236+
If requested consecutively while a job is running, it is RECOMMENDED
3237+
that clients use the offset parameter to get only the entries they have
3238+
not received yet.
3239+
3240+
While pagination itself is OPTIONAL, the `offset` parameter is REQUIRED
3241+
to be implemented by back-ends.
32183242
tags:
32193243
- Data Processing
32203244
- Batch Jobs
32213245
security:
32223246
- Bearer: []
32233247
parameters:
32243248
- $ref: '#/components/parameters/job_id'
3249+
- $ref: '#/components/parameters/log_offset'
32253250
- $ref: '#/components/parameters/pagination_limit'
32263251
responses:
32273252
'200':
@@ -5441,19 +5466,20 @@ components:
54415466
name: limit
54425467
description: |-
54435468
This parameter enables pagination for the endpoint and specifies the maximum number of
5444-
elements that arrays in the top-level object (e.g. jobs, log entries, secondary services,
5445-
files etc.) are allowed to contain. The only exception is the `links` array, which
5446-
MUST NOT be paginated as otherwise the pagination links may be missing ins responses.
5469+
elements that arrays in the top-level object (e.g. jobs or log entries) are allowed to contain.
5470+
The only exception is the `links` array, which MUST NOT be paginated as otherwise the
5471+
pagination links may be missing ins responses.
54475472
If the parameter is not provided or empty, all elements are returned.
54485473
54495474
Pagination is OPTIONAL and back-ends and clients may not support it.
54505475
Therefore it MUST be implemented in a way that clients not supporting
5451-
pagination get all resources regardless.
5476+
pagination get all resources regardless. Back-ends not supporting
5477+
pagination will return all resources.
54525478
54535479
If the response is paginated, the links array MUST be used to propagate the
54545480
links for pagination with pre-defined `rel` types. See the links array schema
54555481
for supported `rel` types.
5456-
5482+
54575483
*Note:* Implementations can use all kind of pagination techniques, depending on what is
54585484
supported best by their infrastructure. So it doesn't care whether it is page-based,
54595485
offset-based or uses tokens for pagination. The clients will use whatever is specified
@@ -5464,6 +5490,14 @@ components:
54645490
schema:
54655491
type: integer
54665492
minimum: 1
5493+
log_offset:
5494+
name: offset
5495+
description: The last identifier (property `id` of a log entry) the client has received. If provided, the back-ends only sends the entries that occured after the specified identifier. If not provided or empty, start with the first entry.
5496+
in: query
5497+
allowEmptyValue: true
5498+
example: "log1234"
5499+
schema:
5500+
type: string
54675501
process_graph_id:
54685502
name: process_graph_id
54695503
in: path
@@ -5503,14 +5537,6 @@ components:
55035537
A path with special chars. It describes a file `münster.shp` in
55045538
folders called `europe` and `österreich`.
55055539
value: europe/%C3%B6sterreich/m%C3%BCnster.shp
5506-
requestBodies:
5507-
process_graph:
5508-
content:
5509-
application/json:
5510-
schema:
5511-
$ref: '#/components/schemas/process_graph'
5512-
description: Description of one or more (chained) processes.
5513-
required: true
55145540
examples:
55155541
evi_user_defined_process:
55165542
description: A user-defined process that computes the EVI.

0 commit comments

Comments
 (0)