-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrfc8895.yaml
103 lines (103 loc) · 2.69 KB
/
rfc8895.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
!Defaults
site: .
---
$schema: "http://json-schema.org/draft-07/schema#"
$id: !Format "{site}/rfc8895.json"
definitions:
InfoResourceDirectory:
allOf:
- $ref: !Format "{site}/rfc7285.json#/definitions/InfoResourceDirectory"
- properties:
resources:
$ref: "#/definitions/IRDResourceEntries"
IRDResourceEntries:
allOf:
- $ref: !Format "{site}/rfc7285.json#/definitions/IRDResourceEntries"
- patternProperties:
"^[0-9a-zA-Z-:@_.]{1,64}$":
$ref: "#/definitions/IRDResourceEntry"
IRDResourceEntry:
allOf:
- $ref: !Format "{site}/rfc7285.json#/definitions/IRDResourceEntry"
- if:
properties:
media-type:
const: "text/event-stream"
accepts:
const: "application/alto-updatestreamparams+json"
then:
properties:
capabilities:
$ref: "#/definitions/UpdateStreamCapabilities"
required:
- uri
- media-type
- capabilities
SubstreamID:
$ref: !Format "{site}/rfc7285.json#/definitions/ResourceID"
UpdateStreamControlEvent:
type: object
properties:
control-uri:
$ref: !Format "{site}/rfc7285.json#/definitions/URI"
started:
type: array
items:
$ref: "#/definitions/SubstreamID"
minItems: 1
stopped:
type: array
items:
$ref: "#/definitions/SubstreamID"
minItems: 1
description:
type: string
UpdateStreamCapabilities:
type: object
properties:
incremental-change-media-types:
$ref: "#/definitions/IncrementalUpdateMediaTypes"
supported-stream-control:
type: boolean
required:
- incremental-change-media-types
- supported-stream-control
additionalProperties: true
IncrementalUpdateMediaTypes:
type: object
patternProperties:
"^[0-9a-zA-Z-:@_.]{1,64}$":
type: string
additionalProperties: false
UpdateStreamReq:
type: object
properties:
add:
$ref: "#/definitions/AddUpdatesReq"
remove:
type: array
items:
$ref: "#/definitions/SubstreamID"
additionalProperties: true
AddUpdatesReq:
type: object
patternProperties:
"^[0-9a-zA-Z-:@_.]{1,64}$":
$ref: "#/definitions/AddUpdateReq"
additionalProperties: false
AddUpdateReq:
type: object
properties:
resource-id:
$ref: !Format "{site}/rfc7285.json#/definitions/ResourceID"
tag:
type: string
pattern: "^[\u0021-\u007E]+$"
incremental-changes:
type: boolean
input:
type: object
additionalProperties: true
required:
- resource-id
additionalProperties: true