From 92e4aefb954be179e6358f704ee87f2df9226a74 Mon Sep 17 00:00:00 2001 From: Jonas Lagoni Date: Wed, 2 Aug 2023 11:09:08 +0200 Subject: [PATCH 1/2] feat: add amqp, mqtt and http bindings for v3 (#417) --- bindings/amqp/0.3.0/channel.json | 136 ++++++++++++++++++ bindings/amqp/0.3.0/message.json | 37 +++++ bindings/amqp/0.3.0/operation.json | 84 +++++++++++ bindings/http/0.2.0/message.json | 42 ++++++ bindings/http/0.2.0/operation.json | 82 +++++++++++ bindings/mqtt/0.2.0/message.json | 27 ++++ bindings/mqtt/0.2.0/operation.json | 37 +++++ bindings/mqtt/0.2.0/server.json | 71 +++++++++ definitions/3.0.0/channelBindingsObject.json | 8 +- definitions/3.0.0/messageBindingsObject.json | 24 ++-- .../3.0.0/operationBindingsObject.json | 24 ++-- definitions/3.0.0/serverBindingsObject.json | 8 +- test/docs/3.0.0/streetlights-all.json | 2 +- test/docs/3.0.0/streetlights-avro.json | 2 +- test/docs/3.0.0/streetlights-openapi.json | 2 +- 15 files changed, 551 insertions(+), 35 deletions(-) create mode 100644 bindings/amqp/0.3.0/channel.json create mode 100644 bindings/amqp/0.3.0/message.json create mode 100644 bindings/amqp/0.3.0/operation.json create mode 100644 bindings/http/0.2.0/message.json create mode 100644 bindings/http/0.2.0/operation.json create mode 100644 bindings/mqtt/0.2.0/message.json create mode 100644 bindings/mqtt/0.2.0/operation.json create mode 100644 bindings/mqtt/0.2.0/server.json diff --git a/bindings/amqp/0.3.0/channel.json b/bindings/amqp/0.3.0/channel.json new file mode 100644 index 00000000..383cd691 --- /dev/null +++ b/bindings/amqp/0.3.0/channel.json @@ -0,0 +1,136 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/amqp/0.3.0/channel.json", + "title": "AMQP channel bindings object", + "description": "This object contains information about the channel representation in AMQP.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "is": { + "type": "string", + "enum": ["queue", "routingKey"], + "description": "Defines what type of channel is it. Can be either 'queue' or 'routingKey' (default)." + }, + "exchange": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "description": "The name of the exchange. It MUST NOT exceed 255 characters long." + }, + "type": { + "type": "string", + "enum": ["topic", "direct", "fanout", "default", "headers"], + "description": "The type of the exchange. Can be either 'topic', 'direct', 'fanout', 'default' or 'headers'." + }, + "durable": { + "type": "boolean", + "description": "Whether the exchange should survive broker restarts or not." + }, + "autoDelete": { + "type": "boolean", + "description": "Whether the exchange should be deleted when the last queue is unbound from it." + }, + "vhost": { + "type": "string", + "default": "/", + "description": "The virtual host of the exchange. Defaults to '/'." + } + }, + "description": "When is=routingKey, this object defines the exchange properties." + }, + "queue": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "description": "The name of the queue. It MUST NOT exceed 255 characters long." + }, + "durable": { + "type": "boolean", + "description": "Whether the queue should survive broker restarts or not." + }, + "exclusive": { + "type": "boolean", + "description": "Whether the queue should be used only by one connection or not." + }, + "autoDelete": { + "type": "boolean", + "description": "Whether the queue should be deleted when the last consumer unsubscribes." + }, + "vhost": { + "type": "string", + "default": "/", + "description": "The virtual host of the queue. Defaults to '/'." + } + }, + "description": "When is=queue, this object defines the queue properties." + }, + "bindingVersion": { + "type": "string", + "enum": [ + "0.3.0" + ], + "description": "The version of this binding. If omitted, 'latest' MUST be assumed." + } + }, + "oneOf": [ + { + "properties": { + "is": { "const": "routingKey" } + }, + "required": [ + "exchange" + ], + "not": { + "required": [ + "queue" + ] + } + }, + { + "properties": { + "is": { "const": "queue" } + }, + "required": [ + "queue" + ], + "not": { + "required": [ + "exchange" + ] + } + } + ], + "examples": [ + { + "is": "routingKey", + "exchange": { + "name": "myExchange", + "type": "topic", + "durable": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.3.0" + }, + { + "is": "queue", + "queue": { + "name": "my-queue-name", + "durable": true, + "exclusive": true, + "autoDelete": false, + "vhost": "/" + }, + "bindingVersion": "0.3.0" + } + ] +} diff --git a/bindings/amqp/0.3.0/message.json b/bindings/amqp/0.3.0/message.json new file mode 100644 index 00000000..ba1c7352 --- /dev/null +++ b/bindings/amqp/0.3.0/message.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/amqp/0.3.0/message.json", + "title": "AMQP message bindings object", + "description": "This object contains information about the message representation in AMQP.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "contentEncoding": { + "type": "string", + "description": "A MIME encoding for the message content." + }, + "messageType": { + "type": "string", + "description": "Application-specific message type." + }, + "bindingVersion": { + "type": "string", + "enum": [ + "0.3.0" + ], + "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." + } + }, + "examples": [ + { + "contentEncoding": "gzip", + "messageType": "user.signup", + "bindingVersion": "0.3.0" + } + ] +} diff --git a/bindings/amqp/0.3.0/operation.json b/bindings/amqp/0.3.0/operation.json new file mode 100644 index 00000000..1c359113 --- /dev/null +++ b/bindings/amqp/0.3.0/operation.json @@ -0,0 +1,84 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/amqp/0.3.0/operation.json", + "title": "AMQP operation bindings object", + "description": "This object contains information about the operation representation in AMQP.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "expiration": { + "type": "integer", + "minimum": 0, + "description": "TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero." + }, + "userId": { + "type": "string", + "description": "Identifies the user who has sent the message." + }, + "cc": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The routing keys the message should be routed to at the time of publishing." + }, + "priority": { + "type": "integer", + "description": "A priority for the message." + }, + "deliveryMode": { + "type": "integer", + "enum": [1,2], + "description": "Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent)." + }, + "mandatory": { + "type": "boolean", + "description": "Whether the message is mandatory or not." + }, + "bcc": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Like cc but consumers will not receive this information." + }, + "timestamp": { + "type": "boolean", + "description": "Whether the message should include a timestamp or not." + }, + "ack": { + "type": "boolean", + "description": "Whether the consumer should ack the message or not." + }, + "bindingVersion": { + "type": "string", + "enum": [ + "0.3.0" + ], + "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." + } + }, + "examples": [ + { + "expiration": 100000, + "userId": "guest", + "cc": [ + "user.logs" + ], + "priority": 10, + "deliveryMode": 2, + "mandatory": false, + "bcc": [ + "external.audit" + ], + "timestamp": true, + "ack": false, + "bindingVersion": "0.3.0" + } + ] +} diff --git a/bindings/http/0.2.0/message.json b/bindings/http/0.2.0/message.json new file mode 100644 index 00000000..722a47db --- /dev/null +++ b/bindings/http/0.2.0/message.json @@ -0,0 +1,42 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/http/0.2.0/message.json", + "title": "HTTP message bindings object", + "description": "This object contains information about the message representation in HTTP.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "headers": { + "$ref": "http://asyncapi.com/definitions/3.0.0/schema.json", + "description": "\tA Schema object containing the definitions for HTTP-specific headers. This schema MUST be of type 'object' and have a 'properties' key." + }, + "bindingVersion": { + "type": "string", + "enum": [ + "0.2.0" + ], + "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." + } + }, + "examples": [ + { + "headers": { + "type": "object", + "properties": { + "Content-Type": { + "type": "string", + "enum": [ + "application/json" + ] + } + } + }, + "bindingVersion": "0.2.0" + } + ] +} diff --git a/bindings/http/0.2.0/operation.json b/bindings/http/0.2.0/operation.json new file mode 100644 index 00000000..dae731f2 --- /dev/null +++ b/bindings/http/0.2.0/operation.json @@ -0,0 +1,82 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/http/0.2.0/operation.json", + "title": "HTTP operation bindings object", + "description": "This object contains information about the operation representation in HTTP.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "method": { + "type": "string", + "enum": [ + "GET", + "PUT", + "POST", + "PATCH", + "DELETE", + "HEAD", + "OPTIONS", + "CONNECT", + "TRACE" + ], + "description": "When 'type' is 'request', this is the HTTP method, otherwise it MUST be ignored. Its value MUST be one of 'GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS', 'CONNECT', and 'TRACE'." + }, + "query": { + "$ref": "http://asyncapi.com/definitions/3.0.0/schema.json", + "description": "A Schema object containing the definitions for each query parameter. This schema MUST be of type 'object' and have a properties key." + }, + "bindingVersion": { + "type": "string", + "enum": [ + "0.2.0" + ], + "description": "The version of this binding. If omitted, 'latest' MUST be assumed." + } + }, + "examples": [ + { + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.2.0" + }, + { + "method": "GET", + "query": { + "type": "object", + "required": [ + "companyId" + ], + "properties": { + "companyId": { + "type": "number", + "minimum": 1, + "description": "The Id of the company." + } + }, + "additionalProperties": false + }, + "bindingVersion": "0.2.0" + } + ] +} + + + + diff --git a/bindings/mqtt/0.2.0/message.json b/bindings/mqtt/0.2.0/message.json new file mode 100644 index 00000000..e2d8f798 --- /dev/null +++ b/bindings/mqtt/0.2.0/message.json @@ -0,0 +1,27 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/mqtt/0.2.0/message.json", + "title": "MQTT message bindings object", + "description": "This object contains information about the message representation in MQTT.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "bindingVersion": { + "type": "string", + "enum": [ + "0.2.0" + ], + "description": "The version of this binding. If omitted, 'latest' MUST be assumed." + } + }, + "examples": [ + { + "bindingVersion": "0.2.0" + } + ] +} diff --git a/bindings/mqtt/0.2.0/operation.json b/bindings/mqtt/0.2.0/operation.json new file mode 100644 index 00000000..ec042529 --- /dev/null +++ b/bindings/mqtt/0.2.0/operation.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/mqtt/0.2.0/operation.json", + "title": "MQTT operation bindings object", + "description": "This object contains information about the operation representation in MQTT.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "qos": { + "type": "integer", + "description": "Defines the Quality of Service (QoS) levels for the message flow between client and server. Its value MUST be either 0 (At most once delivery), 1 (At least once delivery), or 2 (Exactly once delivery)." + }, + "retain": { + "type": "boolean", + "description": "Whether the broker should retain the message or not." + }, + "bindingVersion": { + "type": "string", + "enum": [ + "0.2.0" + ], + "description": "The version of this binding. If omitted, 'latest' MUST be assumed." + } + }, + "examples": [ + { + "qos": 2, + "retain": true, + "bindingVersion": "0.2.0" + } + ] +} diff --git a/bindings/mqtt/0.2.0/server.json b/bindings/mqtt/0.2.0/server.json new file mode 100644 index 00000000..d45fdb8e --- /dev/null +++ b/bindings/mqtt/0.2.0/server.json @@ -0,0 +1,71 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://asyncapi.com/bindings/mqtt/0.2.0/server.json", + "title": "MQTT server bindings object", + "description": "This object contains information about the server representation in MQTT.", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^x-[\\w\\d\\.\\x2d_]+$": { + "$ref": "http://asyncapi.com/definitions/3.0.0/specificationExtension.json" + } + }, + "properties": { + "clientId": { + "type": "string", + "description": "The client identifier." + }, + "cleanSession": { + "type": "boolean", + "description": "Whether to create a persistent connection or not. When 'false', the connection will be persistent." + }, + "lastWill": { + "type": "object", + "description": "Last Will and Testament configuration.", + "properties": { + "topic": { + "type": "string", + "description": "The topic where the Last Will and Testament message will be sent." + }, + "qos": { + "type": "integer", + "enum": [0,1,2], + "description": "Defines how hard the broker/client will try to ensure that the Last Will and Testament message is received. Its value MUST be either 0, 1 or 2." + }, + "message": { + "type": "string", + "description": "Last Will message." + }, + "retain": { + "type": "boolean", + "description": "Whether the broker should retain the Last Will and Testament message or not." + } + } + }, + "keepAlive": { + "type": "integer", + "description": "Interval in seconds of the longest period of time the broker and the client can endure without sending a message." + }, + "bindingVersion": { + "type": "string", + "enum": [ + "0.2.0" + ], + "description": "The version of this binding. If omitted, 'latest' MUST be assumed." + } + }, + "examples": [ + { + "clientId": "guest", + "cleanSession": true, + "lastWill": { + "topic": "/last-wills", + "qos": 2, + "message": "Guest gone offline.", + "retain": false + }, + "keepAlive": 60, + "bindingVersion": "0.2.0" + } + ] +} diff --git a/definitions/3.0.0/channelBindingsObject.json b/definitions/3.0.0/channelBindingsObject.json index c5941fe5..050f46eb 100644 --- a/definitions/3.0.0/channelBindingsObject.json +++ b/definitions/3.0.0/channelBindingsObject.json @@ -46,7 +46,7 @@ "amqp": { "properties": { "bindingVersion": { - "enum": ["0.2.0"] + "enum": ["0.3.0"] } }, "allOf": [ @@ -60,7 +60,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/channel.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/channel.json" } }, { @@ -68,12 +68,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/channel.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/channel.json" } } ] diff --git a/definitions/3.0.0/messageBindingsObject.json b/definitions/3.0.0/messageBindingsObject.json index e8813db6..128ddb47 100644 --- a/definitions/3.0.0/messageBindingsObject.json +++ b/definitions/3.0.0/messageBindingsObject.json @@ -10,7 +10,7 @@ "http": { "properties": { "bindingVersion": { - "enum": ["0.1.0"] + "enum": ["0.2.0"] } }, "allOf": [ @@ -24,7 +24,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/message.json" } }, { @@ -32,12 +32,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/message.json" } } ] @@ -46,7 +46,7 @@ "amqp": { "properties": { "bindingVersion": { - "enum": ["0.2.0"] + "enum": ["0.3.0"] } }, "allOf": [ @@ -60,7 +60,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/message.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/message.json" } }, { @@ -68,12 +68,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/message.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/message.json" } } ] @@ -82,7 +82,7 @@ "mqtt": { "properties": { "bindingVersion": { - "enum": ["0.1.0"] + "enum": ["0.2.0"] } }, "allOf": [ @@ -96,7 +96,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/message.json" } }, { @@ -104,12 +104,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/message.json" } } ] diff --git a/definitions/3.0.0/operationBindingsObject.json b/definitions/3.0.0/operationBindingsObject.json index 19157d0d..8f629437 100644 --- a/definitions/3.0.0/operationBindingsObject.json +++ b/definitions/3.0.0/operationBindingsObject.json @@ -10,7 +10,7 @@ "http": { "properties": { "bindingVersion": { - "enum": ["0.1.0"] + "enum": ["0.2.0"] } }, "allOf": [ @@ -24,7 +24,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/operation.json" } }, { @@ -32,12 +32,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/operation.json" } } ] @@ -46,7 +46,7 @@ "amqp": { "properties": { "bindingVersion": { - "enum": ["0.2.0"] + "enum": ["0.3.0"] } }, "allOf": [ @@ -60,7 +60,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/operation.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/operation.json" } }, { @@ -68,12 +68,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/operation.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/operation.json" } } ] @@ -82,7 +82,7 @@ "mqtt": { "properties": { "bindingVersion": { - "enum": ["0.1.0"] + "enum": ["0.2.0"] } }, "allOf": [ @@ -96,7 +96,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/operation.json" } }, { @@ -104,12 +104,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/operation.json" } } ] diff --git a/definitions/3.0.0/serverBindingsObject.json b/definitions/3.0.0/serverBindingsObject.json index c92b9329..5782a1c5 100644 --- a/definitions/3.0.0/serverBindingsObject.json +++ b/definitions/3.0.0/serverBindingsObject.json @@ -14,7 +14,7 @@ "mqtt": { "properties": { "bindingVersion": { - "enum": ["0.1.0"] + "enum": ["0.2.0"] } }, "allOf": [ @@ -28,7 +28,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/server.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/server.json" } }, { @@ -36,12 +36,12 @@ "required": [ "bindingVersion" ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/server.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/server.json" } } ] diff --git a/test/docs/3.0.0/streetlights-all.json b/test/docs/3.0.0/streetlights-all.json index c3a24f83..15b7cdc6 100644 --- a/test/docs/3.0.0/streetlights-all.json +++ b/test/docs/3.0.0/streetlights-all.json @@ -37,7 +37,7 @@ }, "bindings": { "mqtt": { - "bindingVersion": "0.1.0", + "bindingVersion": "0.2.0", "qos": 1 }, "kafka": { diff --git a/test/docs/3.0.0/streetlights-avro.json b/test/docs/3.0.0/streetlights-avro.json index acbeea2c..34eed135 100644 --- a/test/docs/3.0.0/streetlights-avro.json +++ b/test/docs/3.0.0/streetlights-avro.json @@ -23,7 +23,7 @@ }, "bindings": { "mqtt": { - "bindingVersion": "0.1.0", + "bindingVersion": "0.2.0", "qos": 1 }, "kafka": { diff --git a/test/docs/3.0.0/streetlights-openapi.json b/test/docs/3.0.0/streetlights-openapi.json index 84d64449..08f25ae4 100644 --- a/test/docs/3.0.0/streetlights-openapi.json +++ b/test/docs/3.0.0/streetlights-openapi.json @@ -23,7 +23,7 @@ }, "bindings": { "mqtt": { - "bindingVersion": "0.1.0", + "bindingVersion": "0.2.0", "qos": 1 }, "kafka": { From 3a5b6ebdf256382f5371d70472b72625150a72c0 Mon Sep 17 00:00:00 2001 From: asyncapi-bot Date: Wed, 2 Aug 2023 11:12:27 +0200 Subject: [PATCH 2/2] chore(release): v6.0.0-next-major-spec.6 (#420) --- package-lock.json | 2 +- package.json | 2 +- schemas/3.0.0-without-$id.json | 158 +++++++++++------------------- schemas/3.0.0.json | 174 +++++++++++++-------------------- 4 files changed, 126 insertions(+), 210 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc988d66..c31a091f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@asyncapi/specs", - "version": "6.0.0-next-major-spec.5", + "version": "6.0.0-next-major-spec.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 73868fe4..a96bcd3f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@asyncapi/specs", - "version": "6.0.0-next-major-spec.5", + "version": "6.0.0-next-major-spec.6", "description": "AsyncAPI schema versions", "main": "index.js", "types": "index.d.ts", diff --git a/schemas/3.0.0-without-$id.json b/schemas/3.0.0-without-$id.json index 0b8387f8..a2654ac5 100644 --- a/schemas/3.0.0-without-$id.json +++ b/schemas/3.0.0-without-$id.json @@ -926,7 +926,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -941,7 +941,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-mqtt-0.1.0-server" + "$ref": "#/definitions/bindings-mqtt-0.2.0-server" } }, { @@ -951,12 +951,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "#/definitions/bindings-mqtt-0.1.0-server" + "$ref": "#/definitions/bindings-mqtt-0.2.0-server" } } ] @@ -1198,7 +1198,7 @@ } } }, - "bindings-mqtt-0.1.0-server": { + "bindings-mqtt-0.2.0-server": { "title": "MQTT server bindings object", "description": "This object contains information about the server representation in MQTT.", "type": "object", @@ -1251,7 +1251,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } @@ -1267,7 +1267,7 @@ "retain": false }, "keepAlive": 60, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, @@ -2995,7 +2995,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -3010,7 +3010,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-http-0.1.0-message" + "$ref": "#/definitions/bindings-http-0.2.0-message" } }, { @@ -3020,12 +3020,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "#/definitions/bindings-http-0.1.0-message" + "$ref": "#/definitions/bindings-http-0.2.0-message" } } ] @@ -3035,7 +3035,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.2.0" + "0.3.0" ] } }, @@ -3050,7 +3050,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-amqp-0.2.0-message" + "$ref": "#/definitions/bindings-amqp-0.3.0-message" } }, { @@ -3060,12 +3060,12 @@ ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "#/definitions/bindings-amqp-0.2.0-message" + "$ref": "#/definitions/bindings-amqp-0.3.0-message" } } ] @@ -3075,7 +3075,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -3090,7 +3090,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-mqtt-0.1.0-message" + "$ref": "#/definitions/bindings-mqtt-0.2.0-message" } }, { @@ -3100,12 +3100,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "#/definitions/bindings-mqtt-0.1.0-message" + "$ref": "#/definitions/bindings-mqtt-0.2.0-message" } } ] @@ -3308,7 +3308,7 @@ } } }, - "bindings-http-0.1.0-message": { + "bindings-http-0.2.0-message": { "title": "HTTP message bindings object", "description": "This object contains information about the message representation in HTTP.", "type": "object", @@ -3326,7 +3326,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." } @@ -3344,11 +3344,11 @@ } } }, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, - "bindings-amqp-0.2.0-message": { + "bindings-amqp-0.3.0-message": { "title": "AMQP message bindings object", "description": "This object contains information about the message representation in AMQP.", "type": "object", @@ -3370,7 +3370,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.2.0" + "0.3.0" ], "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." } @@ -3379,11 +3379,11 @@ { "contentEncoding": "gzip", "messageType": "user.signup", - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" } ] }, - "bindings-mqtt-0.1.0-message": { + "bindings-mqtt-0.2.0-message": { "title": "MQTT message bindings object", "description": "This object contains information about the message representation in MQTT.", "type": "object", @@ -3397,14 +3397,14 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } }, "examples": [ { - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, @@ -3938,7 +3938,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.2.0" + "0.3.0" ] } }, @@ -3953,7 +3953,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-amqp-0.2.0-channel" + "$ref": "#/definitions/bindings-amqp-0.3.0-channel" } }, { @@ -3963,12 +3963,12 @@ ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "#/definitions/bindings-amqp-0.2.0-channel" + "$ref": "#/definitions/bindings-amqp-0.3.0-channel" } } ] @@ -4238,7 +4238,7 @@ } ] }, - "bindings-amqp-0.2.0-channel": { + "bindings-amqp-0.3.0-channel": { "title": "AMQP channel bindings object", "description": "This object contains information about the channel representation in AMQP.", "type": "object", @@ -4323,7 +4323,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.2.0" + "0.3.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } @@ -4370,7 +4370,7 @@ "autoDelete": false, "vhost": "/" }, - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" }, { "is": "queue", @@ -4381,7 +4381,7 @@ "autoDelete": false, "vhost": "/" }, - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" } ] }, @@ -5063,7 +5063,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -5078,7 +5078,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-http-0.1.0-operation" + "$ref": "#/definitions/bindings-http-0.2.0-operation" } }, { @@ -5088,12 +5088,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "#/definitions/bindings-http-0.1.0-operation" + "$ref": "#/definitions/bindings-http-0.2.0-operation" } } ] @@ -5103,7 +5103,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.2.0" + "0.3.0" ] } }, @@ -5118,7 +5118,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-amqp-0.2.0-operation" + "$ref": "#/definitions/bindings-amqp-0.3.0-operation" } }, { @@ -5128,12 +5128,12 @@ ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "#/definitions/bindings-amqp-0.2.0-operation" + "$ref": "#/definitions/bindings-amqp-0.3.0-operation" } } ] @@ -5143,7 +5143,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -5158,7 +5158,7 @@ } }, "then": { - "$ref": "#/definitions/bindings-mqtt-0.1.0-operation" + "$ref": "#/definitions/bindings-mqtt-0.2.0-operation" } }, { @@ -5168,12 +5168,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "#/definitions/bindings-mqtt-0.1.0-operation" + "$ref": "#/definitions/bindings-mqtt-0.2.0-operation" } } ] @@ -5354,7 +5354,7 @@ "googlepubsub": {} } }, - "bindings-http-0.1.0-operation": { + "bindings-http-0.2.0-operation": { "title": "HTTP operation bindings object", "description": "This object contains information about the operation representation in HTTP.", "type": "object", @@ -5365,14 +5365,6 @@ } }, "properties": { - "type": { - "type": "string", - "enum": [ - "request", - "response" - ], - "description": "Required. Type of operation. Its value MUST be either 'request' or 'response'." - }, "method": { "type": "string", "enum": [ @@ -5395,41 +5387,13 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } }, - "required": [ - "type" - ], - "oneOf": [ - { - "properties": { - "type": { - "const": "request" - } - }, - "required": [ - "method" - ] - }, - { - "properties": { - "is": { - "const": "response" - } - }, - "not": { - "required": [ - "method" - ] - } - } - ], "examples": [ { - "type": "response", "query": { "type": "object", "required": [ @@ -5444,10 +5408,9 @@ }, "additionalProperties": false }, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" }, { - "type": "request", "method": "GET", "query": { "type": "object", @@ -5463,11 +5426,11 @@ }, "additionalProperties": false }, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, - "bindings-amqp-0.2.0-operation": { + "bindings-amqp-0.3.0-operation": { "title": "AMQP operation bindings object", "description": "This object contains information about the operation representation in AMQP.", "type": "object", @@ -5517,10 +5480,6 @@ }, "description": "Like cc but consumers will not receive this information." }, - "replyTo": { - "type": "string", - "description": "Name of the queue where the consumer should send the response." - }, "timestamp": { "type": "boolean", "description": "Whether the message should include a timestamp or not." @@ -5532,7 +5491,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.2.0" + "0.3.0" ], "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." } @@ -5550,14 +5509,13 @@ "bcc": [ "external.audit" ], - "replyTo": "user.signedup", "timestamp": true, "ack": false, - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" } ] }, - "bindings-mqtt-0.1.0-operation": { + "bindings-mqtt-0.2.0-operation": { "title": "MQTT operation bindings object", "description": "This object contains information about the operation representation in MQTT.", "type": "object", @@ -5579,7 +5537,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } @@ -5588,7 +5546,7 @@ { "qos": 2, "retain": true, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, diff --git a/schemas/3.0.0.json b/schemas/3.0.0.json index a9e52882..1c28feb0 100644 --- a/schemas/3.0.0.json +++ b/schemas/3.0.0.json @@ -959,7 +959,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -974,7 +974,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/server.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/server.json" } }, { @@ -984,12 +984,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/server.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/server.json" } } ] @@ -1231,8 +1231,8 @@ } } }, - "http://asyncapi.com/bindings/mqtt/0.1.0/server.json": { - "$id": "http://asyncapi.com/bindings/mqtt/0.1.0/server.json", + "http://asyncapi.com/bindings/mqtt/0.2.0/server.json": { + "$id": "http://asyncapi.com/bindings/mqtt/0.2.0/server.json", "title": "MQTT server bindings object", "description": "This object contains information about the server representation in MQTT.", "type": "object", @@ -1285,7 +1285,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } @@ -1301,7 +1301,7 @@ "retain": false }, "keepAlive": 60, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, @@ -3048,7 +3048,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -3063,7 +3063,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/message.json" } }, { @@ -3073,12 +3073,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/message.json" } } ] @@ -3088,7 +3088,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.2.0" + "0.3.0" ] } }, @@ -3103,7 +3103,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/message.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/message.json" } }, { @@ -3113,12 +3113,12 @@ ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/message.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/message.json" } } ] @@ -3128,7 +3128,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -3143,7 +3143,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/message.json" } }, { @@ -3153,12 +3153,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/message.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/message.json" } } ] @@ -3361,8 +3361,8 @@ } } }, - "http://asyncapi.com/bindings/http/0.1.0/message.json": { - "$id": "http://asyncapi.com/bindings/http/0.1.0/message.json", + "http://asyncapi.com/bindings/http/0.2.0/message.json": { + "$id": "http://asyncapi.com/bindings/http/0.2.0/message.json", "title": "HTTP message bindings object", "description": "This object contains information about the message representation in HTTP.", "type": "object", @@ -3380,7 +3380,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." } @@ -3398,12 +3398,12 @@ } } }, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, - "http://asyncapi.com/bindings/amqp/0.2.0/message.json": { - "$id": "http://asyncapi.com/bindings/amqp/0.2.0/message.json", + "http://asyncapi.com/bindings/amqp/0.3.0/message.json": { + "$id": "http://asyncapi.com/bindings/amqp/0.3.0/message.json", "title": "AMQP message bindings object", "description": "This object contains information about the message representation in AMQP.", "type": "object", @@ -3425,7 +3425,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.2.0" + "0.3.0" ], "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." } @@ -3434,12 +3434,12 @@ { "contentEncoding": "gzip", "messageType": "user.signup", - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" } ] }, - "http://asyncapi.com/bindings/mqtt/0.1.0/message.json": { - "$id": "http://asyncapi.com/bindings/mqtt/0.1.0/message.json", + "http://asyncapi.com/bindings/mqtt/0.2.0/message.json": { + "$id": "http://asyncapi.com/bindings/mqtt/0.2.0/message.json", "title": "MQTT message bindings object", "description": "This object contains information about the message representation in MQTT.", "type": "object", @@ -3453,14 +3453,14 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } }, "examples": [ { - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, @@ -4004,7 +4004,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.2.0" + "0.3.0" ] } }, @@ -4019,7 +4019,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/channel.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/channel.json" } }, { @@ -4029,12 +4029,12 @@ ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/channel.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/channel.json" } } ] @@ -4305,8 +4305,8 @@ } ] }, - "http://asyncapi.com/bindings/amqp/0.2.0/channel.json": { - "$id": "http://asyncapi.com/bindings/amqp/0.2.0/channel.json", + "http://asyncapi.com/bindings/amqp/0.3.0/channel.json": { + "$id": "http://asyncapi.com/bindings/amqp/0.3.0/channel.json", "title": "AMQP channel bindings object", "description": "This object contains information about the channel representation in AMQP.", "type": "object", @@ -4391,7 +4391,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.2.0" + "0.3.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } @@ -4438,7 +4438,7 @@ "autoDelete": false, "vhost": "/" }, - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" }, { "is": "queue", @@ -4449,7 +4449,7 @@ "autoDelete": false, "vhost": "/" }, - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" } ] }, @@ -5143,7 +5143,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -5158,7 +5158,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/operation.json" } }, { @@ -5168,12 +5168,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/http/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/http/0.2.0/operation.json" } } ] @@ -5183,7 +5183,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.2.0" + "0.3.0" ] } }, @@ -5198,7 +5198,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/operation.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/operation.json" } }, { @@ -5208,12 +5208,12 @@ ], "properties": { "bindingVersion": { - "const": "0.2.0" + "const": "0.3.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/amqp/0.2.0/operation.json" + "$ref": "http://asyncapi.com/bindings/amqp/0.3.0/operation.json" } } ] @@ -5223,7 +5223,7 @@ "properties": { "bindingVersion": { "enum": [ - "0.1.0" + "0.2.0" ] } }, @@ -5238,7 +5238,7 @@ } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/operation.json" } }, { @@ -5248,12 +5248,12 @@ ], "properties": { "bindingVersion": { - "const": "0.1.0" + "const": "0.2.0" } } }, "then": { - "$ref": "http://asyncapi.com/bindings/mqtt/0.1.0/operation.json" + "$ref": "http://asyncapi.com/bindings/mqtt/0.2.0/operation.json" } } ] @@ -5434,8 +5434,8 @@ "googlepubsub": {} } }, - "http://asyncapi.com/bindings/http/0.1.0/operation.json": { - "$id": "http://asyncapi.com/bindings/http/0.1.0/operation.json", + "http://asyncapi.com/bindings/http/0.2.0/operation.json": { + "$id": "http://asyncapi.com/bindings/http/0.2.0/operation.json", "title": "HTTP operation bindings object", "description": "This object contains information about the operation representation in HTTP.", "type": "object", @@ -5446,14 +5446,6 @@ } }, "properties": { - "type": { - "type": "string", - "enum": [ - "request", - "response" - ], - "description": "Required. Type of operation. Its value MUST be either 'request' or 'response'." - }, "method": { "type": "string", "enum": [ @@ -5476,41 +5468,13 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } }, - "required": [ - "type" - ], - "oneOf": [ - { - "properties": { - "type": { - "const": "request" - } - }, - "required": [ - "method" - ] - }, - { - "properties": { - "is": { - "const": "response" - } - }, - "not": { - "required": [ - "method" - ] - } - } - ], "examples": [ { - "type": "response", "query": { "type": "object", "required": [ @@ -5525,10 +5489,9 @@ }, "additionalProperties": false }, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" }, { - "type": "request", "method": "GET", "query": { "type": "object", @@ -5544,12 +5507,12 @@ }, "additionalProperties": false }, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] }, - "http://asyncapi.com/bindings/amqp/0.2.0/operation.json": { - "$id": "http://asyncapi.com/bindings/amqp/0.2.0/operation.json", + "http://asyncapi.com/bindings/amqp/0.3.0/operation.json": { + "$id": "http://asyncapi.com/bindings/amqp/0.3.0/operation.json", "title": "AMQP operation bindings object", "description": "This object contains information about the operation representation in AMQP.", "type": "object", @@ -5599,10 +5562,6 @@ }, "description": "Like cc but consumers will not receive this information." }, - "replyTo": { - "type": "string", - "description": "Name of the queue where the consumer should send the response." - }, "timestamp": { "type": "boolean", "description": "Whether the message should include a timestamp or not." @@ -5614,7 +5573,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.2.0" + "0.3.0" ], "description": "The version of this binding. If omitted, \"latest\" MUST be assumed." } @@ -5632,15 +5591,14 @@ "bcc": [ "external.audit" ], - "replyTo": "user.signedup", "timestamp": true, "ack": false, - "bindingVersion": "0.2.0" + "bindingVersion": "0.3.0" } ] }, - "http://asyncapi.com/bindings/mqtt/0.1.0/operation.json": { - "$id": "http://asyncapi.com/bindings/mqtt/0.1.0/operation.json", + "http://asyncapi.com/bindings/mqtt/0.2.0/operation.json": { + "$id": "http://asyncapi.com/bindings/mqtt/0.2.0/operation.json", "title": "MQTT operation bindings object", "description": "This object contains information about the operation representation in MQTT.", "type": "object", @@ -5662,7 +5620,7 @@ "bindingVersion": { "type": "string", "enum": [ - "0.1.0" + "0.2.0" ], "description": "The version of this binding. If omitted, 'latest' MUST be assumed." } @@ -5671,7 +5629,7 @@ { "qos": 2, "retain": true, - "bindingVersion": "0.1.0" + "bindingVersion": "0.2.0" } ] },