-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathmessage-schema.yaml
138 lines (137 loc) · 5.01 KB
/
message-schema.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
$schema: https://json-schema.org/draft/2020-12/schema
$id: https://schemas.wmo.int/wis2/broker/message/4.0.0/schema.yml
title: WMO WIS 2.0 broker data notification schema
description: WMO WIS 2.0 broker data notification schema
type: object
allOf:
- $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-features/master/core/openapi/schemas/featureGeoJSON.yaml
properties:
id:
type: string
format: uuid
description: Unique identifier for the data notification.
examples:
- 31e9d66a-cd83-4174-9429-b932f1abe1be
version:
type: string
description: Version of the data notification specification format.
const: 4.0.0
geometry:
$ref: '#/definitions/PointOrPolygon'
nullable: true
examples:
- type: Point
coordinates:
- 6.146255135536194
- 46.223296618227444
- null
properties:
type: object
properties:
instance_identifier:
type: string
title: Identifier of the data instance
description: "Identifier of the current instance (of the instance whose availability this notification announces). \nCan be a file name or some other, preferably unique, identifier."
examples:
- gfs.t00z.pgrb2.0p25.f003
- A_IEDX02EUMP270634_C_EDZW_20220427072332_84196486.bufr
- d64b8d25-4fd0-42b2-91b3-ba29f215fbfc
publication_datetime:
type: string
format: date-time
description: |
Identifies the date/time of when the notification was posted/published, in ISO8601/RFC3339 format.
The publication date/time is critical for subscribers to prevent message loss by knowing
their lag (how far behind the publisher they are).
examples:
- 20220427T072332.314854383Z
- "2022-04-27T07:23:32.314854383Z"
instance_datetime:
type: string
format: date-time
description: "TBD, Identifies the date/time that characterizes the data instance being published, \ne.g. observation time, model run, etc. - typically rounded to a multiple of data production interval. ISO8601/RFC3339 format."
examples:
- 20220427T063000Z
- "2022-04-27T06:30:00Z"
data_start_datetime:
type: string
format: date-time
description: TBD, Identifies the start date/time date of the data being published, in ISO8601/RFC3339 format.
data_end_datetime:
type: string
format: date-time
description: TBD, Identifies the end date/time date of the data being published, in ISO8601/RFC3339 format.
integrity:
type: object
description: Specifies a way to verify integrity and/or uniqueness of the data instance.
properties:
method:
type: string
description: |
A specific set of methods for calculating the checksum algorithms:
* ``sha512``: the Secure Hash Algorithm 512 bits, value is base64 encoded.
* ``arbitrary``: an arbitrary string is used to identify the value.
* ``md5``: the Message Digest 5 hash (obsolete, perhaps will be rejected)
enum:
- sha256
- sha512
- md5
- remove
- link
- cod
- arbitrary
- md5name
- random
value:
type: string
description: Base 64 encoded checksum or digital signature
examples:
- N2Y4M2IxNjU3ZmYxZmM1M2I5MmRjMTgxNDhhMWQ2NWRmYzJkNGIxZmEzZDY3NzI4NGFkZGQyMDAxMjZkOTA2OSAqYWEuanNvbgo=
required:
- method
- value
hierarchy:
type: string
description: WIS 2.0 data hierarchical category identifier.
examples:
- EUE/eumetsat_darmstadt/observation/global/
- CAN/eccc-msc/data/core/weather/surface-based-obs/landFixed
size:
type: integer
description: Size of the data instance in bytes/octets, if known.
examples:
- 12345
content:
type: object
description: Used to embed small instances/products inline within the notification.
properties:
encoding:
type: string
description: Encoding of content. Note that if gzip compression is used the result is base64 encoded too.
enum:
- utf-8
- base64
- gzip
value:
type: string
description: The in-lined content of the file.
examples:
- Hello World!
required:
- encoding
- value
required:
- publication_datetime
- integrity
- hierarchy
definitions:
PointOrPolygon:
oneOf:
- $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-features/master/core/openapi/schemas/pointGeoJSON.yaml
- $ref: https://raw.githubusercontent.com/opengeospatial/ogcapi-features/master/core/openapi/schemas/polygonGeoJSON.yaml
required:
- id
- type
- geometry
- properties
- links