asyncapi3-1.0.0.0: test/golden/examples/reference-examples-streetlights-mqtt-asyncapi.yml.json
{"asyncapi":"3.1.0","info":{"title":"Streetlights MQTT API","version":"1.0.0","description":"The Smartylighting Streetlights API allows you to remotely manage the city lights.\n\n### Check out its awesome features:\n\n* Turn a specific streetlight on/off ๐\n* Dim a specific streetlight ๐\n* Receive real-time information about environmental lighting conditions ๐\n","license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0"}},"servers":{"production":{"host":"test.mosquitto.org:{port}","protocol":"mqtt","description":"Test broker","variables":{"port":{"enum":["1883","8883"],"default":"1883","description":"Secure connection (TLS) is available through port 8883."}},"security":[{"$ref":"#/components/securitySchemes/apiKey"},{"type":"oauth2","description":"Flows to support OAuth 2.0","flows":{"implicit":{"authorizationUrl":"https://authserver.example/auth","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}},"password":{"tokenUrl":"https://authserver.example/token","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}},"clientCredentials":{"tokenUrl":"https://authserver.example/token","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}},"authorizationCode":{"authorizationUrl":"https://authserver.example/auth","tokenUrl":"https://authserver.example/token","refreshUrl":"https://authserver.example/refresh","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}}},"scopes":["streetlights:on","streetlights:off","streetlights:dim"]},{"$ref":"#/components/securitySchemes/openIdConnectWellKnown"}],"tags":[{"name":"env:production","description":"This environment is meant for production use case"},{"name":"kind:remote","description":"This server is a remote server. Not exposed by the application"},{"name":"visibility:public","description":"This resource is public and available to everyone"}]}},"defaultContentType":"application/json","channels":{"lightTurnOff":{"address":"smartylighting/streetlights/1/0/action/{streetlightId}/turn/off","messages":{"turnOff":{"$ref":"#/components/messages/turnOnOff"}},"parameters":{"streetlightId":{"$ref":"#/components/parameters/streetlightId"}}},"lightTurnOn":{"address":"smartylighting/streetlights/1/0/action/{streetlightId}/turn/on","messages":{"turnOn":{"$ref":"#/components/messages/turnOnOff"}},"parameters":{"streetlightId":{"$ref":"#/components/parameters/streetlightId"}}},"lightingMeasured":{"address":"smartylighting/streetlights/1/0/event/{streetlightId}/lighting/measured","messages":{"lightMeasured":{"$ref":"#/components/messages/lightMeasured"}},"description":"The topic on which measured values may be produced and consumed.","parameters":{"streetlightId":{"$ref":"#/components/parameters/streetlightId"}}},"lightsDim":{"address":"smartylighting/streetlights/1/0/action/{streetlightId}/dim","messages":{"dimLight":{"$ref":"#/components/messages/dimLight"}},"parameters":{"streetlightId":{"$ref":"#/components/parameters/streetlightId"}}}},"operations":{"dimLight":{"action":"send","channel":{"$ref":"#/channels/lightsDim"},"traits":[{"$ref":"#/components/operationTraits/mqtt"}],"messages":[{"$ref":"#/channels/lightsDim/messages/dimLight"}]},"receiveLightMeasurement":{"action":"receive","channel":{"$ref":"#/channels/lightingMeasured"},"summary":"Inform about environmental lighting conditions of a particular streetlight.","traits":[{"$ref":"#/components/operationTraits/mqtt"}],"messages":[{"$ref":"#/channels/lightingMeasured/messages/lightMeasured"}]},"turnOff":{"action":"send","channel":{"$ref":"#/channels/lightTurnOff"},"traits":[{"$ref":"#/components/operationTraits/mqtt"}],"messages":[{"$ref":"#/channels/lightTurnOff/messages/turnOff"}]},"turnOn":{"action":"send","channel":{"$ref":"#/channels/lightTurnOn"},"traits":[{"$ref":"#/components/operationTraits/mqtt"}],"messages":[{"$ref":"#/channels/lightTurnOn/messages/turnOn"}]}},"components":{"schemas":{"dimLightPayload":{"type":"object","properties":{"percentage":{"type":"integer","maximum":100,"minimum":0,"description":"Percentage to which the light should be dimmed to."},"sentAt":{"$ref":"#/components/schemas/sentAt"}}},"lightMeasuredPayload":{"type":"object","properties":{"lumens":{"type":"integer","minimum":0,"description":"Light intensity measured in lumens."},"sentAt":{"$ref":"#/components/schemas/sentAt"}}},"sentAt":{"type":"string","description":"Date and time when the message was sent.","format":"date-time"},"turnOnOffPayload":{"type":"object","properties":{"command":{"type":"string","enum":["on","off"],"description":"Whether to turn on or off the light."},"sentAt":{"$ref":"#/components/schemas/sentAt"}}}},"messages":{"dimLight":{"payload":{"$ref":"#/components/schemas/dimLightPayload"},"name":"dimLight","title":"Dim light","summary":"Command a particular streetlight to dim the lights.","traits":[{"$ref":"#/components/messageTraits/commonHeaders"}]},"lightMeasured":{"payload":{"$ref":"#/components/schemas/lightMeasuredPayload"},"contentType":"application/json","name":"lightMeasured","title":"Light measured","summary":"Inform about environmental lighting conditions of a particular streetlight.","traits":[{"$ref":"#/components/messageTraits/commonHeaders"}]},"turnOnOff":{"payload":{"$ref":"#/components/schemas/turnOnOffPayload"},"name":"turnOnOff","title":"Turn on/off","summary":"Command a particular streetlight to turn the lights on or off.","traits":[{"$ref":"#/components/messageTraits/commonHeaders"}]}},"securitySchemes":{"apiKey":{"type":"apiKey","description":"Provide your API key as the user and leave the password empty.","in":"user"},"openIdConnectWellKnown":{"type":"openIdConnect","openIdConnectUrl":"https://authserver.example/.well-known"},"supportedOauthFlows":{"type":"oauth2","description":"Flows to support OAuth 2.0","flows":{"implicit":{"authorizationUrl":"https://authserver.example/auth","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}},"password":{"tokenUrl":"https://authserver.example/token","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}},"clientCredentials":{"tokenUrl":"https://authserver.example/token","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}},"authorizationCode":{"authorizationUrl":"https://authserver.example/auth","tokenUrl":"https://authserver.example/token","refreshUrl":"https://authserver.example/refresh","availableScopes":{"streetlights:dim":"Ability to dim the lights","streetlights:off":"Ability to switch lights off","streetlights:on":"Ability to switch lights on"}}}}},"parameters":{"streetlightId":{"description":"The ID of the streetlight."}},"operationTraits":{"mqtt":{"bindings":{"mqtt":{"qos":1}}}},"messageTraits":{"commonHeaders":{"headers":{"type":"object","properties":{"my-app-header":{"type":"integer","maximum":100,"minimum":0}}}}}}}