-
Notifications
You must be signed in to change notification settings - Fork 0
/
enforcer-spec-demo.yml
141 lines (140 loc) · 3.74 KB
/
enforcer-spec-demo.yml
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
139
140
141
agile-core: # service name matching the resolvable (IP reachable) name if the service container
swagger_api_spec: ./agile-core.yml
port: 8080
calls:
'/device/{deviceId}/status':
get:
entityId: # list of strings | objects{path: string}
- path: url.deviceId # path where to look the value in
entityType: device # simple string, won’t get parsed
field: actions.status # simple string, won’t get parsed
method: read # simple string, won’t get parsed
'/device/{deviceId}':
get:
entityId:
- path: url.deviceId
entityType: device
field:
- actions.components.readall
method: read
'/device/{deviceId}/connection':
parameters:
post:
entityId:
- path: url.deviceId
entityType: device
field: actions.connect
method: write
delete:
entityId:
- path: url.deviceId
entityType: device
field: actions.disconnect
method: write
'/device/{deviceId}/execute/{command}':
post:
entityId:
- path: url.deviceId
entityType: device
field:
- actions.execute
- path: url.command
method: write
'/device/{deviceId}/{componentId}/subscribe':
post:
entityId:
- path: url.deviceId
entityType: device
field:
- actions.components
- path: url.componentId
- subscribe
method: write
delete:
entityId:
- path: url.deviceId
entityType: device
field:
- action.components
- path: url.componentId
- unsubscribe
method: write
'/device/{deviceId}/{componentId}':
get:
entityId:
- path: url.deviceId
entityType: device
field:
- action.components
- path: url.componentId
method: read
post:
entityId:
- path: url.deviceId
entityType: device
field:
- action.components
- path: url.componentId
method: write
'/device/{deviceId}/{componentId}/lastUpdate':
entityId:
- path: url.deviceId
entityType: device
field:
- action.components
- path: url.componentId
method: read
'/device/{deviceId}/lastUpdate':
get:
entityId:
- path: url.deviceId
entityType: device
field:
- action.components
method: read
/devices:
get:
entityId: self #this is how you can address a property of the whole gateway
entityType: gateway
field:
- actions.list
method: read
post:
entityId:
- body.overview.protocol
- body.overview.id
entityType: device
field:
- actions.register
method: write
/devices/typeof:
post:
entityId:
- body.protocol
- body.id
entityType: device
field:
- actions.type
method: read
'/devices/{deviceId}':
get:
entityId:
- path: url.deviceId
entityType: device
field:
- actions.definition
method: read
put:
entityId:
- path: url.deviceId
entityType: device
field:
- actions.definition
method: write
delete:
entityId:
- path: url.deviceId
entityType: device
field:
- actions.definition
method: write