-
Notifications
You must be signed in to change notification settings - Fork 1
/
draft-ietf-alto-unified-props-new.yaml
83 lines (83 loc) · 2.19 KB
/
draft-ietf-alto-unified-props-new.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
!Defaults
site: .
---
$schema: "http://json-schema.org/draft-07/schema#"
$id: !Format "{site}/draft-ietf-alto-unified-props-new.json"
# See draft-ietf-alto-unified-props-new-16
definitions:
EntityDomainType:
type: string
pattern: "^[0-9a-zA-Z-_]{1,64}$"
EntityDomainName:
type: string
pattern: "^(([0-9a-zA-Z-:@_.]{1,64})?\\.)?[0-9a-zA-Z-_]{1,64}$"
EntityID:
type: string
pattern: "^(([0-9a-zA-Z-:@_.]{1,64})?\\.)?[0-9a-zA-Z-_]{1,64}:.*$"
EntityPropertyType:
type: string
pattern: "^[0-9a-zA-Z-:_]{1,32}$"
EntityPropertyName:
type: string
pattern: "^([0-9a-zA-Z-:@_.]{1,64})?\\.[0-9a-zA-Z-:_]{1,32}$"
PropertyMapCapabilities:
type: object
properties:
mappings:
$ref: "#/definitions/EntityPropertyMapping"
required:
- mappings
additionalProperties: true
EntityPropertyMapping:
type: object
patternProperties:
"^(([0-9a-zA-Z-:@_.]{1,64})?\\.)?[0-9a-zA-Z-_]{1,64}$":
type: array
items:
$ref: "#/definitions/EntityPropertyName"
minItems: 1
additionalProperties: false
InfoResourceProperties:
allOf:
- $ref: !Format "{site}/rfc7285.json#/definitions/ResponseEntityBase"
- properties:
property-map:
$ref: "#/definitions/PropertyMapData"
required:
- property-map
PropertyMapData:
type: object
patternProperties:
"^(([0-9a-zA-Z-:@_.]{1,64})?\\.)?[0-9a-zA-Z-_]{1,64}:.*$":
$ref: "#/definitions/EntityProps"
additionalProperties: false
EntityProps:
type: object
patternProperties:
"^([0-9a-zA-Z-:@_.]{1,64})?\\.[0-9a-zA-Z-:_]{1,32}$":
anyOf:
- type: string
- type: number
- type: array
- type: boolean
- type: "null"
- type: object
additionalProperties: true
additionalProperties: false
ReqFilteredPropertyMap:
type: object
properties:
entities:
type: array
items:
$ref: "#/definitions/EntityID"
minItems: 1
properties:
type: array
items:
$ref: "#/definitions/EntityPropertyName"
minItems: 1
required:
- entities
- properties
additionalProperties: true