-
-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathasyncapi.yaml
70 lines (64 loc) · 1.6 KB
/
asyncapi.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
asyncapi: '2.3.0'
info:
title: Streetlights API
version: '1.0.0'
description: |
The Smartylighting Streetlights API allows you
to remotely manage the city lights.
license:
name: Apache 2.0
url: 'https://www.apache.org/licenses/LICENSE-2.0'
defaultContentType: application/json
servers:
local:
url: localhost:5672
protocol: amqp
security:
- user-password: []
channels:
light/measured:
bindings:
amqp:
is: routingKey
queue:
name: light/measured
durable: true
exclusive: true
autoDelete: false
vhost: /
bindingVersion: 0.2.0
publish:
summary: Inform about environmental lighting conditions for a particular streetlight.
operationId: onLightMeasured
message:
$ref: '#/components/messages/lightMeasured'
subscribe:
summary: publishes light measurements
operationId: publishLumens
message:
$ref: '#/components/messages/lightMeasured'
components:
securitySchemes:
user-password:
type: userPassword
messages:
lightMeasured:
name: LightMeasured
payload:
$ref: "#/components/schemas/lightMeasured"
schemas:
lightMeasured:
type: object
properties:
id:
type: integer
minimum: 0
description: Id of the streetlight.
lumens:
type: integer
minimum: 0
description: Light intensity measured in lumens.
sentAt:
type: string
format: date-time
description: Date and time when the message was sent.